pub struct GithubApiClient {
pub event_name: String,
pub debug_enabled: bool,
/* private fields */
}
Expand description
A structure to work with Github REST API.
Fields§
§event_name: String
The name of the event that was triggered when running cpp_linter.
debug_enabled: bool
The value of the ACTIONS_STEP_DEBUG
environment variable.
Implementations§
Source§impl GithubApiClient
impl GithubApiClient
Sourcepub fn new() -> Result<Self>
pub fn new() -> Result<Self>
Instantiate a GithubApiClient
object.
Sourcepub fn post_step_summary(&self, comment: &String)
pub fn post_step_summary(&self, comment: &String)
Append step summary to CI workflow’s summary page.
Sourcepub fn post_annotations(&self, files: &[Arc<Mutex<FileObj>>], style: &str)
pub fn post_annotations(&self, files: &[Arc<Mutex<FileObj>>], style: &str)
Post file annotations.
Sourcepub async fn update_comment(
&self,
url: Url,
comment: &String,
no_lgtm: bool,
is_lgtm: bool,
update_only: bool,
) -> Result<()>
pub async fn update_comment( &self, url: Url, comment: &String, no_lgtm: bool, is_lgtm: bool, update_only: bool, ) -> Result<()>
Update existing comment or remove old comment(s) and post a new comment
Sourcepub async fn post_review(
&self,
files: &[Arc<Mutex<FileObj>>],
feedback_input: &FeedbackInput,
clang_versions: &ClangVersions,
) -> Result<()>
pub async fn post_review( &self, files: &[Arc<Mutex<FileObj>>], feedback_input: &FeedbackInput, clang_versions: &ClangVersions, ) -> Result<()>
Post a PR review with code suggestions.
Note: --no-lgtm
is applied when nothing is suggested.
Trait Implementations§
Source§impl RestApiClient for GithubApiClient
impl RestApiClient for GithubApiClient
Source§fn start_log_group(&self, name: String)
fn start_log_group(&self, name: String)
This prints a line to indicate the beginning of a related group of log statements.
Source§fn end_log_group(&self)
fn end_log_group(&self)
This prints a line to indicate the ending of a related group of log statements.
Source§fn set_exit_code(
&self,
checks_failed: u64,
format_checks_failed: Option<u64>,
tidy_checks_failed: Option<u64>,
) -> u64
fn set_exit_code( &self, checks_failed: u64, format_checks_failed: Option<u64>, tidy_checks_failed: Option<u64>, ) -> u64
A way to set output variables specific to cpp_linter executions in CI.
Source§fn make_headers() -> Result<HeaderMap<HeaderValue>>
fn make_headers() -> Result<HeaderMap<HeaderValue>>
A convenience method to create the headers attached to all REST API calls. Read more
Source§async fn get_list_of_changed_files(
&self,
file_filter: &FileFilter,
) -> Result<Vec<FileObj>>
async fn get_list_of_changed_files( &self, file_filter: &FileFilter, ) -> Result<Vec<FileObj>>
A way to get the list of changed files using REST API calls. It is this method’s
job to parse diff blobs and return a list of changed files. Read more
Source§async fn get_changed_files_paginated(
&self,
url: Url,
file_filter: &FileFilter,
) -> Result<Vec<FileObj>>
async fn get_changed_files_paginated( &self, url: Url, file_filter: &FileFilter, ) -> Result<Vec<FileObj>>
A way to get the list of changed files using REST API calls that employ a paginated response. Read more
Source§async fn post_feedback(
&self,
files: &[Arc<Mutex<FileObj>>],
feedback_inputs: FeedbackInput,
clang_versions: ClangVersions,
) -> Result<u64>
async fn post_feedback( &self, files: &[Arc<Mutex<FileObj>>], feedback_inputs: FeedbackInput, clang_versions: ClangVersions, ) -> Result<u64>
A way to post feedback in the form of
thread_comments
, file_annotations
, and
step_summary
. Read moreSource§fn make_api_request(
client: &Client,
url: impl IntoUrl,
method: Method,
data: Option<String>,
headers: Option<HeaderMap>,
) -> Result<Request>
fn make_api_request( client: &Client, url: impl IntoUrl, method: Method, data: Option<String>, headers: Option<HeaderMap>, ) -> Result<Request>
Construct a HTTP request to be sent. Read more
Source§fn send_api_request(
client: Client,
request: Request,
rate_limit_headers: RestApiRateLimitHeaders,
retries: u8,
) -> impl Future<Output = Result<Response>> + Send
fn send_api_request( client: Client, request: Request, rate_limit_headers: RestApiRateLimitHeaders, retries: u8, ) -> impl Future<Output = Result<Response>> + Send
A convenience function to send HTTP requests and respect a REST API rate limits. Read more
Source§fn make_comment(
&self,
files: &[Arc<Mutex<FileObj>>],
format_checks_failed: u64,
tidy_checks_failed: u64,
clang_versions: &ClangVersions,
max_len: Option<u64>,
) -> String
fn make_comment( &self, files: &[Arc<Mutex<FileObj>>], format_checks_failed: u64, tidy_checks_failed: u64, clang_versions: &ClangVersions, max_len: Option<u64>, ) -> String
Makes a comment in MarkDown syntax based on the concerns in
format_advice
and
tidy_advice
about the given set of files
. Read moreSource§fn try_next_page(headers: &HeaderMap) -> Option<Url>
fn try_next_page(headers: &HeaderMap) -> Option<Url>
Gets the URL for the next page in a paginated response. Read more
fn log_response( response: Response, context: &str, ) -> impl Future<Output = ()> + Send
Auto Trait Implementations§
impl Freeze for GithubApiClient
impl !RefUnwindSafe for GithubApiClient
impl Send for GithubApiClient
impl Sync for GithubApiClient
impl Unpin for GithubApiClient
impl !UnwindSafe for GithubApiClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more