Skip to main content

GitHubClient

Struct GitHubClient 

Source
pub struct GitHubClient { /* private fields */ }
Expand description

GitHub API client.

Implementations§

Source§

impl GitHubClient

Source

pub const DEFAULT_API_URL: &'static str = "https://api.github.com"

Default GitHub API URL.

Source

pub fn new(auth: &Auth) -> Result<Self>

Create a new GitHub client.

§Errors

Returns error if authentication fails.

Source

pub fn with_base_url(auth: &Auth, base_url: impl Into<String>) -> Result<Self>

Create a new GitHub client with a custom API URL (for GitHub Enterprise).

§Errors

Returns error if authentication fails.

Source

pub async fn get_pr( &self, owner: &str, repo: &str, number: u64, ) -> Result<PullRequest>

Get a pull request by number.

§Errors

Returns error if PR not found or API call fails.

Source

pub async fn get_prs_batch( &self, owner: &str, repo: &str, numbers: &[u64], ) -> Result<HashMap<u64, PullRequest>>

Get multiple pull requests by number using GraphQL (single API call).

This is more efficient than calling get_pr multiple times when fetching many PRs, as it uses a single GraphQL query instead of N REST calls.

Returns a map of PR number to PR data. PRs that don’t exist or can’t be fetched are omitted from the result (no error is returned for missing PRs).

§Errors

Returns error if the GraphQL request fails entirely.

Source

pub async fn find_pr_for_branch( &self, owner: &str, repo: &str, branch: &str, ) -> Result<Option<PullRequest>>

Find a PR for a branch.

§Errors

Returns error if API call fails.

Source

pub async fn create_pr( &self, owner: &str, repo: &str, pr: CreatePullRequest, ) -> Result<PullRequest>

Create a pull request.

§Errors

Returns error if PR creation fails.

Source

pub async fn update_pr( &self, owner: &str, repo: &str, number: u64, update: UpdatePullRequest, ) -> Result<PullRequest>

Update a pull request.

§Errors

Returns error if PR update fails.

Source

pub async fn get_check_runs( &self, owner: &str, repo: &str, commit_sha: &str, ) -> Result<Vec<CheckRun>>

Get check runs for a commit.

§Errors

Returns error if API call fails.

Source

pub async fn merge_pr( &self, owner: &str, repo: &str, number: u64, merge: MergePullRequest, ) -> Result<MergeResult>

Merge a pull request.

§Errors

Returns error if merge fails.

Source

pub async fn delete_ref( &self, owner: &str, repo: &str, ref_name: &str, ) -> Result<()>

Delete a git reference (branch).

§Errors

Returns error if deletion fails.

Source

pub async fn get_default_branch( &self, owner: &str, repo: &str, ) -> Result<String>

Get the repository’s default branch name.

§Errors

Returns error if API call fails.

Source

pub async fn list_pr_comments( &self, owner: &str, repo: &str, pr_number: u64, ) -> Result<Vec<IssueComment>>

List comments on a pull request.

§Errors

Returns error if request fails.

Source

pub async fn create_pr_comment( &self, owner: &str, repo: &str, pr_number: u64, comment: CreateComment, ) -> Result<IssueComment>

Create a comment on a pull request.

§Errors

Returns error if request fails.

Source

pub async fn update_pr_comment( &self, owner: &str, repo: &str, comment_id: u64, comment: UpdateComment, ) -> Result<IssueComment>

Update a comment on a pull request.

§Errors

Returns error if request fails.

Trait Implementations§

Source§

impl Debug for GitHubClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more