Plugin

Trait Plugin 

Source
pub trait Plugin: Send + Sync {
Show 21 methods // Required methods fn metadata(&self) -> &PluginMetadata; fn initialize( &mut self, provider_id: i64, config: HashMap<String, String>, http_client: Option<Arc<Client>>, ) -> PluginResult<()>; fn validate_credentials<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<bool>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn fetch_pipelines<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<Pipeline>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; fn fetch_run_history<'life0, 'life1, 'async_trait>( &'life0 self, pipeline_id: &'life1 str, limit: usize, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<PipelineRun>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn fetch_run_details<'life0, 'life1, 'async_trait>( &'life0 self, pipeline_id: &'life1 str, run_number: i64, ) -> Pin<Box<dyn Future<Output = PluginResult<PipelineRun>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn trigger_pipeline<'life0, 'async_trait>( &'life0 self, params: TriggerParams, ) -> Pin<Box<dyn Future<Output = PluginResult<String>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait; // Provided methods fn fetch_available_pipelines<'life0, 'async_trait>( &'life0 self, params: Option<PaginationParams>, ) -> Pin<Box<dyn Future<Output = PluginResult<PaginatedAvailablePipelines>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn fetch_organizations<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<Organization>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn fetch_available_pipelines_filtered<'life0, 'async_trait>( &'life0 self, org: Option<String>, search: Option<String>, params: Option<PaginationParams>, ) -> Pin<Box<dyn Future<Output = PluginResult<PaginatedAvailablePipelines>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn fetch_pipelines_paginated<'life0, 'async_trait>( &'life0 self, page: usize, page_size: usize, ) -> Pin<Box<dyn Future<Output = PluginResult<PaginatedResponse<Pipeline>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn cancel_run<'life0, 'life1, 'async_trait>( &'life0 self, _pipeline_id: &'life1 str, _run_number: i64, ) -> Pin<Box<dyn Future<Output = PluginResult<()>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn fetch_workflow_parameters<'life0, 'life1, 'async_trait>( &'life0 self, _workflow_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<WorkflowParameter>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn fetch_agents<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<BuildAgent>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn fetch_artifacts<'life0, 'life1, 'async_trait>( &'life0 self, _run_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<BuildArtifact>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn fetch_queues<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<BuildQueue>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn get_migrations(&self) -> Vec<String> { ... } fn provider_type(&self) -> &str { ... } fn get_field_options<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, _field_key: &'life1 str, _config: &'life2 HashMap<String, String>, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<String>>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait { ... } fn check_permissions<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<PermissionStatus>> + Send + 'async_trait>> where Self: 'async_trait, 'life0: 'async_trait { ... } fn get_feature_availability( &self, status: &PermissionStatus, ) -> Vec<FeatureAvailability> { ... }
}

Required Methods§

Source

fn metadata(&self) -> &PluginMetadata

Source

fn initialize( &mut self, provider_id: i64, config: HashMap<String, String>, http_client: Option<Arc<Client>>, ) -> PluginResult<()>

Source

fn validate_credentials<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<bool>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn fetch_pipelines<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<Pipeline>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn fetch_run_history<'life0, 'life1, 'async_trait>( &'life0 self, pipeline_id: &'life1 str, limit: usize, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<PipelineRun>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn fetch_run_details<'life0, 'life1, 'async_trait>( &'life0 self, pipeline_id: &'life1 str, run_number: i64, ) -> Pin<Box<dyn Future<Output = PluginResult<PipelineRun>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn trigger_pipeline<'life0, 'async_trait>( &'life0 self, params: TriggerParams, ) -> Pin<Box<dyn Future<Output = PluginResult<String>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Provided Methods§

Source

fn fetch_available_pipelines<'life0, 'async_trait>( &'life0 self, params: Option<PaginationParams>, ) -> Pin<Box<dyn Future<Output = PluginResult<PaginatedAvailablePipelines>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn fetch_organizations<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<Organization>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn fetch_available_pipelines_filtered<'life0, 'async_trait>( &'life0 self, org: Option<String>, search: Option<String>, params: Option<PaginationParams>, ) -> Pin<Box<dyn Future<Output = PluginResult<PaginatedAvailablePipelines>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn fetch_pipelines_paginated<'life0, 'async_trait>( &'life0 self, page: usize, page_size: usize, ) -> Pin<Box<dyn Future<Output = PluginResult<PaginatedResponse<Pipeline>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn cancel_run<'life0, 'life1, 'async_trait>( &'life0 self, _pipeline_id: &'life1 str, _run_number: i64, ) -> Pin<Box<dyn Future<Output = PluginResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn fetch_workflow_parameters<'life0, 'life1, 'async_trait>( &'life0 self, _workflow_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<WorkflowParameter>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn fetch_agents<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<BuildAgent>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn fetch_artifacts<'life0, 'life1, 'async_trait>( &'life0 self, _run_id: &'life1 str, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<BuildArtifact>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn fetch_queues<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<BuildQueue>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_migrations(&self) -> Vec<String>

Source

fn provider_type(&self) -> &str

Source

fn get_field_options<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, _field_key: &'life1 str, _config: &'life2 HashMap<String, String>, ) -> Pin<Box<dyn Future<Output = PluginResult<Vec<String>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn check_permissions<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = PluginResult<PermissionStatus>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn get_feature_availability( &self, status: &PermissionStatus, ) -> Vec<FeatureAvailability>

Implementors§