A rust translation of @actions/github.
Find the documentation here.
get_input
set_output
get_context
: Returns a hydrated context object- logging
debug
info
notice
(with annotations)warn
(with annotations)error
(with annotations)is_debug
cargo add actions-github
// Obtain the context from the action worker
use actions_github::context::get_context;
use actions_github::core::set_output;
use actions_github::logger;
logger::info("Obtaining context");
let ctx = get_context().unwrap();
logger::debug_log(format!("Event is {}", ctx.event_name).as_str());
// Produce an output
set_output("is_pr", (ctx.event_name == "pull_request").to_string());
Works well with octocrab
:
use actions_github::core::{get_input, set_output};
use actions_github::context::get_context;
use octocrab::Octocrab;
let token = get_input("GITHUB_TOKEN").unwrap();
let crab = Octocrab::builder().personal_token(token).build();
octocrab::initialise(crab.unwrap());
let context = get_context();
let org = context.repo.owner;
let repo = context.repo.repo;
let pulls = octocrab::instance().pulls(owner, repo).list()
// Output how many PRs are in the repository
set_output("PRs", pulls.len().to_string());