| Crates.io | ghrs |
| lib.rs | ghrs |
| version | 0.1.3 |
| created_at | 2021-01-31 14:50:58.965628+00 |
| updated_at | 2021-02-16 13:09:57.561848+00 |
| description | A simple client for GitHub v3 API |
| homepage | |
| repository | https://github.com/giraffate/ghrs |
| max_upload_size | |
| id | 348895 |
| size | 81,000 |
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.
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(())
}
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()?;