Skip to main content

IssueApi

Trait IssueApi 

Source
pub trait IssueApi: Send + Sync {
    // Required methods
    fn list_open_issues(&self, repo: &str) -> Result<Vec<RawIssue>, GhError>;
    fn create_issue(
        &self,
        repo: &str,
        title: &str,
        body: &str,
        labels: &[String],
    ) -> Result<u64, GhError>;
}
Expand description

The GitHub issue operations reporting needs, behind a seam.

Same idiom as super::merge::GitHubApi and super::contract::derive_contract: the interesting behaviour here is deduplication and the noise gate, and neither is testable against a live tracker.

Required Methods§

Source

fn list_open_issues(&self, repo: &str) -> Result<Vec<RawIssue>, GhError>

Every open issue on repo, as the tracker returned it.

Returns RawIssue, which carries no accessor for its text: matching a marker is a predicate, and reading a body requires a resolved trust tier. See super::provenance.

Source

fn create_issue( &self, repo: &str, title: &str, body: &str, labels: &[String], ) -> Result<u64, GhError>

Open an issue and return its number.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§