Documentation
¶
Index ¶
- Constants
- Variables
- type Build
- type BuildInfo
- type BuildTrigger
- type Builder
- type ChangeSet
- type Client
- type Credential
- type Definition
- type Engine
- func (j Engine) GetStepLog(execution *v3.PipelineExecution, stage int, step int) (string, error)
- func (j *Engine) PreCheck() error
- func (j *Engine) RerunExecution(execution *v3.PipelineExecution) error
- func (j *Engine) RunPipelineExecution(execution *v3.PipelineExecution, triggerType string) error
- func (j *Engine) StopExecution(execution *v3.PipelineExecution) error
- func (j *Engine) SyncExecution(execution *v3.PipelineExecution) (bool, error)
- type FlowNode
- type GroovyScript
- type JobInfo
- type NodeError
- type PipelineJob
- type PostBuildTask
- type PreSCMBuildStepsWrapper
- type Project
- type Scm
- type Stage
- type TaskShell
- type TimeoutStrategy
- type TimeoutWrapperPlugin
- type TimestampWrapperPlugin
- type Trigger
- type WFBuildInfo
- type WFNodeInfo
- type WFNodeLog
Constants ¶
View Source
const ( CreateJobURI = "/createItem" UpdateJobURI = "/job/%s/config.xml" StopJobURI = "/job/%s/%d/stop" CancelQueueItemURI = "/queue/cancelItem?id=%d" DeleteBuildURI = "/job/%s/%d/doDelete" GetCrumbURI = "/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,\":\",//crumb)" JenkinsJobBuildURI = "/job/%s/build" JenkinsJobInfoURI = "/job/%s/api/json" JenkinsSetCredURI = "/credentials/store/system/domain/_/createCredentials" JenkinsGetCredURI = "/credentials/store/system/domain/_/credential/%s/api/json" JenkinsDeleteCredURI = "/credentials/store/system/domain/_/credential/%s/doDelete" JenkinsBuildInfoURI = "/job/%s/lastBuild/api/json" JenkinsWFBuildInfoURI = "/job/%s/lastBuild/wfapi" JenkinsWFNodeInfoURI = "/job/%s/lastBuild/execution/node/%s/wfapi" JenkinsWFNodeLogURI = "/job/%s/lastBuild/execution/node/%s/wfapi/log" JenkinsBuildLogURI = "/job/%s/%d/timestamps/?elapsed=HH'h'mm'm'ss's'S'ms'&appendLog" ScriptURI = "/scriptText" PrepareWFNodeID = "5" )
View Source
const ( GitScmClass = "hudson.plugins.git.GitSCM" GitScmPlugin = "git@3.3.1" ScmConfigVersion = 2 WorkflowJobPlugin = "workflow-job@2.17" FlowDefinitionClass = "org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition" FlowDefinitionPlugin = "workflow-cps@2.43" JenkinsJobPrefix = "Rancher_Pipeline_" )
Variables ¶
View Source
var ( ErrNotFound = errors.New("Not Found") ErrCreateJobFail = errors.New("Create Job fail") ErrUpdateJobFail = errors.New("Update Job fail") ErrStopJobFail = errors.New("Stop Job fail") ErrDeleteBuildFail = errors.New("Delete Build fail") ErrBuildJobFail = errors.New("Build Job fail") ErrGetBuildInfoFail = errors.New("Get Build Info fail") ErrGetJobInfoFail = errors.New("Get Job Info fail") )
View Source
var JenkinsDefaultToken = "admin"
View Source
var JenkinsDefaultUser = "admin"
Functions ¶
This section is empty.
Types ¶
type Build ¶
type Build struct {
ID string `json:"id,omitempty"`
KeepLog bool `json:"keepLog,omitempty"`
Number int `json:"number,omitempty"`
QueueID int `json:"queueId,omitempty"`
Result string `json:"result,omitempty"`
TimeStamp int64 `json:"timestamp,omitempty"`
BuiltOn string `json:"builtOn,omitempty"`
ChangeSet ChangeSet `json:"chanSet,omitempty"`
Duration int `json:"duration,omitempty"`
EstimatedDuration int `json:"estimatedDuration,omitempty"`
Building bool `json:"building,omitempty"`
}
type BuildInfo ¶
type BuildInfo struct {
Class string `json:"_class"`
Actions []struct {
Class string `json:"_class"`
BuildsByBranchName struct {
OriginMaster struct {
Class string `json:"_class"`
BuildNumber int64 `json:"buildNumber"`
BuildResult interface{} `json:"buildResult"`
Marked struct {
SHA1 string `json:"SHA1"`
Branch []struct {
SHA1 string `json:"SHA1"`
Name string `json:"name"`
} `json:"branch"`
} `json:"marked"`
Revision struct {
SHA1 string `json:"SHA1"`
Branch []struct {
SHA1 string `json:"SHA1"`
Name string `json:"name"`
} `json:"branch"`
} `json:"revision"`
} `json:"origin/master"`
} `json:"buildsByBranchName"`
Causes []struct {
Class string `json:"_class"`
ShortDescription string `json:"shortDescription"`
UserID string `json:"userId"`
UserName string `json:"userName"`
} `json:"causes"`
LastBuiltRevision struct {
SHA1 string `json:"SHA1"`
Branch []struct {
SHA1 string `json:"SHA1"`
Name string `json:"name"`
} `json:"branch"`
} `json:"lastBuiltRevision"`
RemoteUrls []string `json:"remoteUrls"`
ScmName string `json:"scmName"`
} `json:"actions"`
Artifacts []interface{} `json:"artifacts"`
Building bool `json:"building"`
BuiltOn string `json:"builtOn"`
ChangeSet struct {
Class string `json:"_class"`
Items []interface{} `json:"items"`
Kind string `json:"kind"`
} `json:"changeSet"`
Description interface{} `json:"description"`
DisplayName string `json:"displayName"`
Duration int64 `json:"duration"`
EstimatedDuration int64 `json:"estimatedDuration"`
Executor interface{} `json:"executor"`
FullDisplayName string `json:"fullDisplayName"`
ID string `json:"id"`
KeepLog bool `json:"keepLog"`
Number int64 `json:"number"`
QueueID int64 `json:"queueId"`
Result string `json:"result"`
Timestamp int64 `json:"timestamp"`
URL string `json:"url"`
}
type BuildTrigger ¶
type BuildTrigger struct {
Spec string `xml:"spec"`
Plugin string `xml:"plugin,attr"`
UpstreamProjects string `xml:"upstreamProjects"`
UpsteamProjects string `xml:"upsteamProjects"`
WatchUpstreamRecursively bool `xml:"watchUpstreamRecursively"`
ThresholdName string `xml:"threshold>name"`
ThresholdOrdinal int `xml:"threshold>ordinal"`
ThresholdColor string `xml:"threshold>color"`
ThresholdCompleteBuild bool `xml:"threshold>completeBuild"`
}
type Client ¶
type Credential ¶
type Definition ¶
type Engine ¶
type Engine struct {
Client *Client
ServiceLister v1.ServiceLister
Secrets v1.SecretInterface
SecretLister v1.SecretLister
ManagementSecretLister v1.SecretLister
SourceCodeCredentialLister v3.SourceCodeCredentialLister
ClusterName string
Dialer dialer.Factory
}
func (Engine) GetStepLog ¶
func (*Engine) RerunExecution ¶
func (j *Engine) RerunExecution(execution *v3.PipelineExecution) error
func (*Engine) RunPipelineExecution ¶
func (j *Engine) RunPipelineExecution(execution *v3.PipelineExecution, triggerType string) error
func (*Engine) StopExecution ¶
func (j *Engine) StopExecution(execution *v3.PipelineExecution) error
func (*Engine) SyncExecution ¶
func (j *Engine) SyncExecution(execution *v3.PipelineExecution) (bool, error)
type FlowNode ¶
type FlowNode struct {
ID string `json:"id"`
Name string `json:"name"`
ExecNode string `json:"execNode"`
Status string `json:"status"`
ParameterDescription string `json:"parameterDescription"`
StartTimeMillis int64 `json:"startTimeMillis"`
DurationMillis int64 `json:"durationMillis"`
PauseDurationMillis int64 `json:"pauseDurationMillis"`
Error NodeError `json:"error"`
}
type GroovyScript ¶
type JobInfo ¶
type JobInfo struct {
Class string `json:"_class"`
Actions []struct {
Class string `json:"_class"`
} `json:"actions"`
Buildable bool `json:"buildable"`
Builds []struct {
Class string `json:"_class"`
Number int64 `json:"number"`
URL string `json:"url"`
} `json:"builds"`
Color string `json:"color"`
ConcurrentBuild bool `json:"concurrentBuild"`
Description string `json:"description"`
DisplayName string `json:"displayName"`
DisplayNameOrNull interface{} `json:"displayNameOrNull"`
DownstreamProjects []struct {
Class string `json:"_class"`
Color string `json:"color"`
Name string `json:"name"`
URL string `json:"url"`
} `json:"downstreamProjects"`
FirstBuild struct {
Class string `json:"_class"`
Number int64 `json:"number"`
URL string `json:"url"`
} `json:"firstBuild"`
FullDisplayName string `json:"fullDisplayName"`
FullName string `json:"fullName"`
HealthReport []struct {
Description string `json:"description"`
IconClassName string `json:"iconClassName"`
IconURL string `json:"iconUrl"`
Score int64 `json:"score"`
} `json:"healthReport"`
InQueue bool `json:"inQueue"`
KeepDependencies bool `json:"keepDependencies"`
LastBuild struct {
Class string `json:"_class"`
Number int64 `json:"number"`
URL string `json:"url"`
} `json:"lastBuild"`
LastCompletedBuild struct {
Class string `json:"_class"`
Number int64 `json:"number"`
URL string `json:"url"`
} `json:"lastCompletedBuild"`
LastFailedBuild struct {
Class string `json:"_class"`
Number int64 `json:"number"`
URL string `json:"url"`
} `json:"lastFailedBuild"`
LastStableBuild interface{} `json:"lastStableBuild"`
LastSuccessfulBuild interface{} `json:"lastSuccessfulBuild"`
LastUnstableBuild interface{} `json:"lastUnstableBuild"`
LastUnsuccessfulBuild struct {
Class string `json:"_class"`
Number int64 `json:"number"`
URL string `json:"url"`
} `json:"lastUnsuccessfulBuild"`
Name string `json:"name"`
NextBuildNumber int64 `json:"nextBuildNumber"`
Property []interface{} `json:"property"`
QueueItem interface{} `json:"queueItem"`
Scm struct {
Class string `json:"_class"`
} `json:"scm"`
UpstreamProjects []interface{} `json:"upstreamProjects"`
URL string `json:"url"`
}
type PipelineJob ¶
type PipelineJob struct {
XMLName xml.Name `xml:"flow-definition"`
Plugin string `xml:"plugin,attr"`
Definition Definition `xml:"definition"`
}
func ConvertPipelineExecutionToJenkinsPipeline ¶
func ConvertPipelineExecutionToJenkinsPipeline(execution *v3.PipelineExecution) (PipelineJob, error)
type PostBuildTask ¶
type PostBuildTask struct {
Plugin string `xml:"plugin,attr"`
GroovyScript GroovyScript `xml:"script"`
Behavior int `xml:"behavior"`
RunForMatrixParent bool `xml:"runForMatrixParent"`
}
type PreSCMBuildStepsWrapper ¶
type Project ¶
type Project struct {
XMLName xml.Name `xml:"project"`
Actions string `xml:"actions"`
Description string `xml:"description"`
KeepDependencies bool `xml:"keepDependencies"`
Properties string
Scm Scm `xml:"scm"`
AssignedNode string `xml:"assignedNode"`
CanRoam bool `xml:"canRoam"`
Disabled bool `xml:"disabled"`
BlockBuildWhenDownstreamBuilding bool `xml:"blockBuildWhenDownstreamBuilding"`
BlockBuildWhenUpstreamBuilding bool `xml:"blockBuildWhenUpstreamBuilding"`
Triggers Trigger `xml:"triggers"`
ConcurrentBuild bool `xml:"concurrentBuild"`
CustomWorkspace string `xml:"customWorkspace"`
Builders Builder `xml:"builders,omitempty"`
Publishers PostBuildTask `xml:"publishers>org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder"`
TimeStampWrapper TimestampWrapperPlugin `xml:"buildWrappers>hudson.plugins.timestamper.TimestamperBuildWrapper"`
TimeoutWrapper *TimeoutWrapperPlugin `xml:"buildWrappers>hudson.plugins.build__timeout.BuildTimeoutWrapper"`
PreSCMBuildStepsWrapper PreSCMBuildStepsWrapper `xml:"buildWrappers>org.jenkinsci.plugins.preSCMbuildstep.PreSCMBuildStepsWrapper"`
}
type Scm ¶
type Scm struct {
Class string `xml:"class,attr"`
Plugin string `xml:"plugin,attr"`
ConfigVersion int `xml:"configVersion"`
GitRepo string `xml:"userRemoteConfigs>hudson.plugins.git.UserRemoteConfig>url"`
GitCredentialID string `xml:"userRemoteConfigs>hudson.plugins.git.UserRemoteConfig>credentialsId"`
GitBranch string `xml:"branches>hudson.plugins.git.BranchSpec>name"`
DoGenerateSubmoduleConfigurations bool `xml:"doGenerateSubmoduleConfigurations"`
SubmodelCfg string `xml:"submoduleCfg,omitempty"`
Extensions string `xml:"extensions"`
}
type TimeoutStrategy ¶
type TimeoutWrapperPlugin ¶
type TimeoutWrapperPlugin struct {
Plugin string `xml:"plugin,attr"`
Strategy TimeoutStrategy `xml:"strategy"`
Operation string `xml:"operationList>hudson.plugins.build__timeout.operations.FailOperation"`
}
type TimestampWrapperPlugin ¶
type TimestampWrapperPlugin struct {
Plugin string `xml:"plugin,attr"`
}
type Trigger ¶
type Trigger struct {
BuildTrigger *BuildTrigger `xml:"jenkins.triggers.ReverseBuildTrigger,omitempty"`
FanInReverseBuildTrigger *BuildTrigger `xml:"org.lonkar.jobfanin.FanInReverseBuildTrigger,omitempty"`
}
type WFBuildInfo ¶
type WFBuildInfo struct {
ID string `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
StartTimeMillis int64 `json:"startTimeMillis"`
EndTimeMillis int64 `json:"endTimeMillis"`
DurationMillis int64 `json:"durationMillis"`
QueueDurationMillis int64 `json:"queueDurationMillis"`
PauseDurationMillis int64 `json:"pauseDurationMillis"`
Stages []Stage `json:"stages"`
}
type WFNodeInfo ¶
type WFNodeInfo struct {
ID string `json:"id"`
Name string `json:"name"`
Status string `json:"status"`
StartTimeMillis int64 `json:"startTimeMillis"`
EndTimeMillis int64 `json:"endTimeMillis"`
DurationMillis int64 `json:"durationMillis"`
ParseDurationMillis int64 `json:"parseDurationMillis"`
PauseDurationMillis int64 `json:"pauseDurationMillis"`
StageFlowNodes []Stage `json:"stageFlowNodes"`
}
Click to show internal directories.
Click to hide internal directories.