orchestrator

package
v0.0.0-...-40d4f7c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 4, 2024 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BuildStatusSuccess    = "SUCCESS"
	BuildStatusAborted    = "ABORTED"
	BuildStatusFailure    = "FAILURE"
	BuildStatusInProgress = "IN_PROGRESS"

	BuildReasonManual          = "Manual"
	BuildReasonSchedule        = "Schedule"
	BuildReasonPullRequest     = "PullRequest"
	BuildReasonResourceTrigger = "ResourceTrigger"
	BuildReasonIndividualCI    = "IndividualCI"
	BuildReasonUnknown         = "Unknown"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AzureDevOpsConfigProvider

type AzureDevOpsConfigProvider struct {
	// contains filtered or unexported fields
}

func (*AzureDevOpsConfigProvider) GetBranch

func (a *AzureDevOpsConfigProvider) GetBranch() string

GetBranch returns the source branch name, e.g. main

func (*AzureDevOpsConfigProvider) GetBuildID

func (a *AzureDevOpsConfigProvider) GetBuildID() string

GetBuildID returns the BuildNumber displayed in the ADO UI

func (*AzureDevOpsConfigProvider) GetBuildReason

func (a *AzureDevOpsConfigProvider) GetBuildReason() string

GetBuildReason returns the build reason

func (*AzureDevOpsConfigProvider) GetBuildStatus

func (a *AzureDevOpsConfigProvider) GetBuildStatus() string

GetBuildStatus returns status of the build. Return variables are aligned with Jenkins build statuses.

func (*AzureDevOpsConfigProvider) GetBuildURL

func (a *AzureDevOpsConfigProvider) GetBuildURL() string

GetBuildURL returns the builds URL e.g. https://dev.azure.com/fabrikamfiber/your-repo-name/_build/results?buildId=1234

func (*AzureDevOpsConfigProvider) GetChangeSet

func (a *AzureDevOpsConfigProvider) GetChangeSet() []ChangeSet

func (*AzureDevOpsConfigProvider) GetCommit

func (a *AzureDevOpsConfigProvider) GetCommit() string

GetCommit returns commit SHA of current build

func (*AzureDevOpsConfigProvider) GetJobName

func (a *AzureDevOpsConfigProvider) GetJobName() string

GetJobName returns the pipeline job name, currently org/repo

func (*AzureDevOpsConfigProvider) GetJobURL

func (a *AzureDevOpsConfigProvider) GetJobURL() string

GetJobURL returns tje current job url e.g. https://dev.azure.com/fabrikamfiber/your-repo-name/_build?definitionId=1234

func (*AzureDevOpsConfigProvider) GetLog

func (a *AzureDevOpsConfigProvider) GetLog() ([]byte, error)

GetLog returns the whole logfile for the current pipeline run

func (*AzureDevOpsConfigProvider) GetPipelineStartTime

func (a *AzureDevOpsConfigProvider) GetPipelineStartTime() time.Time

GetPipelineStartTime returns the pipeline start time in UTC

func (*AzureDevOpsConfigProvider) GetPullRequestConfig

func (a *AzureDevOpsConfigProvider) GetPullRequestConfig() PullRequestConfig

GetPullRequestConfig returns pull request configuration

func (*AzureDevOpsConfigProvider) GetReference

func (a *AzureDevOpsConfigProvider) GetReference() string

GetReference return the git reference

func (*AzureDevOpsConfigProvider) GetRepoURL

func (a *AzureDevOpsConfigProvider) GetRepoURL() string

GetRepoURL returns current repo URL e.g. https://github.com/khulnasoft/jenkins-pipelines

func (*AzureDevOpsConfigProvider) GetStageName

func (a *AzureDevOpsConfigProvider) GetStageName() string

GetStageName returns the human-readable name given to a stage. e.g. "Promote" or "Init"

func (*AzureDevOpsConfigProvider) InitOrchestratorProvider

func (a *AzureDevOpsConfigProvider) InitOrchestratorProvider(settings *OrchestratorSettings)

InitOrchestratorProvider initializes http client for AzureDevopsConfigProvider

func (*AzureDevOpsConfigProvider) IsPullRequest

func (a *AzureDevOpsConfigProvider) IsPullRequest() bool

IsPullRequest indicates whether the current build is a PR

func (*AzureDevOpsConfigProvider) OrchestratorType

func (a *AzureDevOpsConfigProvider) OrchestratorType() string

OrchestratorType returns the orchestrator name e.g. Azure/GitHubActions/Jenkins

func (*AzureDevOpsConfigProvider) OrchestratorVersion

func (a *AzureDevOpsConfigProvider) OrchestratorVersion() string

OrchestratorVersion returns the agent version on ADO

type ChangeSet

type ChangeSet struct {
	CommitId  string
	Timestamp string
	PrNumber  int
}

type GitHubActionsConfigProvider

type GitHubActionsConfigProvider struct {
	// contains filtered or unexported fields
}

func (*GitHubActionsConfigProvider) GetBranch

func (g *GitHubActionsConfigProvider) GetBranch() string

GetBranch returns the source branch name, e.g. main

func (*GitHubActionsConfigProvider) GetBuildID

func (g *GitHubActionsConfigProvider) GetBuildID() string

GetBuildID returns current run ID

func (*GitHubActionsConfigProvider) GetBuildReason

func (g *GitHubActionsConfigProvider) GetBuildReason() string

GetBuildReason returns the reason of workflow trigger. BuildReasons are unified with AzureDevOps build reasons, see https://docs.microsoft.com/en-us/azure/devops/pipelines/build/variables?view=azure-devops&tabs=yaml#build-variables-devops-services

func (*GitHubActionsConfigProvider) GetBuildStatus

func (g *GitHubActionsConfigProvider) GetBuildStatus() string

GetBuildStatus returns current run status

func (*GitHubActionsConfigProvider) GetBuildURL

func (g *GitHubActionsConfigProvider) GetBuildURL() string

GetBuildURL returns the builds URL. The URL should point to the pipeline (not to the stage) that is currently being executed. For example, https://github.com/khulnasoft/jenkins-pipelines/actions/runs/5815297487

func (*GitHubActionsConfigProvider) GetChangeSet

func (g *GitHubActionsConfigProvider) GetChangeSet() []ChangeSet

func (*GitHubActionsConfigProvider) GetCommit

func (g *GitHubActionsConfigProvider) GetCommit() string

GetCommit returns the commit SHA that triggered the workflow. For example, ffac537e6cbbf934b08745a378932722df287a53

func (*GitHubActionsConfigProvider) GetJobName

func (g *GitHubActionsConfigProvider) GetJobName() string

GetJobName returns the current workflow name. For example, "Piper workflow"

func (*GitHubActionsConfigProvider) GetJobURL

func (g *GitHubActionsConfigProvider) GetJobURL() string

GetJobURL returns the job URL. The URL should point to project’s pipelines. For example, https://github.com/khulnasoft/jenkins-pipelines/actions/workflows/workflow-file-name.yaml

func (*GitHubActionsConfigProvider) GetLog

func (g *GitHubActionsConfigProvider) GetLog() ([]byte, error)

GetLog returns the whole logfile for the current pipeline run

func (*GitHubActionsConfigProvider) GetPipelineStartTime

func (g *GitHubActionsConfigProvider) GetPipelineStartTime() time.Time

GetPipelineStartTime returns the pipeline start time in UTC

func (*GitHubActionsConfigProvider) GetPullRequestConfig

func (g *GitHubActionsConfigProvider) GetPullRequestConfig() PullRequestConfig

GetPullRequestConfig returns pull request configuration

func (*GitHubActionsConfigProvider) GetReference

func (g *GitHubActionsConfigProvider) GetReference() string

GetReference return the git reference. For example, refs/heads/your_branch_name

func (*GitHubActionsConfigProvider) GetRepoURL

func (g *GitHubActionsConfigProvider) GetRepoURL() string

GetRepoURL returns full url to repository. For example, https://github.com/khulnasoft/jenkins-pipelines

func (*GitHubActionsConfigProvider) GetStageName

func (g *GitHubActionsConfigProvider) GetStageName() string

GetStageName returns the human-readable name given to a stage.

func (*GitHubActionsConfigProvider) InitOrchestratorProvider

func (g *GitHubActionsConfigProvider) InitOrchestratorProvider(settings *OrchestratorSettings)

InitOrchestratorProvider initializes http client for GitHubActionsDevopsConfigProvider

func (*GitHubActionsConfigProvider) IsPullRequest

func (g *GitHubActionsConfigProvider) IsPullRequest() bool

IsPullRequest indicates whether the current build is triggered by a PR

func (*GitHubActionsConfigProvider) OrchestratorType

func (g *GitHubActionsConfigProvider) OrchestratorType() string

func (*GitHubActionsConfigProvider) OrchestratorVersion

func (g *GitHubActionsConfigProvider) OrchestratorVersion() string

type JenkinsConfigProvider

type JenkinsConfigProvider struct {
	// contains filtered or unexported fields
}

func (*JenkinsConfigProvider) GetBranch

func (j *JenkinsConfigProvider) GetBranch() string

GetBranch returns the branch name, only works with the git plugin enabled

func (*JenkinsConfigProvider) GetBuildID

func (j *JenkinsConfigProvider) GetBuildID() string

GetBuildID returns the build ID of the current job, e.g. 1234

func (*JenkinsConfigProvider) GetBuildReason

func (j *JenkinsConfigProvider) GetBuildReason() string

GetBuildReason returns the build reason of the current build

func (*JenkinsConfigProvider) GetBuildStatus

func (j *JenkinsConfigProvider) GetBuildStatus() string

GetBuildStatus returns build status of the current job

func (*JenkinsConfigProvider) GetBuildURL

func (j *JenkinsConfigProvider) GetBuildURL() string

GetBuildURL returns the build url, e.g. https://jaas.url/job/foo/job/bar/job/main/1234/

func (*JenkinsConfigProvider) GetChangeSet

func (j *JenkinsConfigProvider) GetChangeSet() []ChangeSet

GetChangeSet returns the commitIds and timestamp of the changeSet of the current run

func (*JenkinsConfigProvider) GetCommit

func (j *JenkinsConfigProvider) GetCommit() string

GetCommit returns the commit SHA from the current build, only works with the git plugin enabled

func (*JenkinsConfigProvider) GetJobName

func (j *JenkinsConfigProvider) GetJobName() string

GetJobName returns the job name of the current job e.g. foo/bar/BRANCH

func (*JenkinsConfigProvider) GetJobURL

func (j *JenkinsConfigProvider) GetJobURL() string

GetJobURL returns the current job URL e.g. https://jaas.url/job/foo/job/bar/job/main

func (*JenkinsConfigProvider) GetLog

func (j *JenkinsConfigProvider) GetLog() ([]byte, error)

GetLog returns the logfile from the current job as byte object

func (*JenkinsConfigProvider) GetPipelineStartTime

func (j *JenkinsConfigProvider) GetPipelineStartTime() time.Time

GetPipelineStartTime returns the pipeline start time in UTC

func (*JenkinsConfigProvider) GetPullRequestConfig

func (j *JenkinsConfigProvider) GetPullRequestConfig() PullRequestConfig

GetPullRequestConfig returns the pull request config

func (*JenkinsConfigProvider) GetReference

func (j *JenkinsConfigProvider) GetReference() string

GetReference returns the git reference, only works with the git plugin enabled

func (*JenkinsConfigProvider) GetRepoURL

func (j *JenkinsConfigProvider) GetRepoURL() string

GetRepoURL returns the repo URL of the current build, only works with the git plugin enabled

func (*JenkinsConfigProvider) GetStageName

func (j *JenkinsConfigProvider) GetStageName() string

GetStageName returns the stage name the job is currently in, e.g. Promote

func (*JenkinsConfigProvider) InitOrchestratorProvider

func (j *JenkinsConfigProvider) InitOrchestratorProvider(settings *OrchestratorSettings)

InitOrchestratorProvider initializes the Jenkins orchestrator with credentials

func (*JenkinsConfigProvider) IsPullRequest

func (j *JenkinsConfigProvider) IsPullRequest() bool

IsPullRequest returns boolean indicating if current job is a PR

func (*JenkinsConfigProvider) OrchestratorType

func (j *JenkinsConfigProvider) OrchestratorType() string

OrchestratorType returns the orchestrator type Jenkins

func (*JenkinsConfigProvider) OrchestratorVersion

func (j *JenkinsConfigProvider) OrchestratorVersion() string

OrchestratorVersion returns the orchestrator version currently running on

type Orchestrator

type Orchestrator int
const (
	Unknown Orchestrator = iota
	AzureDevOps
	GitHubActions
	Jenkins
)

func DetectOrchestrator

func DetectOrchestrator() Orchestrator

DetectOrchestrator returns the name of the current orchestrator e.g. Jenkins, Azure, Unknown

func (Orchestrator) String

func (o Orchestrator) String() string

type OrchestratorSettings

type OrchestratorSettings struct {
	JenkinsUser  string
	JenkinsToken string
	AzureToken   string
	GitHubToken  string
}

OrchestratorSettings struct to set orchestrator specific settings e.g. Jenkins credentials

type OrchestratorSpecificConfigProviding

type OrchestratorSpecificConfigProviding interface {
	InitOrchestratorProvider(settings *OrchestratorSettings)
	OrchestratorType() string
	OrchestratorVersion() string
	GetStageName() string
	GetBranch() string
	GetReference() string
	GetBuildURL() string
	GetBuildID() string
	GetJobURL() string
	GetJobName() string
	GetCommit() string
	GetPullRequestConfig() PullRequestConfig
	GetRepoURL() string
	IsPullRequest() bool
	GetLog() ([]byte, error)
	GetPipelineStartTime() time.Time
	GetBuildStatus() string
	GetBuildReason() string
	GetChangeSet() []ChangeSet
}

func NewOrchestratorSpecificConfigProvider

func NewOrchestratorSpecificConfigProvider() (OrchestratorSpecificConfigProviding, error)

type PullRequestConfig

type PullRequestConfig struct {
	Branch string
	Base   string
	Key    string
}

type UnknownOrchestratorConfigProvider

type UnknownOrchestratorConfigProvider struct{}

func (*UnknownOrchestratorConfigProvider) GetBranch

GetBranch returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetBuildID

func (u *UnknownOrchestratorConfigProvider) GetBuildID() string

GetBuildID returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetBuildReason

func (u *UnknownOrchestratorConfigProvider) GetBuildReason() string

GetBuildReason returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetBuildStatus

func (u *UnknownOrchestratorConfigProvider) GetBuildStatus() string

GetBuildStatus returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetBuildURL

func (u *UnknownOrchestratorConfigProvider) GetBuildURL() string

GetBuildURL returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetChangeSet

func (u *UnknownOrchestratorConfigProvider) GetChangeSet() []ChangeSet

func (*UnknownOrchestratorConfigProvider) GetCommit

GetCommit returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetJobName

func (u *UnknownOrchestratorConfigProvider) GetJobName() string

GetJobName returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetJobURL

GetJobURL returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetLog

func (u *UnknownOrchestratorConfigProvider) GetLog() ([]byte, error)

GetLog returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetPipelineStartTime

func (u *UnknownOrchestratorConfigProvider) GetPipelineStartTime() time.Time

GetPipelineStartTime returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetPullRequestConfig

func (u *UnknownOrchestratorConfigProvider) GetPullRequestConfig() PullRequestConfig

GetPullRequestConfig returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetReference

func (u *UnknownOrchestratorConfigProvider) GetReference() string

GetReference returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetRepoURL

func (u *UnknownOrchestratorConfigProvider) GetRepoURL() string

GetRepoURL returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) GetStageName

func (u *UnknownOrchestratorConfigProvider) GetStageName() string

GetStageName returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) InitOrchestratorProvider

func (u *UnknownOrchestratorConfigProvider) InitOrchestratorProvider(settings *OrchestratorSettings)

InitOrchestratorProvider returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) IsPullRequest

func (u *UnknownOrchestratorConfigProvider) IsPullRequest() bool

IsPullRequest returns false for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) OrchestratorType

func (u *UnknownOrchestratorConfigProvider) OrchestratorType() string

OrchestratorType returns n/a for the unknownOrchestrator

func (*UnknownOrchestratorConfigProvider) OrchestratorVersion

func (u *UnknownOrchestratorConfigProvider) OrchestratorVersion() string

OrchestratorVersion returns n/a for the unknownOrchestrator

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL