Documentation
¶
Index ¶
Constants ¶
const ( EventPush = "push" EventPullRequest = "pull_request" EventTag = "tag" EventPromote = "promote" EventRollback = "rollback" )
Event values.
const ( StatusSkipped = "skipped" StatusBlocked = "blocked" StatusDeclined = "declined" StatusWaiting = "waiting_on_dependencies" StatusPending = "pending" StatusRunning = "running" StatusPassing = "success" StatusFailing = "failure" StatusKilled = "killed" StatusError = "error" )
Status values.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Build ¶
type Build struct {
ID int64 `json:"id"`
RepoID int64 `json:"repo_id"`
Trigger string `json:"trigger"`
Number int64 `json:"number"`
Parent int64 `json:"parent,omitempty"`
Status string `json:"status"`
Error string `json:"error,omitempty"`
Event string `json:"event"`
Action string `json:"action"`
Link string `json:"link"`
Timestamp int64 `json:"timestamp"`
Title string `json:"title,omitempty"`
Message string `json:"message"`
Before string `json:"before"`
After string `json:"after"`
Ref string `json:"ref"`
Fork string `json:"source_repo"`
Source string `json:"source"`
Target string `json:"target"`
Author string `json:"author_login"`
AuthorName string `json:"author_name"`
AuthorEmail string `json:"author_email"`
AuthorAvatar string `json:"author_avatar"`
Sender string `json:"sender"`
Params map[string]string `json:"params,omitempty"`
Cron string `json:"cron,omitempty"`
Deploy string `json:"deploy_to,omitempty"`
DeployID int64 `json:"deploy_id,omitempty"`
Started int64 `json:"started"`
Finished int64 `json:"finished"`
Created int64 `json:"created"`
Updated int64 `json:"updated"`
Version int64 `json:"version"`
Stages []*Stage `json:"stages,omitempty"`
}
Build defines a build object.
type Client ¶
type Client interface {
// SetClient sets the http.Client.
SetClient(*http.Client)
// SetAddress sets the server address.
SetAddress(string)
// Self returns the currently authenticated user.
Self() (*User, error)
// User returns a user by login.
User(login string) (*User, error)
// UserList returns a list of all registered users.
UserList() ([]*User, error)
// UserCreate creates a new user account.
UserCreate(user *User) (*User, error)
// UserUpdate updates a user account.
UserUpdate(login string, user *UserPatch) (*User, error)
// UserDelete deletes a user account.
UserDelete(login string) error
// Incomplete returns a list of incomplete builds.
Incomplete() ([]*Repo, error)
// Repo returns a repository by name.
Repo(namespace, name string) (*Repo, error)
// RepoList returns a list of all repositories to which
// the user has explicit access in the host system.
RepoList() ([]*Repo, error)
// RepoListSync returns a list of all repositories to which
// the user has explicit access in the host system.
RepoListSync() ([]*Repo, error)
// RepoListAll returns a list of all repositories in
// the database. This is only available to system admins.
RepoListAll(opts ListOptions) ([]*Repo, error)
// RepoEnable activates a repository.
RepoEnable(namespace, name string) (*Repo, error)
// RepoUpdate updates a repository.
RepoUpdate(namespace, name string, repo *RepoPatch) (*Repo, error)
// RepoChown updates a repository owner.
RepoChown(namespace, name string) (*Repo, error)
// RepoRepair repairs the repository hooks.
RepoRepair(namespace, name string) error
// RepoDisable disables a repository.
RepoDisable(namespace, name string) error
// RepoDelete permanetnly deletes a repository.
RepoDelete(namespace, name string) error
// Build returns a repository build by number.
Build(namespace, name string, build int) (*Build, error)
// BuildLast returns the latest build by branch. An
// empty branch will result in the default branch.
BuildLast(namespace, name, branch string) (*Build, error)
// BuildList returns a list of recent builds for the
// the specified repository.
BuildList(namespace, name string, opts ListOptions) ([]*Build, error)
// BuildCreate creates a new build by branch or commit.
BuildCreate(owner, name, commit, branch string, params map[string]string) (*Build, error)
// BuildRestart re-starts a build.
BuildRestart(namespace, name string, build int, params map[string]string) (*Build, error)
// BuildCancel stops the specified running job for
// given build.
BuildCancel(namespace, name string, build int) error
// BuildPurge purges the build history.
BuildPurge(namespace, name string, before int) error
// Approve approves a blocked build stage.
Approve(namespace, name string, build, stage int) error
// Decline declines a blocked build stage.
Decline(namespace, name string, build, stage int) error
// Promote promotes a build to the target environment.
Promote(namespace, name string, build int, target string, params map[string]string) (*Build, error)
// Rollback reverts the target environment to an previous build.
Rollback(namespace, name string, build int, target string, params map[string]string) (*Build, error)
// Logs gets the logs for the specified step.
Logs(owner, name string, build, stage, step int) ([]*Line, error)
// LogsPurge purges the build logs for the specified step.
LogsPurge(owner, name string, build, stage, step int) error
// Secret returns a secret by name.
Secret(owner, name, secret string) (*Secret, error)
// SecretList returns a list of all repository secrets.
SecretList(owner, name string) ([]*Secret, error)
// SecretCreate creates a registry.
SecretCreate(owner, name string, secret *Secret) (*Secret, error)
// SecretUpdate updates a registry.
SecretUpdate(owner, name string, secret *Secret) (*Secret, error)
// SecretDelete deletes a secret.
SecretDelete(owner, name, secret string) error
// OrgSecret returns a secret by name.
OrgSecret(namespace, secret string) (*Secret, error)
// OrgSecretList returns a list of all repository secrets.
OrgSecretList(namespace string) ([]*Secret, error)
// OrgSecretListAll returns a list of all repository secrets.
OrgSecretListAll() ([]*Secret, error)
// OrgSecretCreate creates a registry.
OrgSecretCreate(namespace string, secret *Secret) (*Secret, error)
// OrgSecretUpdate updates a registry.
OrgSecretUpdate(namespace string, secret *Secret) (*Secret, error)
// OrgSecretDelete deletes a secret.
OrgSecretDelete(namespace, name string) error
// Cron returns a cronjob by name.
Cron(owner, name, cron string) (*Cron, error)
// CronList returns a list of all repository cronjobs.
CronList(owner string, name string) ([]*Cron, error)
// CronCreate creates a cronjob.
CronCreate(owner, name string, in *Cron) (*Cron, error)
// CronDelete deletes a cronjob.
CronDelete(owner, name, cron string) error
// CronUpdate enables a cronjob.
CronUpdate(owner, name, cron string, in *CronPatch) (*Cron, error)
// Sign signs the yaml file.
Sign(owner, name, file string) (string, error)
// Verify verifies the yaml signature.
Verify(owner, name, file string) error
// Encrypt returns an encrypted secret
Encrypt(owner, name string, secret *Secret) (string, error)
// Queue returns a list of queue items.
Queue() ([]*Stage, error)
// QueuePause pauses queue operations.
QueuePause() error
// QueueResume resumes queue operations.
QueueResume() error
// Node returns a node by name.
Node(name string) (*Node, error)
// NodeList returns a list of all nodes.
NodeList() ([]*Node, error)
// NodeCreate creates a node.
NodeCreate(in *Node) (*Node, error)
// NodeDelete deletes a node.
NodeDelete(name string) error
// NodeUpdate updates a node.
NodeUpdate(name string, in *NodePatch) (*Node, error)
// Server returns the named servers details.
Server(name string) (*Server, error)
// ServerList returns a list of all active build servers.
ServerList() ([]*Server, error)
// ServerCreate creates a new server.
ServerCreate() (*Server, error)
// ServerDelete terminates a server.
ServerDelete(name string, force bool) error
// AutoscalePause pauses the autoscaler.
AutoscalePause() error
// AutoscaleResume resumes the autoscaler.
AutoscaleResume() error
// AutoscaleVersion returns the autoscaler version.
AutoscaleVersion() (*Version, error)
}
Client is used to communicate with a Drone server.
type Cron ¶ added in v1.3.2
type Cron struct {
ID int64 `json:"id"`
RepoID int64 `json:"repo_id"`
Name string `json:"name"`
Expr string `json:"expr"`
Next int64 `json:"next"`
Prev int64 `json:"prev"`
Event string `json:"event"`
Branch string `json:"branch"`
Target string `json:"target"`
Disabled bool `json:"disabled"`
Created int64 `json:"created"`
Updated int64 `json:"updated"`
}
Cron represents a cron job.
type CronPatch ¶ added in v1.3.2
type CronPatch struct {
Event *string `json:"event"`
Branch *string `json:"branch"`
Target *string `json:"target"`
Disabled *bool `json:"disabled"`
}
CronPatch defines a cron patch request.
type Line ¶ added in v1.3.2
type Line struct {
Number int `json:"pos"`
Message string `json:"out"`
Timestamp int64 `json:"time"`
}
Line represents a line of container logs.
type ListOptions ¶ added in v1.3.2
type Netrc ¶ added in v1.3.2
type Netrc struct {
Machine string `json:"machine"`
Login string `json:"login"`
Password string `json:"password"`
}
Netrc contains login and initialization information used by an automated login process.
type Node ¶ added in v1.3.2
type Node struct {
ID int64 `json:"id"`
UID string `json:"uid"`
Provider string `json:"provider"`
State string `json:"state"`
Name string `json:"name"`
Image string `json:"image"`
Region string `json:"region"`
Size string `json:"size"`
OS string `json:"os"`
Arch string `json:"arch"`
Kernel string `json:"kernel"`
Variant string `json:"variant"`
Address string `json:"address"`
Capacity int `json:"capacity"`
Filters []string `json:"filters"`
Labels map[string]string `json:"labels"`
Error string `json:"error"`
CAKey []byte `json:"ca_key"`
CACert []byte `json:"ca_cert"`
TLSKey []byte `json:"tls_key"`
TLSCert []byte `json:"tls_cert"`
TLSName string `json:"tls_name"`
Paused bool `json:"paused"`
Protected bool `json:"protected"`
Created int64 `json:"created"`
Updated int64 `json:"updated"`
}
Node provides node details.
type NodePatch ¶ added in v1.3.2
type NodePatch struct {
UID *string `json:"uid"`
Provider *string `json:"provider"`
State *string `json:"state"`
Image *string `json:"image"`
Region *string `json:"region"`
Size *string `json:"size"`
Address *string `json:"address"`
Capacity *int `json:"capacity"`
Filters *[]string `json:"filters"`
Labels *map[string]string `json:"labels"`
Error *string `json:"error"`
CAKey *[]byte `json:"ca_key"`
CACert *[]byte `json:"ca_cert"`
TLSKey *[]byte `json:"tls_key"`
TLSCert *[]byte `json:"tls_cert"`
Paused *bool `json:"paused"`
Protected *bool `json:"protected"`
}
NodePatch defines a node patch request.
type Registry ¶
type Registry struct {
Address string `json:"address"`
Username string `json:"username"`
Password string `json:"password,omitempty"`
Email string `json:"email"`
Token string `json:"token"`
Policy string `json:"policy,omitempty"`
}
Registry represents a docker registry with credentials. DEPRECATED
type Repo ¶
type Repo struct {
ID int64 `json:"id"`
UID string `json:"uid"`
UserID int64 `json:"user_id"`
Namespace string `json:"namespace"`
Name string `json:"name"`
Slug string `json:"slug"`
SCM string `json:"scm"`
HTTPURL string `json:"git_http_url"`
SSHURL string `json:"git_ssh_url"`
Link string `json:"link"`
Branch string `json:"default_branch"`
Private bool `json:"private"`
Visibility string `json:"visibility"`
Active bool `json:"active"`
Config string `json:"config_path"`
Trusted bool `json:"trusted"`
Protected bool `json:"protected"`
IgnoreForks bool `json:"ignore_forks"`
IgnorePulls bool `json:"ignore_pull_requests"`
CancelPulls bool `json:"auto_cancel_pull_requests"`
CancelPush bool `json:"auto_cancel_pushes"`
Timeout int64 `json:"timeout"`
Counter int64 `json:"counter"`
Synced int64 `json:"synced"`
Created int64 `json:"created"`
Updated int64 `json:"updated"`
Version int64 `json:"version"`
Signer string `json:"signer,omitempty"`
Secret string `json:"secret,omitempty"`
Build Build `json:"build,omitempty"`
}
Repo represents a repository.
type RepoPatch ¶
type RepoPatch struct {
Config *string `json:"config_path,omitempty"`
Protected *bool `json:"protected,omitempty"`
Trusted *bool `json:"trusted,omitempty"`
Timeout *int64 `json:"timeout,omitempty"`
Visibility *string `json:"visibility,omitempty"`
IgnoreForks *bool `json:"ignore_forks"`
IgnorePulls *bool `json:"ignore_pull_requests"`
CancelPulls *bool `json:"auto_cancel_pull_requests"`
CancelPush *bool `json:"auto_cancel_pushes"`
Counter *int `json:"counter,omitempty"`
}
RepoPatch defines a repository patch request.
type Secret ¶
type Secret struct {
Namespace string `json:"namespace,omitempty"`
Name string `json:"name,omitempty"`
Data string `json:"data,omitempty"`
PullRequest bool `json:"pull_request,omitempty"`
PullRequestPush bool `json:"pull_request_push,omitempty"`
// Deprecated.
Pull bool `json:"pull,omitempty"`
Fork bool `json:"fork,omitempty"`
}
Secret represents a secret variable, such as a password or token.
type Server ¶ added in v0.8.4
type Server struct {
ID string `json:"id"`
Provider string `json:"provider"`
State string `json:"state"`
Name string `json:"name"`
Image string `json:"image"`
Region string `json:"region"`
Size string `json:"size"`
Address string `json:"address"`
Capacity int `json:"capacity"`
Secret string `json:"secret"`
Error string `json:"error"`
CAKey []byte `json:"ca_key"`
CACert []byte `json:"ca_cert"`
TLSKey []byte `json:"tls_key"`
TLSCert []byte `json:"tls_cert"`
Created int64 `json:"created"`
Updated int64 `json:"updated"`
Started int64 `json:"started"`
Stopped int64 `json:"stopped"`
}
Server represents a server node.
type Stage ¶ added in v1.3.2
type Stage struct {
ID int64 `json:"id"`
BuildID int64 `json:"build_id"`
Number int `json:"number"`
Name string `json:"name"`
Kind string `json:"kind,omitempty"`
Type string `json:"type,omitempty"`
Status string `json:"status"`
Error string `json:"error,omitempty"`
ErrIgnore bool `json:"errignore"`
ExitCode int `json:"exit_code"`
Machine string `json:"machine,omitempty"`
OS string `json:"os"`
Arch string `json:"arch"`
Variant string `json:"variant,omitempty"`
Kernel string `json:"kernel,omitempty"`
Limit int `json:"limit,omitempty"`
Started int64 `json:"started"`
Stopped int64 `json:"stopped"`
Created int64 `json:"created"`
Updated int64 `json:"updated"`
Version int64 `json:"version"`
OnSuccess bool `json:"on_success"`
OnFailure bool `json:"on_failure"`
DependsOn []string `json:"depends_on,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Steps []*Step `json:"steps,omitempty"`
}
Stage represents a stage of build execution.
type Step ¶ added in v1.3.2
type Step struct {
ID int64 `json:"id"`
StageID int64 `json:"step_id"`
Number int `json:"number"`
Name string `json:"name"`
Status string `json:"status"`
Error string `json:"error,omitempty"`
ErrIgnore bool `json:"errignore,omitempty"`
ExitCode int `json:"exit_code"`
Started int64 `json:"started,omitempty"`
Stopped int64 `json:"stopped,omitempty"`
Version int64 `json:"version"`
}
Step represents an individual step in the stage.
type System ¶ added in v1.3.2
type System struct {
Proto string `json:"proto,omitempty"`
Host string `json:"host,omitempty"`
Link string `json:"link,omitempty"`
Version string `json:"version,omitempty"`
}
System stores system information.
type User ¶
type User struct {
ID int64 `json:"id"`
Login string `json:"login"`
Email string `json:"email"`
Avatar string `json:"avatar_url"`
Active bool `json:"active"`
Admin bool `json:"admin"`
Machine bool `json:"machine"`
Syncing bool `json:"syncing"`
Synced int64 `json:"synced"`
Created int64 `json:"created"`
Updated int64 `json:"updated"`
LastLogin int64 `json:"last_login"`
Token string `json:"token"`
}
User represents a user account.