Crate gouqi

Crate gouqi 

Source
Expand description

Rust interface for Jira API.

This crate provides both synchronous and asynchronous clients for interacting with Jira’s REST API.

§Features

  • Synchronous API (default)
  • Asynchronous API (with the async feature)
  • Support for multiple authentication methods:
    • Anonymous
    • Basic authentication (username/password or Personal Access Token)
    • Bearer token authentication
    • Cookie-based authentication (JSESSIONID)

§Examples

§Synchronous usage

use gouqi::{Credentials, Jira};

let credentials = Credentials::Basic("username".to_string(), "password".to_string());
let jira = Jira::new("https://jira.example.com", credentials).unwrap();

// Get information about the current session
let session = jira.session().unwrap();
println!("Logged in as: {}", session.name);

// Search for issues
let results = jira.search().list("project = DEMO", &Default::default()).unwrap();
println!("Found {} issues", results.total);

§Asynchronous usage (with the async feature)

use gouqi::{Credentials, r#async::Jira};

let credentials = Credentials::Basic("username".to_string(), "password".to_string());
let jira = Jira::new("https://jira.example.com", credentials)?;

// Get information about the current session
let session = jira.session().await?;
println!("Logged in as: {}", session.name);

// Search for issues
let results = jira.search().list("project = DEMO", &Default::default()).await?;
println!("Found {} issues", results.total);

Re-exports§

pub use sync::Jira;
pub use crate::attachments::*;
pub use crate::cache::*;
pub use crate::components::*;
pub use crate::config::*;
pub use crate::core::*;
pub use crate::groups::*;
pub use crate::issue_links::*;
pub use crate::issues::*;
pub use crate::metrics::*;
pub use crate::observability::*;
pub use crate::projects::*;
pub use crate::relationships::*;
pub use crate::transitions::*;
pub use crate::users::*;
pub use crate::boards::*;
pub use crate::mcp::*;
pub use crate::sprints::*;
pub use crate::versions::*;

Modules§

async
Asynchronous API for interacting with Jira.
attachments
Interfaces for accessing and managing attachments
boards
Interfaces for accessing and managing boards
cache
Response caching system
components
Interfaces for accessing and managing components
config
Configuration management for gouqi Jira client
core
Core shared functionality between sync and async implementations
env
Environment variable configuration loading
groups
Interfaces for accessing and managing groups
issue_links
Issue Links API
issues
Interfaces for accessing and managing issues
mcp
MCP (Model Context Protocol) utilities for integrating Jira entities as MCP resources.
metrics
Metrics collection and monitoring
oauth
OAuth 1.0a authentication implementation for Jira Server/Data Center
observability
Comprehensive observability infrastructure
projects
Interfaces for accessing and managing projects
relationships
Issue relationship management and graph structures
resolution
Interfaces for accessing and managing resolutions
sprints
Interfaces for accessing and managing sprints
sync
transitions
Interfaces for accessing and managing transition
users
Interfaces for accessing and managing users
versions

Structs§

AdfDocument
ADF document root structure for V3 API
AdfMark
ADF text formatting marks (bold, italic, etc.)
AdfNode
ADF block node - can be paragraph, heading, list, etc.
AdfText
Atlassian Document Format (ADF) structures for V3 API comments See: https://developer.atlassian.com/cloud/jira/platform/apis/document/structure/ ADF text node - inline content with optional formatting
AsyncSearch
Async version of the Search interface
Attachment
Changelog
Comment
Comments
CreateIssueLinkInput
Request to create an issue link
CreateProject
Errors
Represents an general jira error response
FieldSchema
Custom field schema definition for Jira fields
History
HistoryItem
Issue
Represents a single jira issue
IssueKey
Simple issue key reference for creating links
IssueLink
Represents link relationship between issues
IssueLinkType
Simple issue link type reference for creating links
IssueType
JiraBuilder
Enhanced builder for Jira client configuration
LinkComment
Optional comment when creating an issue link
LinkType
Represents type of issue relation
Priority
Project
ProjectCategory
ProjectComponent
ProjectRole
ProjectSearchOptions
ProjectSearchResults
Resolution
RoleActor
Search
Search interface
SearchOptions
Options availble for search
SearchOptionsBuilder
A builder interface for search option. Typically this is initialized with SearchOptions::builder()
SearchResults
Session
Status
TextContent
Text content that supports both plain text (JIRA v2) and ADF format (JIRA v3)
TimeTracking
Transition
TransitionOption
TransitionOptions
Contains list of options an issue can transitions through
TransitionTo
TransitionTriggerOptions
TransitionTriggerOptionsBuilder
UpdateProject
User
V3SearchResults
V3 Search Results format for the new /rest/api/3/search/jql endpoint
Version
VersionCreationBody
VersionMoveAfterBody
VersionUpdateBody
Visibility
Worklog
Represents a worklog entry on an issue
WorklogInput
Request to create or update a worklog
WorklogList
Response containing a list of worklogs

Enums§

AdfContent
ADF content - can be either inline text or nested nodes
ConfigTemplate
Predefined configuration templates
Error
An enumeration over potential errors that may happen when sending a request to jira