pub struct Workflow {
pub id: String,
pub name: String,
pub phase: WorkflowPhase,
pub description: String,
pub steps: Vec<WorkflowStep>,
pub variables: HashMap<String, String>,
pub checkpoints: Vec<String>,
pub builtin: bool,
}Expand description
A guided workflow for development tasks
Fields§
§id: StringUnique identifier
name: StringDisplay name
phase: WorkflowPhaseDevelopment phase this workflow belongs to
description: StringDescription of the workflow
steps: Vec<WorkflowStep>Steps in the workflow
variables: HashMap<String, String>Variables available in the workflow
checkpoints: Vec<String>Checkpoint step IDs
builtin: boolWhether this is a built-in workflow
Implementations§
Source§impl Workflow
impl Workflow
Sourcepub fn new(
id: impl Into<String>,
name: impl Into<String>,
phase: WorkflowPhase,
description: impl Into<String>,
) -> Self
pub fn new( id: impl Into<String>, name: impl Into<String>, phase: WorkflowPhase, description: impl Into<String>, ) -> Self
Create a new workflow
Sourcepub fn with_step(self, step: WorkflowStep) -> Self
pub fn with_step(self, step: WorkflowStep) -> Self
Add a step to the workflow
Sourcepub fn with_variable(
self,
key: impl Into<String>,
value: impl Into<String>,
) -> Self
pub fn with_variable( self, key: impl Into<String>, value: impl Into<String>, ) -> Self
Add a variable to the workflow
Sourcepub fn as_builtin(self) -> Self
pub fn as_builtin(self) -> Self
Mark as built-in workflow
Sourcepub fn get_step(&self, id: &str) -> Option<&WorkflowStep>
pub fn get_step(&self, id: &str) -> Option<&WorkflowStep>
Get a step by ID
Sourcepub fn first_step(&self) -> Option<&WorkflowStep>
pub fn first_step(&self) -> Option<&WorkflowStep>
Get the first step
Sourcepub fn next_step(&self, current_id: &str) -> Option<&WorkflowStep>
pub fn next_step(&self, current_id: &str) -> Option<&WorkflowStep>
Get the next step after the given step
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Workflow
impl<'de> Deserialize<'de> for Workflow
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Workflow
impl RefUnwindSafe for Workflow
impl Send for Workflow
impl Sync for Workflow
impl Unpin for Workflow
impl UnsafeUnpin for Workflow
impl UnwindSafe for Workflow
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.