Documentation
¶
Index ¶
- Constants
- func ProcessTasks(octopus *client.Client, space *spaces.Space, tasks []*Task) error
- type Task
- type TaskOptionsCreateAccount
- type TaskOptionsCreateAccountToken
- type TaskOptionsCreateAccountUsernamePassword
- type TaskOptionsCreateRelease
- type TaskOptionsDeployRelease
- type TaskOptionsRunbookRun
- type TaskResultCreateRelease
- type TaskResultRunbookRun
- type TaskType
Constants ¶
View Source
const ( TaskTypeCreateAccount = TaskType("CreateAccount") TaskTypeCreateRelease = TaskType("CreateRelease") TaskTypeDeployRelease = TaskType("DeployRelease") TaskTypeRunbookRun = TaskType("RunbookRun") )
View Source
const AccountTypeToken = "Token"
View Source
const AccountTypeUsernamePassword = "Username/Password"
account type values match the UI
Variables ¶
This section is empty.
Functions ¶
func ProcessTasks ¶
ProcessTasks iterates over the list of tasks and attempts to run them all. If everything goes well, a nil error will be returned. On the first failure, the error will be returned and the process will halt. TODO some kind of progress/results callback? A Goroutine with channels?
Types ¶
type Task ¶
type TaskOptionsCreateAccount ¶
type TaskOptionsCreateAccount struct {
Type string // REQUIRED. refer to AccountType constant strings
Name string // REQUIRED.
Description string // optional
EnvironmentIds []string // optional. // TODO the user may have specified environment string names; the outer code should resolve them before building the TaskInput
Options any // subtype-specific payload
}
type TaskOptionsCreateAccountToken ¶
type TaskOptionsCreateAccountToken struct {
Token *core.SensitiveValue
}
type TaskOptionsCreateAccountUsernamePassword ¶
type TaskOptionsCreateAccountUsernamePassword struct {
Username string
Password *core.SensitiveValue
}
type TaskOptionsCreateRelease ¶
type TaskOptionsCreateRelease struct {
ProjectName string // Required
DefaultPackageVersion string // Optional
GitCommit string // Optional
GitReference string // Required for version controlled projects
Version string // optional
ChannelName string // optional
ReleaseNotes string // optional
IgnoreIfAlreadyExists bool // optional
IgnoreChannelRules bool // optional
PackageVersionOverrides []string // optional
// if the task succeeds, the resulting output will be stored here
Response *releases.CreateReleaseResponseV1
}
type TaskOptionsDeployRelease ¶ added in v0.2.1
type TaskOptionsDeployRelease struct {
ProjectName string // required
ReleaseVersion string // the release to deploy
Environments []string // multiple for untenanted deployment, only one entry for tenanted deployment
Tenants []string
TenantTags []string
ScheduledStartTime string
ScheduledExpiryTime string
ExcludedSteps []string
GuidedFailureMode string // ["", "true", "false", "default"]. Note default and "" are the same, the only difference is whether interactive mode prompts you
ForcePackageDownload bool
DeploymentTargets []string
ExcludeTargets []string
Variables map[string]string
UpdateVariables bool
// true if the value was specified on the command line (because ForcePackageDownload is bool, we can't distinguish 'false' from 'missing')
ForcePackageDownloadWasSpecified bool
// so the automation command can mask sensitive variable output
SensitiveVariableNames []string
// printing a link to the release (to check deployment status) requires the release ID, not version.
// the interactive process looks this up, so we can cache it here to avoid a second lookup when generating
// the link for the browser. It isn't neccessary though
ReleaseID string
// After we send the request to the server, the response is stored here
Response *deployments.CreateDeploymentResponseV1
}
type TaskOptionsRunbookRun ¶ added in v0.4.0
type TaskOptionsRunbookRun struct {
ProjectName string // required
RunbookName string // the name of the runbook to run
Environments []string
Tenants []string
TenantTags []string
ScheduledStartTime string
ScheduledExpiryTime string
ExcludedSteps []string
GuidedFailureMode string // ["", "true", "false", "default"]. Note default and "" are the same, the only difference is whether interactive mode prompts you
ForcePackageDownload bool
RunTargets []string
ExcludeTargets []string
Variables map[string]string
Snapshot string
// true if the value was specified on the command line (because ForcePackageDownload is bool, we can't distinguish 'false' from 'missing')
ForcePackageDownloadWasSpecified bool
// so the automation command can mask sensitive variable output
SensitiveVariableNames []string
// if the task succeeds, the resulting output will be stored here
Response *runbooks.RunbookRunResponseV1
}
type TaskResultCreateRelease ¶
type TaskResultCreateRelease struct {
Version string
}
type TaskResultRunbookRun ¶ added in v0.4.0
type TaskResultRunbookRun struct {
Version string
}
Click to show internal directories.
Click to hide internal directories.