pub enum EpicCommand {
Create {
name: String,
description: Option<String>,
status: Option<String>,
owner: Option<String>,
start_date: Option<String>,
due_date: Option<String>,
weight: Option<String>,
projects: Option<String>,
milestone: Option<String>,
cycle: Option<String>,
},
Edit {
reference: String,
name: Option<String>,
description: Option<String>,
status: Option<String>,
owner: Option<String>,
start_date: Option<String>,
due_date: Option<String>,
weight: Option<String>,
parent: Option<String>,
projects: Option<String>,
milestone: Option<String>,
cycle: Option<String>,
},
List,
Show {
reference: String,
},
Navigate {
reference: String,
},
Delete {
reference: String,
yes: bool,
},
Add {
reference: String,
issues: Vec<String>,
},
Remove {
reference: String,
issues: Vec<String>,
},
BulkAdd {
reference: String,
issues: Vec<String>,
},
}Expand description
The tix epic subcommands (mission epics-work-items-01M3BYW4, WP05).
A required subcommand, like tix project. Selection is by the stable id
(the registry key); a name resolves to the same epic as a convenience. A work
item is an ordinary issue (tix create --epics, tix edit --add-epic), so
there is no task verb here.
Variants§
Create
Create an epic and allocate a stable id
The name is a display label, not the identity: tix epic edit --name
changes it and every issue reference survives, because issues reference the id.
Fields
weight: Option<String>Positive relative size, used by the epic rollup
allow_hyphen_values so --weight -5 reaches the service’s
invalid_weight refusal rather than being swallowed by clap as an
unknown flag — the same invalid input must report one thing whichever
spelling is used.
Edit
Edit an epic’s fields; a rename changes the label only
Nothing is re-keyed, so every issue reference and derived figure stays
intact. A blank optional value clears the field (--owner "").
Fields
weight: Option<String>New positive relative size (--weight "" clears)
allow_hyphen_values so --weight -5 reaches the service’s
invalid_weight refusal rather than clap’s unknown-flag error.
parent: Option<String>Set or change the parent epic; --parent "" detaches it
Validated by the epic service before any write, so a self-parent or a cycle-closing change leaves the registry byte-identical.
List
List epics in declaration order, with ids, member and child counts
Show
Show one epic’s record, hierarchy, progress and members
Navigate an epic’s hierarchy: parent, children, ancestors and depth
Direct issue navigation stays available: the member list is included and a
member is an ordinary issue, reachable with tix show <number>.
Delete
Delete an epic’s registry entry (its issues and child epics are never deleted)
The issues that referenced the epic keep their references and the child epics keep their parent reference; both are reported so the dangling references can be repaired deliberately.
Fields
Add
Reference an epic from one or more issues
Each selector is processed independently: a rejection on one is reported and does not abort the rest.
Fields
Remove
Remove an epic reference from one or more issues
Drops only the reference; no issue is deleted. A reference that does not
name a live epic is used verbatim, so a retained stale id can still be
removed and is reported as 0 changed rather than refused.
Fields
BulkAdd
Bulk-reference one or more issues from an epic
Epic reference only — general bulk editing is a different feature. Every
selector is independent, so one unknown selector does not discard the rest.
An unknown epic reference refuses the whole command before anything is
written; use tix epic remove to drop a retained stale id.
Trait Implementations§
Source§impl FromArgMatches for EpicCommand
impl FromArgMatches for EpicCommand
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut<'b>(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut<'b>( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§impl Subcommand for EpicCommand
impl Subcommand for EpicCommand
Source§fn augment_subcommands<'b>(__clap_app: Command) -> Command
fn augment_subcommands<'b>(__clap_app: Command) -> Command
Source§fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
fn augment_subcommands_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§fn has_subcommand(__clap_name: &str) -> bool
fn has_subcommand(__clap_name: &str) -> bool
Self can parse a specific subcommandAuto Trait Implementations§
impl Freeze for EpicCommand
impl RefUnwindSafe for EpicCommand
impl Send for EpicCommand
impl Sync for EpicCommand
impl Unpin for EpicCommand
impl UnsafeUnpin for EpicCommand
impl UnwindSafe for EpicCommand
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
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> ⓘ
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> ⓘ
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 more