Skip to content
Clone
a06673b
27 lines 895 B Rust
//! pipeline Operation method trait for the module.
use gix::hash::ObjectId;
use crate::pipeline::types::{CommitStatus, Job, StatusList, TriggerResult};
/// Operation trait for the pipeline module.
pub trait PipelineOps {
/// Trigger a pipeline.
fn pipeline_trigger(
&self,
commit: &ObjectId,
branch: &str,
) -> Result<TriggerResult, crate::Error>;
/// Schedule a job.
fn pipeline_schedule(&self, commit: &ObjectId, job: &Job) -> Result<(), crate::Error>;
/// Set a commit status.
fn pipeline_set_commit_status(
&self,
commit: &ObjectId,
status: &CommitStatus,
) -> Result<(), crate::Error>;
/// List commit statuses.
fn pipeline_list_statuses(&self, commit: &ObjectId) -> Result<StatusList, crate::Error>;
/// Cancel a job.
fn pipeline_cancel(&self, job_id: &str) -> Result<(), crate::Error>;
}