pub struct GithubApiClient {
pub event_name: String,
pub debug_enabled: bool,
/* private fields */
}Available on crate feature
github only.Expand description
A structure to work with Github REST API.
Fields§
§event_name: StringThe name of the event that was triggered when running cpp_linter.
debug_enabled: boolThe value of the ACTIONS_STEP_DEBUG environment variable.
Implementations§
Source§impl GithubApiClient
impl GithubApiClient
Sourcepub fn new() -> Result<Self, RestClientError>
pub fn new() -> Result<Self, RestClientError>
Instantiate a GithubApiClient object.
Sourcepub async fn update_comment(
&self,
url: Url,
options: ThreadCommentOptions,
) -> Result<(), RestClientError>
pub async fn update_comment( &self, url: Url, options: ThreadCommentOptions, ) -> Result<(), RestClientError>
Update existing comment or remove old comment(s) and post a new comment
Trait Implementations§
Source§impl RestApiClient for GithubApiClient
impl RestApiClient for GithubApiClient
Source§fn start_log_group(&self, name: &str)
fn start_log_group(&self, name: &str)
This prints a line to indicate the beginning of a related group of log statements.
For apps’ log implementations, this function’s log::info output needs to have
no prefixed data.
Such behavior can be identified by the log target "CI_LOG_GROUPING".
impl log::Log for MyAppLogger {
fn log(&self, record: &log::Record) {
if record.target() == "CI_LOG_GROUPING" {
println!("{}", record.args());
} else {
println!(
"[{:>5}]{}: {}",
record.level().as_str(),
record.module_path().unwrap_or_default(),
record.args()
);
}
}
}Source§fn end_log_group(&self, _name: &str)
fn end_log_group(&self, _name: &str)
This prints a line to indicate the ending of a related group of log statements.
See also GithubApiClient::start_log_group about special handling of
the log target "CI_LOG_GROUPING".
Source§fn is_debug_enabled(&self) -> bool
fn is_debug_enabled(&self) -> bool
Is debug mode enabled? Read more
Source§fn set_user_agent(&mut self, user_agent: &str) -> Result<(), RestClientError>
fn set_user_agent(&mut self, user_agent: &str) -> Result<(), RestClientError>
Set the user agent for the underlying HTTP request client. Read more
Source§fn post_thread_comment<'life0, 'async_trait>(
&'life0 self,
options: ThreadCommentOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RestClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn post_thread_comment<'life0, 'async_trait>(
&'life0 self,
options: ThreadCommentOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RestClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
A way to post feedback to the Git server’s GUI. Read more
Source§fn is_pr_event(&self) -> bool
fn is_pr_event(&self) -> bool
Is the current CI event trigger a Pull Request? Read more
Source§fn append_step_summary(&self, comment: &str) -> Result<(), RestClientError>
fn append_step_summary(&self, comment: &str) -> Result<(), RestClientError>
Appends a given comment to the CI workflow’s summary page. Read more
Source§fn write_output_variables(
&self,
vars: &[OutputVariable],
) -> Result<(), RestClientError>
fn write_output_variables( &self, vars: &[OutputVariable], ) -> Result<(), RestClientError>
Sets the given
vars as output variables. Read moreSource§fn write_file_annotations(
&self,
annotations: &[FileAnnotation],
) -> Result<(), RestClientError>
fn write_file_annotations( &self, annotations: &[FileAnnotation], ) -> Result<(), RestClientError>
Sets the given
annotations as file annotations. Read moreSource§fn get_list_of_changed_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
file_filter: &'life1 FileFilter,
lines_changed_only: &'life2 LinesChangedOnly,
_base_diff: Option<String>,
_ignore_index: bool,
) -> Pin<Box<dyn Future<Output = Result<HashMap<String, FileDiffLines>, RestClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn get_list_of_changed_files<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
file_filter: &'life1 FileFilter,
lines_changed_only: &'life2 LinesChangedOnly,
_base_diff: Option<String>,
_ignore_index: bool,
) -> Pin<Box<dyn Future<Output = Result<HashMap<String, FileDiffLines>, RestClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Available on crate feature
file-changes only.A way to get the list of changed files in the context of the CI event. Read more
Source§fn cull_pr_reviews<'life0, 'life1, 'async_trait>(
&'life0 mut self,
options: &'life1 mut ReviewOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RestClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn cull_pr_reviews<'life0, 'life1, 'async_trait>(
&'life0 mut self,
options: &'life1 mut ReviewOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RestClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Resolve outdated PR review comments and remove duplicate/reused comments. Read more
Source§fn post_pr_review<'life0, 'life1, 'async_trait>(
&'life0 mut self,
options: &'life1 ReviewOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RestClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn post_pr_review<'life0, 'life1, 'async_trait>(
&'life0 mut self,
options: &'life1 ReviewOptions,
) -> Pin<Box<dyn Future<Output = Result<(), RestClientError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Post a PR review based on the given options. Read more
Source§fn make_api_request(
&self,
client: &Client,
url: Url,
method: Method,
data: Option<String>,
headers: Option<HeaderMap>,
) -> Result<Request, RestClientError>
fn make_api_request( &self, client: &Client, url: Url, method: Method, data: Option<String>, headers: Option<HeaderMap>, ) -> Result<Request, RestClientError>
Construct a HTTP request to be sent. Read more
Source§fn send_api_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 Client,
request: Request,
rate_limit_headers: &'life2 RestApiRateLimitHeaders,
) -> Pin<Box<dyn Future<Output = Result<Response, RestClientError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn send_api_request<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
client: &'life1 Client,
request: Request,
rate_limit_headers: &'life2 RestApiRateLimitHeaders,
) -> Pin<Box<dyn Future<Output = Result<Response, RestClientError>> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
A convenience function to send HTTP requests and respect a REST API rate limits. Read more
Source§fn try_next_page(&self, headers: &HeaderMap) -> Option<Url>
fn try_next_page(&self, headers: &HeaderMap) -> Option<Url>
Gets the URL for the next page from the headers in a paginated response. Read more
Source§fn log_response<'life0, 'life1, 'async_trait>(
&'life0 self,
response: Response,
context: &'life1 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn log_response<'life0, 'life1, 'async_trait>(
&'life0 self,
response: Response,
context: &'life1 str,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: Sync + 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
A helper function to log the response of an API request with context. Read more
Auto Trait Implementations§
impl Freeze for GithubApiClient
impl !RefUnwindSafe for GithubApiClient
impl Send for GithubApiClient
impl Sync for GithubApiClient
impl Unpin for GithubApiClient
impl UnsafeUnpin 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