 Documentation
      ¶
      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.