20 releases (4 stable)
1.1.0 | Nov 13, 2023 |
---|---|
1.0.2 | Jan 25, 2023 |
0.9.1 | Nov 29, 2022 |
0.8.1 | Jul 21, 2022 |
#523 in Web programming
43 downloads per month
Used in acorns
21KB
298 lines
bugzilla_query
Access bugs on a remote Bugzilla instance.
Description
The bugzilla_query
crate is a Rust library that can query a Bugzilla instance using its REST API. It returns a strongly typed representation of the requested bugs.
This library provides no functionality to create or modify bugs. The access is read-only.
Usage
Basic anonymous query
Without logging in, search for a single bug and check for its assignee:
use tokio;
use bugzilla_query::BzInstance;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let bugzilla = BzInstance::at("https://bugzilla.redhat.com".to_string())?;
let bug = bugzilla.bug("1906883").await?;
assert_eq!(bug.assigned_to, "Marek Suchánek");
Ok(())
}
Advanced query
Use an API key to log into Bugzilla. Search for all bugs on Fedora 36 that belong to the rust
component. Check that there is more than one bug:
use tokio;
use bugzilla_query::{Auth, BzInstance, Pagination};
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let bugzilla = BzInstance::at("https://bugzilla.redhat.com".to_string())?
.authenticate(Auth::ApiKey("My API Key".to_string()))
.paginate(Pagination::Unlimited);
let query = "component=rust&product=Fedora&version=36";
let bugs = bugzilla.search(query).await?;
assert!(bugs.len() > 1);
Ok(())
}
See also
jira_query
, a similar interface to Jira
Dependencies
~4–20MB
~244K SLoC