pub trait PipelineProvider: Send + Sync {
// Required method
fn provider_name(&self) -> &'static str;
// Provided methods
fn get_pipeline<'life0, 'async_trait>(
&'life0 self,
_input: GetPipelineInput,
) -> Pin<Box<dyn Future<Output = Result<PipelineInfo>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait { ... }
fn get_job_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
_job_id: &'life1 str,
_options: JobLogOptions,
) -> Pin<Box<dyn Future<Output = Result<JobLogOutput>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait { ... }
}Expand description
Provider for CI/CD pipeline status and job logs.
Implemented by GitLab (Pipelines API) and GitHub (Actions API).
All methods have default implementations returning ProviderUnsupported.
Required Methods§
Sourcefn provider_name(&self) -> &'static str
fn provider_name(&self) -> &'static str
Get the provider name for logging.
Provided Methods§
fn get_pipeline<'life0, 'async_trait>(
&'life0 self,
_input: GetPipelineInput,
) -> Pin<Box<dyn Future<Output = Result<PipelineInfo>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Sourcefn get_job_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
_job_id: &'life1 str,
_options: JobLogOptions,
) -> Pin<Box<dyn Future<Output = Result<JobLogOutput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_job_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
_job_id: &'life1 str,
_options: JobLogOptions,
) -> Pin<Box<dyn Future<Output = Result<JobLogOutput>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get job logs with search, pagination, or smart extraction.