ghrs

Crates.ioghrs
lib.rsghrs
version0.1.3
sourcesrc
created_at2021-01-31 14:50:58.965628
updated_at2021-02-16 13:09:57.561848
descriptionA simple client for GitHub v3 API
homepage
repositoryhttps://github.com/giraffate/ghrs
max_upload_size
id348895
size81,000
Takayuki Nakata (giraffate)

documentation

https://docs.rs/ghrs

README

ghrs

ghrs is a simple client for GitHub v3 API. This has a simple interface and blocking I/O, it avoids complexity unlike Async I/O, so it's so easy to use. ghrs is inspired by Octocrab.

The following modules are available now.

Usage

List pull requests.

fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
    let client = Client::new();
    let mut current_page = client
        .pulls("owner", "repo")
        .list()
        .per_page(100)
        .page(1)
        .send()?;

    // You get pull requests.
    let mut pull_requests = current_page.take_items();

    // If you want to get next pages, see here.
    while let Some(next_page) = current_page.get_next_page() {
        current_page = next_page;
        pull_requests.extend(current_page.take_items());
    }

    Ok(())
}

GitHub Enterprise

If you use ghrs for GitHub Enterprise, set base_url.

// GET `https://github.your_company.com/api/v3/repos/owner/repo/issues`
let client = ghrs::Client::new();
let mut current_page = client
    .base_url("https://github.your_company.com/api/v3")
    .token("your_token")
    .issues("owner", "repo")
    .list()
    .send()?;

Contributing

License

MIT license

Commit count: 34

cargo fmt