Documentation
¶
Overview ¶
Package run contains business logic for run-level operations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Cancel ¶
Cancel cancels a run by cancelling each of its active workflows. The CircleCI API has no run-level cancel endpoint; cancellation operates at the workflow level via POST /api/v3/workflows/{id}/cancel.
Returns ErrNothingToCancel when the run exists but all workflows are already in a terminal state.
Types ¶
type ErrNothingToCancel ¶
ErrNothingToCancel is returned by Cancel when the run exists but all of its workflows are already in a terminal state.
func (*ErrNothingToCancel) Error ¶
func (e *ErrNothingToCancel) Error() string
type PendingApproval ¶ added in v1.8.0
type PendingApproval struct {
WorkflowID uuid.UUID
WorkflowName string
JobID uuid.UUID
JobName string
}
PendingApproval is an approval job that is on hold, waiting to be approved.
func MatchApprovals ¶ added in v1.8.0
func MatchApprovals(pending []PendingApproval, job string) []PendingApproval
MatchApprovals returns the pending approvals that job identifies, by job name or job UUID. A name can match more than one approval when two workflows in the run have an approval job of the same name.
func PendingApprovals ¶ added in v1.8.0
func PendingApprovals(ctx context.Context, client *apiclient.Client, runID uuid.UUID) ([]PendingApproval, error)
PendingApprovals returns the approval jobs in a run that are on hold, in workflow order. Ended workflows are skipped: nothing in them can be approved.
The V3 jobs API reports an approval job that is waiting for approval as phase "started". One whose required jobs have not finished yet is not started, and cannot be approved until they have.
func (PendingApproval) Label ¶ added in v1.8.0
func (a PendingApproval) Label() string
Label names the approval for prompts and messages, e.g. "hold (workflow deploy)". Job names are only unique within a workflow, so the workflow is always included.