A rust translation of @actions/github.
Find the documentation here.
get_inputset_outputget_context: Returns a hydrated context object- logging
debuginfonotice(with annotations)warn(with annotations)error(with annotations)is_debug
cargo add actions-github
// Obtain the context from the action workeruse 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 outputset_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());