File: list_org_self_hosted_runners.rs

package info (click to toggle)
rust-octocrab 0.43.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,532 kB
  • sloc: makefile: 2
file content (36 lines) | stat: -rw-r--r-- 1,128 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use octocrab::Octocrab;

#[tokio::main]
async fn main() -> octocrab::Result<()> {
    // Note: this token must have the `admin:org` scope. An alternative use case
    // may be to authenticate as a GitHub App. See github_app_authentication.rs
    // for that.
    let token = std::env::var("GITHUB_TOKEN").expect("GITHUB_TOKEN env variable is required");

    let octocrab = Octocrab::builder().personal_token(token).build()?;

    let runners = octocrab
        .actions()
        .list_org_self_hosted_runners("my-org")
        .per_page(100)
        .send()
        .await?;

    for runner in runners {
        println!("ID {}:", runner.id);
        println!("    Name:\t{}", runner.name);
        println!("    OS:\t\t{}", runner.os);
        println!("    Status:\t{}", runner.status);
        println!("    Busy:\t{}", runner.busy);
        print!("    Labels:\t[");
        for (index, label) in runner.labels.iter().enumerate() {
            print!("\"{}\"", label.name);
            if index != runner.labels.len() - 1 {
                print!(", ");
            }
        }
        println!("]");
    }

    Ok(())
}