Access issues on a remote Jira instance.
The jira_query
crate is a Rust library that can query a Jira instance using its REST API. It returns a strongly typed representation of the requested issues.
This library provides no functionality to create or modify issues. The access is read-only.
Without logging in, search for a single ticket and check for its priority:
use tokio;
use jira_query::JiraInstance;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let jira = JiraInstance::at("https://issues.redhat.com".to_string())?;
let issue = jira.issue("CS-1113").await?;
assert_eq!(issue.fields.priority.name, "Normal");
Ok(())
}
Use an API key to log into Jira. Search for all CentOS Stream tickets that are of the Blocker priority. Check that there is more than one ticket:
use tokio;
use jira_query::{Auth, JiraInstance, Pagination};
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let jira = JiraInstance::at("https://bugzilla.redhat.com".to_string())?
.authenticate(Auth::ApiKey("My API Key".to_string()))
.paginate(Pagination::ChunkSize(32));
let query = r#"project="CentOS Stream" AND priority=Blocker"#;
let issues = jira.search(query).await?;
assert!(issues.len() > 1);
Ok(())
}
bugzilla_query
, a similar interface to Bugzilla