bugzilla_query

Crates.iobugzilla_query
lib.rsbugzilla_query
version1.1.0
sourcesrc
created_at2022-06-06 19:27:21.483131
updated_at2023-11-13 19:47:54.632504
descriptionAccess bugs on a remote Bugzilla instance.
homepagehttps://github.com/msuchane/bugzilla_query
repositoryhttps://github.com/msuchane/bugzilla_query
max_upload_size
id600927
size39,291
(mmuehlfeldRH)

documentation

https://docs.rs/bugzilla_query/

README

bugzilla_query

Crates.io Apache-2.0 license Documentation

CI tests Dependency status

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

Commit count: 93

cargo fmt