Documentation ¶
Index ¶
- Constants
- Variables
- func ActionInfoMarkdown(a Action, filename string) string
- func ActionsToGroupIDs(as []*Action) []int64
- func ActionsToIDs(as []*Action) []int64
- func AddParameter(array *[]Parameter, name string, parameterType string, value string)
- func AddRequirement(array *RequirementList, id int64, name string, requirementType string, ...)
- func AllowIntegrationInVariable(model IntegrationModel) bool
- func AuthConsumersToAuthentifiedUserIDs(cs []*AuthUserConsumer) []string
- func AuthConsumersToIDs(cs []AuthUserConsumer) []string
- func AuthentifiedUsersToIDs(users []*AuthentifiedUser) []string
- func BinaryFilename(name, os, arch, variant string) string
- func Cause(err error) error
- func CheckContentTypeBinary(resp *http.Response) error
- func CleanPath(path string) string
- func ComputeWorkerModelPath(groupName, modelName string) string
- func ContextWithStacktrace(ctx context.Context, err error) context.Context
- func CreateTarFromPaths(fs afero.Fs, cwd string, paths []string, w io.Writer, opts *TarOptions) error
- func DecodeError(data []byte) error
- func DefaultIfEmptyStorage(integrationName string) string
- func DeleteEmptyValueFromArray(array []string) []string
- func DeleteFromArray(array []string, el string) []string
- func DeleteFromInt64Array(array []int64, el int64) []int64
- func DirectoryExists(path string) (bool, error)
- func DownloadFromGitHub(ctx context.Context, directory, filename string, version string) error
- func DownloadURLFromGithub(filename string, version string) (string, error)
- func EnvVartoENV(p Parameter) []string
- func ErrorIs(err error, target Error) bool
- func ErrorIsUnknown(err error) bool
- func ErrorWithFallback(err error, httpError Error, from string, args ...interface{}) error
- func Errorf(format string, args ...interface{}) error
- func Exit(format string, args ...interface{})
- func FileMd5sum(filePath string) (string, error)
- func FileSHA512sum(filePath string) (string, error)
- func FormatDateRFC5322(date time.Time) string
- func FromGitToHumanError(targetError, err error) error
- func GenerateHash() (string, error)
- func GenerateHookSecret() (string, error)
- func GenerateProjectDefaultKeyName(projectKey string, t KeyType) string
- func GenerateRepositoryWebHookSecret(hookSecretKey, vcsName, repoName string) string
- func GetActionJsonSchema(publicActionNames []string) *jsonschema.Schema
- func GetContentType(resp *http.Response) string
- func GetFuncName(i interface{}) string
- func GetIntegrationVariablePrefix(model IntegrationModel) string
- func GetJobJsonSchema(publicActionNames []string, regionNames []string, workerModels []string) *jsonschema.Schema
- func GetJobStepName(stepID string, stepIndex int) string
- func GetManageRoleByEntity(entityType string) (string, error)
- func GetWorkerModelJsonSchema() *jsonschema.Schema
- func GetWorkflowJsonSchema(publicActionNames, regionNames, workerModelNames []string) *jsonschema.Schema
- func GoroutineID() uint64
- func GroupPointersToIDs(gs []*Group) []int64
- func Hash512(in string) string
- func IPinRange(ctx context.Context, IPrange string) ([]string, error)
- func IPinRanges(ctx context.Context, IPranges string) ([]string, error)
- func ImportGPGKey(dir string, keyName string, publicKey string) (string, []byte, error)
- func InitSupportedOSArch(supportedOSArchConf []string) error
- func IntMapToSlice(m map[int64]struct{}) []int64
- func InterfaceSlice(slice interface{}) []interface{}
- func IsDefaultHooks(on *WorkflowOn) []string
- func IsDownloadedBinary(directoriesDownload, filename string) bool
- func IsErrorWithStack(err error) bool
- func IsGz(buf []byte) bool
- func IsInArray(elt string, array []string) bool
- func IsInInt64Array(elt int64, array []int64) bool
- func IsJobIDForRegister(jobID string) bool
- func IsTar(buf []byte) bool
- func IsURL(path string) bool
- func IsValidEmail(email string) bool
- func IsValidHookPath(ctx context.Context, configuredPaths []string, paths []string) bool
- func IsValidHookRefs(ctx context.Context, configuredRefs []string, currentEventRef string) bool
- func IsValidPermissionValue(v int) bool
- func IsValidUUID(uu string) bool
- func IsValidUsername(username string) error
- func JSONUnmarshal(btes []byte, i interface{}) error
- func JSONWithoutHTMLEncode(t interface{}) ([]byte, error)
- func ListGoroutines() ([]*stack.Goroutine, error)
- func LookPath(fs afero.Fs, file string) (string, error)
- func MapHasKeys(i interface{}, expectedKeys ...interface{}) bool
- func MessagesToError(messages []Message) error
- func ModelsToGroupIDs(ms []*Model) []int64
- func NeedPlaceholder(t string) bool
- func NewArtifactoryClient(url string, token string) (artifactory.ArtifactoryServicesManager, error)
- func NewError(httpError Error, err error) error
- func NewErrorFrom(err error, from string, args ...interface{}) error
- func NewErrorWithStack(root error, err error) error
- func NoPath(path string) string
- func OneLineValue(v string) string
- func ParameterAddOrSetValue(vars *[]Parameter, name string, parameterType string, value string)
- func ParameterValue(vars []Parameter, s string) string
- func ParametersFromApplicationKeys(app Application) map[string]string
- func ParametersFromApplicationVariables(app Application) map[string]string
- func ParametersFromEnvironmentKeys(env Environment) map[string]string
- func ParametersFromEnvironmentVariables(env Environment) map[string]string
- func ParametersFromIntegration(prefix string, ppf IntegrationConfig) map[string]string
- func ParametersFromPipelineParameters(pipParams []Parameter) map[string]string
- func ParametersFromProjectVariables(proj Project) map[string]string
- func ParametersMapMerge(params map[string]string, otherParams map[string]string, ...) map[string]string
- func ParametersToMap(params []Parameter) map[string]string
- func ParseDateRFC5322(date string) (time.Time, error)
- func PathIsAbs(s string) bool
- func ProjectsToIDs(ps []Project) []int64
- func RandomString(strlen int) string
- func ReflectFieldByTag(i interface{}, tagKey, tagValues string) interface{}
- func RemoveNotPrintableChar(in string) string
- func Round(d, r time.Duration) time.Duration
- func SHA512sum(s string) (string, error)
- func StatusIsTerminated(status string) bool
- func StatusValidate(status ...string) bool
- func StringFirstN(s string, i int) string
- func StringIsAscii(s string) bool
- func TimeSafe(t *time.Time) time.Time
- func UUID() string
- func Untar(fs afero.Fs, dst string, r io.Reader) error
- func UntarGz(fs afero.Fs, dst string, r io.Reader) error
- func VCSCommitStatusContextV1(projKey, workflowName string, evt EventRunWorkflowNode) string
- func VCSIsSameCommit(sha1, sha1b string) bool
- func ValidAndNotEmpty(v reflect.Value) bool
- func ValueFromInterface(i interface{}) reflect.Value
- func VersionString() string
- func WithData(err error, data interface{}) error
- func WithStack(err error) error
- func WorkerModelValidate(modelType string) bool
- func WorkflowCheckConditions(conditions []WorkflowNodeCondition, params []Parameter) (bool, error)
- func WorkflowJobParents(w V2Workflow, jobID string) []string
- func WorkflowTemplateInstancesToIDs(wtis []*WorkflowTemplateInstance) []int64
- func WorkflowTemplateInstancesToWorkflowIDs(wtis []*WorkflowTemplateInstance) []int64
- func WorkflowTemplateInstancesToWorkflowTemplateIDs(wtis []*WorkflowTemplateInstance) []int64
- func WorkflowTemplatesToGroupIDs(wts []*WorkflowTemplate) []int64
- func WorkflowTemplatesToIDs(wts []*WorkflowTemplate) []int64
- func WorkflowToIDs(ws []*Workflow) []int64
- func WrapError(err error, format string, args ...interface{}) error
- type APIConfig
- type Action
- func (a *Action) Add(child Action) *Action
- func (a *Action) FlattenRequirements() RequirementList
- func (a Action) IsValid() error
- func (a Action) IsValidDefault() error
- func (a *Action) Parameter(p Parameter) *Action
- func (a *Action) Requirement(name string, t string, value string) *Action
- func (a *Action) Scan(src interface{}) error
- func (a Action) ToSummary() ActionSummary
- func (a Action) ToUniqueChildrenIDs() []int64
- func (a Action) Value() (driver.Value, error)
- type ActionContext
- type ActionFunc
- type ActionInput
- type ActionOutput
- type ActionParser
- func (a *ActionParser) Interpolate(ctx context.Context, input string) (interface{}, error)
- func (a *ActionParser) InterpolateToBool(ctx context.Context, input string) (bool, error)
- func (a *ActionParser) InterpolateToString(ctx context.Context, input string) (string, error)
- func (a *ActionParser) Validate(ctx context.Context, input string) error
- type ActionRuns
- type ActionStep
- type ActionStepUsesWith
- type ActionSummary
- type ActionUsages
- type AnalysisEvent
- type AnalysisRequest
- type AnalysisResponse
- type Application
- type ApplicationKey
- type ApplicationOverview
- type ApplicationOverviewGraph
- type ApplicationTemplate
- type ApplicationTemplates
- type ApplicationVariable
- type ApplicationVariableAudit
- type ArsenalDeploymentDetailAlternative
- type ArtifactResult
- type ArtifactResults
- type ArtifactResultsSearchPage
- type ArtifactsStore
- type AsCodeEvent
- type AsCodeEventData
- type AsCodeEventDataValue
- type Audit
- type AuditAction
- type AuditCommon
- type AuditWorkflow
- type AuditWorkflowTemplate
- type AuditWorkflowTemplateInstance
- type AuthConsumer
- type AuthConsumerCreateResponse
- type AuthConsumerData
- type AuthConsumerHatcheryData
- type AuthConsumerHatcherySigninRequest
- type AuthConsumerHatcherySigninResponse
- type AuthConsumerRegenRequest
- type AuthConsumerScope
- type AuthConsumerScopeDetail
- type AuthConsumerScopeDetails
- type AuthConsumerScopeEndpoint
- type AuthConsumerScopeEndpoints
- type AuthConsumerScopeSlice
- type AuthConsumerSigninRequest
- type AuthConsumerSigninResponse
- type AuthConsumerType
- type AuthConsumerValidityPeriod
- type AuthConsumerValidityPeriods
- type AuthConsumerWarning
- type AuthConsumerWarningType
- type AuthConsumerWarnings
- type AuthCurrentConsumerResponse
- type AuthDriver
- type AuthDriverManifest
- type AuthDriverManifests
- type AuthDriverResponse
- type AuthDriverSigningRedirect
- type AuthDriverUserInfo
- type AuthHatcheryConsumer
- type AuthSession
- type AuthSessionJWTClaims
- type AuthSessions
- type AuthSigninConsumerToken
- type AuthUserConsumer
- func (c AuthUserConsumer) Admin() bool
- func (c AuthUserConsumer) GetEmail() string
- func (c AuthUserConsumer) GetFullname() string
- func (c AuthUserConsumer) GetGroupIDs() []int64
- func (c AuthUserConsumer) GetUsername() string
- func (c AuthUserConsumer) IsValid(scopeDetails AuthConsumerScopeDetails) error
- func (c AuthUserConsumer) Maintainer() bool
- type AuthUserConsumerData
- type AuthUserConsumers
- type AuthentifiedUser
- func (u AuthentifiedUser) GetEmail() string
- func (u AuthentifiedUser) GetFullname() string
- func (u AuthentifiedUser) GetGroupIDs() []int64
- func (u AuthentifiedUser) GetUsername() string
- func (u AuthentifiedUser) IsValid() error
- func (u *AuthentifiedUser) Scan(src interface{}) error
- func (u AuthentifiedUser) Value() (driver.Value, error)
- type AuthentifiedUsers
- type Author
- type BitbucketServerActor
- type BitbucketServerAuthor
- type BitbucketServerChange
- type BitbucketServerComment
- type BitbucketServerParticipant
- type BitbucketServerPreviousTarget
- type BitbucketServerProject
- type BitbucketServerProperties
- type BitbucketServerPullRequest
- type BitbucketServerRef
- type BitbucketServerRepository
- type BitbucketServerWebhookEvent
- type Blur
- type BookedBy
- type Bookmark
- type BuildNumberAndHash
- type CDNApiRef
- func NewCDNApiRef(t CDNItemType, signature cdn.Signature) (CDNApiRef, error)
- func NewCDNLogApiRef(signature cdn.Signature) CDNApiRef
- func NewCDNLogApiRefV2(signature cdn.Signature) CDNApiRef
- func NewCDNRunResultApiRef(signature cdn.Signature) CDNApiRef
- func NewCDNRunResultApiRefV2(signature cdn.Signature) CDNApiRef
- func NewCDNWorkerCacheApiRef(signature cdn.Signature) CDNApiRef
- type CDNConfig
- type CDNDuplicateItemRequest
- type CDNItem
- func (c CDNItem) GetCDNLogApiRef() (*CDNLogAPIRef, bool)
- func (c CDNItem) GetCDNLogApiRefV2() (*CDNLogAPIRefV2, bool)
- func (c CDNItem) GetCDNRunResultApiRef() (*CDNRunResultAPIRef, bool)
- func (c CDNItem) GetCDNRunResultApiRefV2() (*CDNRunResultAPIRefV2, bool)
- func (c CDNItem) GetCDNWorkerCacheApiRef() (*CDNWorkerCacheAPIRef, bool)
- func (c CDNItem) MarshalJSON() ([]byte, error)
- func (c *CDNItem) UnmarshalJSON(data []byte) error
- type CDNItemLink
- type CDNItemLinks
- type CDNItemResume
- type CDNItemType
- type CDNItemUnit
- type CDNLogAPIRef
- type CDNLogAPIRefV2
- type CDNLogLink
- type CDNLogLinkData
- type CDNLogLinks
- type CDNLogsLines
- type CDNMarkDelete
- type CDNReaderFormat
- type CDNRunResultAPIRef
- type CDNRunResultAPIRefV2
- type CDNStreamFilter
- type CDNUnit
- type CDNUnitHandlerRequest
- type CDNWSEvent
- type CDNWorkerCacheAPIRef
- type CDSContext
- type Cache
- type CanonicalFormUsage
- type CanonicalFormUsageResume
- type CanonicalService
- type CheckFunc
- type CheckProjectAccess
- type CommitStatus
- type ConfigUser
- type DatabaseMigrationStatus
- type DefaultValues
- type DownloadableResource
- type Driver
- type DriverWithRedirect
- type DriverWithSignInRequest
- type DriverWithSigninStateToken
- type EncryptFunc
- type EntitiesPermissions
- type Entity
- type EntityCheckResponse
- type EntityEvent
- type EntityFullName
- type EntityWithObject
- type Environment
- type EnvironmentKey
- type EnvironmentTemplate
- type EnvironmentTemplates
- type EnvironmentVariable
- type EnvironmentVariableAudit
- type Error
- type Event
- type EventActionAdd
- type EventActionUpdate
- type EventApplicationAdd
- type EventApplicationDelete
- type EventApplicationKeyAdd
- type EventApplicationKeyDelete
- type EventApplicationPermissionAdd
- type EventApplicationPermissionDelete
- type EventApplicationPermissionUpdate
- type EventApplicationRepositoryAdd
- type EventApplicationRepositoryDelete
- type EventApplicationUpdate
- type EventApplicationVariableAdd
- type EventApplicationVariableDelete
- type EventApplicationVariableUpdate
- type EventAsCodeEvent
- type EventEngine
- type EventEnvironmentAdd
- type EventEnvironmentDelete
- type EventEnvironmentKeyAdd
- type EventEnvironmentKeyDelete
- type EventEnvironmentPermissionAdd
- type EventEnvironmentPermissionDelete
- type EventEnvironmentPermissionUpdate
- type EventEnvironmentUpdate
- type EventEnvironmentVariableAdd
- type EventEnvironmentVariableDelete
- type EventEnvironmentVariableUpdate
- type EventFake
- type EventFilter
- type EventJobSummary
- type EventMaintenance
- type EventNotif
- type EventOperation
- type EventPipelineAdd
- type EventPipelineDelete
- type EventPipelineJobAdd
- type EventPipelineJobDelete
- type EventPipelineJobUpdate
- type EventPipelineParameterAdd
- type EventPipelineParameterDelete
- type EventPipelineParameterUpdate
- type EventPipelinePermissionAdd
- type EventPipelinePermissionDelete
- type EventPipelinePermissionUpdate
- type EventPipelineStageAdd
- type EventPipelineStageDelete
- type EventPipelineStageMove
- type EventPipelineStageUpdate
- type EventPipelineUpdate
- type EventProjectAdd
- type EventProjectDelete
- type EventProjectIntegrationAdd
- type EventProjectIntegrationDelete
- type EventProjectIntegrationUpdate
- type EventProjectKeyAdd
- type EventProjectKeyDelete
- type EventProjectKeyDisable
- type EventProjectKeyEnable
- type EventProjectPermissionAdd
- type EventProjectPermissionDelete
- type EventProjectPermissionUpdate
- type EventProjectRepositoryAdd
- type EventProjectRepositoryAnalyze
- type EventProjectRepositoryDelete
- type EventProjectUpdate
- type EventProjectVCSServerAdd
- type EventProjectVCSServerDelete
- type EventProjectVariableAdd
- type EventProjectVariableDelete
- type EventProjectVariableUpdate
- type EventRetentionWorkflowDryRun
- type EventRunWorkflow
- type EventRunWorkflowJob
- type EventRunWorkflowNode
- type EventRunWorkflowOutgoingHook
- type EventSubscription
- type EventWarningAdd
- type EventWarningDelete
- type EventWarningUpdate
- type EventWorkflowAdd
- type EventWorkflowDelete
- type EventWorkflowPermissionAdd
- type EventWorkflowPermissionDelete
- type EventWorkflowPermissionUpdate
- type EventWorkflowTemplateAdd
- type EventWorkflowTemplateInstanceAdd
- type EventWorkflowTemplateInstanceUpdate
- type EventWorkflowTemplateUpdate
- type EventWorkflowUpdate
- type ExecutedJob
- type ExecutedJobSummary
- type Expiration
- type Favorite
- type FavoriteParams
- type Feature
- type FeatureEnabledResponse
- type FeatureName
- type FileChildren
- type FileInfo
- type FileInfoChecksum
- type FullEventV2
- type GRPCPlugin
- type GRPCPluginBinaries
- type GRPCPluginBinary
- type GateInputs
- type GenerateRepositoryWebhook
- type GerritChangeEvent
- type GerritEventExecution
- type GitContext
- type GlobalEventV2
- type GoRoutine
- type GoRoutines
- func (m *GoRoutines) Exec(c context.Context, name string, fn func(ctx context.Context))
- func (m *GoRoutines) GetStatus() []MonitoringStatusLine
- func (m *GoRoutines) GoRoutine(name string) *GoRoutine
- func (m *GoRoutines) Run(c context.Context, name string, fn func(ctx context.Context))
- func (m *GoRoutines) RunWithRestart(c context.Context, name string, fn func(ctx context.Context))
- func (m *GoRoutines) Stop(name string)
- type Group
- type GroupMember
- type GroupMembers
- type GroupPermission
- type GroupPermissions
- type Groups
- type Hatchery
- type HatcheryConfig
- type HatcheryEvent
- type HatcheryGetResponse
- type HatcheryMetrics
- type HatcheryPendingWorkerCreation
- func (c *HatcheryPendingWorkerCreation) Init()
- func (c *HatcheryPendingWorkerCreation) IsJobAlreadyPendingWorkerCreation(id string) bool
- func (c *HatcheryPendingWorkerCreation) NbJobInPendingWorkerCreation() int
- func (c *HatcheryPendingWorkerCreation) RemoveJobFromPendingWorkerCreation(id string)
- func (c *HatcheryPendingWorkerCreation) SetJobInPendingWorkerCreation(id string) int
- type HatcheryStatus
- type Hook
- type HookAccessData
- type HookAnalysisCallback
- type HookConfigValue
- type HookConfiguration
- type HookEventCallback
- type HookListWorkflowRequest
- type HookManualWorkflowRun
- type HookRepository
- type HookRepositoryEvent
- type HookRepositoryEventAnalysis
- type HookRepositoryEventExtractData
- type HookRepositoryEventWorkflow
- type HookRetrieveSignKeyRequest
- type HookRetrieveUserRequest
- type HookRetrieveUserResponse
- type HookSigninKeyCallback
- type IDName
- type IDNames
- type Identifiable
- type Int64Slice
- type IntegrationConfig
- func (config IntegrationConfig) Blur()
- func (config IntegrationConfig) Clone() IntegrationConfig
- func (config IntegrationConfig) DecryptSecrets(decryptFunc func(string) (string, error)) error
- func (config IntegrationConfig) EncryptSecrets(encryptFunc func(string) (string, error)) error
- func (config *IntegrationConfig) HideSecrets()
- func (config IntegrationConfig) MergeWith(cfg IntegrationConfig)
- func (config *IntegrationConfig) Scan(src interface{}) error
- func (config IntegrationConfig) SetValue(name string, value string)
- func (config IntegrationConfig) Value() (driver.Value, error)
- type IntegrationConfigMap
- type IntegrationConfigValue
- type IntegrationModel
- type IntegrationModelEvent
- type IntegrationType
- type ItemProperty
- type ItemStat
- type JUnitInnerResult
- type JUnitTestCase
- type JUnitTestFailure
- type JUnitTestSkipped
- type JUnitTestSuite
- type JUnitTestsSuites
- type Job
- type JobContext
- type JobContextService
- type JobIntegrationsContext
- type JobMatrix
- type JobResultContext
- type JobResultOutput
- type JobRunContext
- type JobStepStatus
- type JobStepsStatus
- type JobsResultContext
- type KafkaTaskExecution
- type Key
- type KeyEvent
- type KeyType
- type KeyValues
- type Label
- type Labels
- type LastModification
- type Lintable
- type MergeCommitProperty
- type Message
- type Metadata
- type Metric
- type MetricRequest
- type Migration
- type Model
- type ModelCmds
- type ModelDocker
- type ModelPattern
- type ModelVirtualMachine
- type Models
- type MonDBMigrate
- type MonitoringStatus
- type MonitoringStatusLine
- type MultiError
- type NavbarProjectData
- type NeedContext
- type NeedsContext
- type Node
- func (n *Node) AddTrigger(name string, dest Node)
- func (n *Node) Ancestors(w WorkflowData) []int64
- func (n *Node) CheckApplicationDeploymentStrategies(proj Project, w *Workflow) error
- func (n *Node) FilterHooksConfig(s ...string)
- func (n Node) GetHook(UUID string) *NodeHook
- func (n *Node) IsLinkedToRepo(w *Workflow) bool
- func (n *Node) Sort()
- func (n *Node) VisitNode(w *Workflow, visitor func(node *Node, w *Workflow))
- type NodeContext
- type NodeHook
- type NodeJoin
- type NodeOutGoingHook
- type NodeRunContext
- type NodeTrigger
- type NotificationEvent
- type Operation
- type OperationCheckout
- type OperationError
- type OperationLoadFiles
- type OperationPush
- type OperationRepo
- type OperationRepositoryInfo
- type OperationSetup
- type OperationStatus
- type Organization
- type OrganizationEvent
- type Parameter
- func ApplicationVariablesToParameters(prefix string, variables []ApplicationVariable) []Parameter
- func EnvironmentVariablesToParameters(prefix string, variables []EnvironmentVariable) []Parameter
- func NewStringParameter(s string) (Parameter, error)
- func ParameterFind(vars []Parameter, s string) *Parameter
- func ParametersFromMap(m map[string]string) []Parameter
- func ParametersMerge(src []Parameter, overwritter []Parameter) []Parameter
- func ProjectVariablesToParameters(prefix string, variables []ProjectVariable) []Parameter
- func VariablesToParameters(prefix string, variables []Variable) []Parameter
- type ParserErrorListener
- type PermissionEvent
- type Permissions
- type Pipeline
- type PipelineAction
- type PipelineAudit
- type PipelineBuildWarning
- type PipelineTemplate
- type PipelineTemplates
- type PluginEvent
- type PluginInput
- type PluginInputs
- type Prerequisite
- type Project
- func (proj Project) GetIntegration(pfName string) (ProjectIntegration, bool)
- func (proj Project) GetIntegrationByID(id int64) *ProjectIntegration
- func (proj Project) GetSSHKey(name string) *ProjectKey
- func (proj Project) IsValid() error
- func (proj Project) PGPKeys() []ProjectKey
- func (proj Project) SSHKeys() []ProjectKey
- func (proj *Project) SetApplication(app Application)
- func (proj *Project) SetEnvironment(env Environment)
- func (proj *Project) SetPipeline(pip Pipeline)
- type ProjectEvent
- type ProjectEventV2
- type ProjectFilter
- type ProjectGroup
- type ProjectIdentifiers
- type ProjectIntegration
- type ProjectIntegrationEvent
- type ProjectKey
- type ProjectLastUpdates
- type ProjectNotification
- type ProjectNotificationAuth
- type ProjectNotificationFilter
- type ProjectNotificationFilters
- type ProjectRepository
- type ProjectRepositoryAnalysis
- type ProjectRepositoryData
- type ProjectRepositoryDataEntity
- type ProjectVariable
- type ProjectVariableAudit
- type ProjectVariableSet
- type ProjectVariableSetEvent
- type ProjectVariableSetItem
- type ProjectVariableSetItemEvent
- type Projects
- type PullRequestProperties
- type PurgeDryRunRequest
- type PurgeDryRunResponse
- type PurgeTags
- type RBAC
- type RBACGlobal
- type RBACHatchery
- type RBACProject
- type RBACRegion
- type RBACWorkflow
- type RBACWorkflowNames
- type RabbitMQTaskExecution
- type Region
- type RegionEvent
- type ReleaseAsset
- type Repository
- type RepositoryEvent
- type RepositoryEvents
- type RepositoryPollerExecution
- type RepositoryRelease
- type RepositoryStrategy
- type ReqHostMatcher
- type ReqMatcher
- type ReqNotHostMatcher
- type Requirement
- type RequirementList
- type Result
- type ScheduledTaskExecution
- type Schema
- type SchemaResponse
- type Secret
- type Service
- type ServiceConfig
- type ServiceConfiguration
- type ServiceStatus
- type ShortEntity
- type SpawnErrorForm
- type SpawnInfo
- type SpawnMsg
- type Stage
- type StageSummary
- type StepContext
- type StepStatus
- type StepStatusSummary
- type StepsContext
- type StringSlice
- type TCPServer
- type TarOptions
- type Task
- type TaskExecution
- type TemplateParameterType
- type TestsResults
- type TestsStats
- type TimelineFilter
- type Timestamp
- type Token
- type URL
- type UpdateMaxRunRequest
- type Usage
- type UsageAction
- type UsagePipeline
- type UserContact
- type UserContacts
- type UserEvent
- type UserGPGEvent
- type UserGPGKey
- type UserLink
- type UserLoginRequest
- type UserNotification
- type UserNotificationSettings
- type UserNotificationTemplate
- type UserRegistration
- type UserResetRequest
- type UserResponse
- type UserTimelineFilter
- type V2Action
- type V2Job
- type V2JobConcurrency
- type V2JobGate
- type V2JobGateInput
- type V2JobGateReviewers
- type V2JobRunsOn
- type V2JobService
- type V2JobServiceReadiness
- type V2JobStrategy
- type V2QueueJobInfo
- type V2SendJobRunInfo
- type V2TakeJobResponse
- type V2Worker
- type V2WorkerModel
- type V2WorkerModelDockerSpec
- type V2WorkerModelOpenstackSpec
- type V2WorkerModelVSphereSpec
- type V2Workflow
- type V2WorkflowHook
- type V2WorkflowHookData
- type V2WorkflowRun
- type V2WorkflowRunData
- type V2WorkflowRunEnqueue
- type V2WorkflowRunEnqueueGate
- type V2WorkflowRunEvent
- type V2WorkflowRunHookRequest
- type V2WorkflowRunInfo
- type V2WorkflowRunJob
- type V2WorkflowRunJobEvent
- type V2WorkflowRunJobEvents
- type V2WorkflowRunJobInfo
- type V2WorkflowRunJobResult
- type V2WorkflowRunJobStatus
- type V2WorkflowRunManualRequest
- type V2WorkflowRunResult
- func (r *V2WorkflowRunResult) GetDetail() (any, error)
- func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultArsenalDeploymentDetail() (*V2WorkflowRunResultArsenalDeploymentDetail, error)
- func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultDebianDetail() (*V2WorkflowRunResultDebianDetail, error)
- func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultDockerDetail() (*V2WorkflowRunResultDockerDetail, error)
- func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultGenericDetail() (*V2WorkflowRunResultGenericDetail, error)
- func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultHelmDetail() (*V2WorkflowRunResultHelmDetail, error)
- func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultPythonDetail() (*V2WorkflowRunResultPythonDetail, error)
- func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultReleaseDetail() (*V2WorkflowRunResultReleaseDetail, error)
- func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultTestDetail() (*V2WorkflowRunResultTestDetail, error)
- func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultVariableDetail() (*V2WorkflowRunResultVariableDetail, error)
- func (r *V2WorkflowRunResult) Name() string
- func (r *V2WorkflowRunResult) Typ() string
- type V2WorkflowRunResultArsenalDeploymentDetail
- type V2WorkflowRunResultArtifactManagerMetadata
- func (m *V2WorkflowRunResultArtifactManagerMetadata) Get(k string) string
- func (x *V2WorkflowRunResultArtifactManagerMetadata) Scan(src interface{}) error
- func (m *V2WorkflowRunResultArtifactManagerMetadata) Set(k, v string)
- func (x V2WorkflowRunResultArtifactManagerMetadata) Value() (driver.Value, error)
- type V2WorkflowRunResultDebianDetail
- type V2WorkflowRunResultDetail
- type V2WorkflowRunResultDockerDetail
- type V2WorkflowRunResultGenericDetail
- type V2WorkflowRunResultHelmDetail
- type V2WorkflowRunResultPythonDetail
- type V2WorkflowRunResultReleaseDetail
- type V2WorkflowRunResultTestDetail
- type V2WorkflowRunResultType
- type V2WorkflowRunResultVariableDetail
- type V2WorkflowRunSearchFilter
- type V2WorkflowRunStatus
- type VCSArchiveRequest
- type VCSAuth
- type VCSAuthProject
- type VCSAuthor
- type VCSAuthorizedClient
- type VCSAuthorizedClientCommon
- type VCSAuthorizedClientService
- type VCSBranch
- type VCSBranchFilters
- type VCSBranchesFilter
- type VCSBuildStatus
- type VCSCommit
- type VCSCommitStatus
- type VCSConfiguration
- type VCSContent
- type VCSCreateEvent
- type VCSDeleteEvent
- type VCSEvent
- type VCSGerritConfiguration
- type VCSHook
- type VCSOptionsProject
- type VCSProject
- type VCSPullRequest
- type VCSPullRequestCommentRequest
- type VCSPullRequestEvent
- type VCSPullRequestOptions
- type VCSPullRequestState
- type VCSPushEvent
- type VCSRelease
- type VCSRemote
- type VCSRepo
- type VCSRequestModifier
- type VCSSearch
- type VCSServer
- type VCSTag
- type Variable
- func FromAplicationVariables(appVars []ApplicationVariable) []Variable
- func FromEnvironmentVariables(envVars []EnvironmentVariable) []Variable
- func FromProjectVariables(appVars []ProjectVariable) []Variable
- func VariableFind(vars []Variable, s string) *Variable
- func VariablesFilter(vars []Variable, types ...string) []Variable
- func VariablesPrefix(vars []Variable, prefix string) []Variable
- type VariableAudit
- type VariableEvent
- type Version
- type Warning
- type WebHookExecution
- type WebsocketEvent
- type WebsocketFilter
- type WebsocketFilterType
- type WebsocketFilters
- type WebsocketHatcheryFilter
- type WebsocketJobQueueEvent
- type Worker
- type WorkerDirectories
- type WorkerHookProjectIntegrationModel
- type WorkerHookSetupTeardownConfig
- type WorkerHookSetupTeardownScripts
- type WorkerModelSecret
- type WorkerModelSecrets
- type WorkerRegistrationForm
- type WorkerStarterWorkerModel
- func (w WorkerStarterWorkerModel) GetCmd() string
- func (w WorkerStarterWorkerModel) GetDockerEnvs() map[string]string
- func (w WorkerStarterWorkerModel) GetDockerImage() string
- func (w WorkerStarterWorkerModel) GetDockerPassword() string
- func (w WorkerStarterWorkerModel) GetDockerUsername() string
- func (w WorkerStarterWorkerModel) GetFlavor(reqs RequirementList, defaultFlavor string) string
- func (w WorkerStarterWorkerModel) GetFullPath() string
- func (w WorkerStarterWorkerModel) GetLastModified() string
- func (w WorkerStarterWorkerModel) GetName() string
- func (w WorkerStarterWorkerModel) GetOpenstackImage() string
- func (w WorkerStarterWorkerModel) GetPath() string
- func (w WorkerStarterWorkerModel) GetPostCmd() string
- func (w WorkerStarterWorkerModel) GetPreCmd() string
- func (w WorkerStarterWorkerModel) GetShell() string
- func (w WorkerStarterWorkerModel) GetVSphereImage() string
- func (w WorkerStarterWorkerModel) GetVSpherePassword() string
- func (w WorkerStarterWorkerModel) GetVSphereUsername() string
- func (w WorkerStarterWorkerModel) IsPrivate() bool
- type Workflow
- func (w *Workflow) AddTrigger(name string, dest Node)
- func (w *Workflow) AssignEmptyType()
- func (w *Workflow) FilterHooksConfig(s ...string)
- func (w *Workflow) GetApplication(ID int64) Application
- func (w *Workflow) GetEventIntegration() []WorkflowProjectIntegration
- func (w *Workflow) GetRepositories() []string
- func (w *Workflow) InitMaps()
- func (w *Workflow) Normalize()
- func (w *Workflow) ResetIDs()
- func (w *Workflow) Scan(src interface{}) error
- func (w *Workflow) SortNode()
- func (w *Workflow) ValidateType() error
- func (w Workflow) Value() (driver.Value, error)
- func (w *Workflow) VisitNode(visitor func(*Node, *Workflow))
- type WorkflowData
- func (w *WorkflowData) AncestorsNames(n Node) []string
- func (w *WorkflowData) Array() []*Node
- func (w *WorkflowData) GetHooks() map[string]*NodeHook
- func (w *WorkflowData) GetHooksMapRef() map[string]NodeHook
- func (w *WorkflowData) Maps() map[int64]*Node
- func (w *WorkflowData) NodeByID(ID int64) *Node
- func (w *WorkflowData) NodeByName(s string) *Node
- func (w *WorkflowData) NodeByRef(ref string) *Node
- func (a *WorkflowData) Scan(src interface{}) error
- func (a WorkflowData) Value() (driver.Value, error)
- type WorkflowDeleteDependencies
- type WorkflowDependencies
- type WorkflowGroup
- type WorkflowHookModel
- type WorkflowName
- type WorkflowNodeCondition
- type WorkflowNodeConditions
- type WorkflowNodeContextDefaultPayloadVCS
- type WorkflowNodeHookConfig
- func (cfg WorkflowNodeHookConfig) Clone() WorkflowNodeHookConfig
- func (w WorkflowNodeHookConfig) Equals(o WorkflowNodeHookConfig) bool
- func (w WorkflowNodeHookConfig) Filter(f func(k string, v WorkflowNodeHookConfigValue) bool) WorkflowNodeHookConfig
- func (w WorkflowNodeHookConfig) MergeWith(cfg WorkflowNodeHookConfig)
- func (w *WorkflowNodeHookConfig) Scan(src interface{}) error
- func (w WorkflowNodeHookConfig) Value() (driver.Value, error)
- func (cfg WorkflowNodeHookConfig) Values(model WorkflowNodeHookConfig) map[string]string
- type WorkflowNodeHookConfigValue
- type WorkflowNodeJobRun
- type WorkflowNodeJobRunBooked
- type WorkflowNodeJobRunCount
- type WorkflowNodeJobRunData
- type WorkflowNodeJobRunInfo
- type WorkflowNodeJobRunSummary
- type WorkflowNodeOutgoingHookRunCallback
- type WorkflowNodeRun
- type WorkflowNodeRunCoverage
- type WorkflowNodeRunCoverageTrends
- type WorkflowNodeRunHookEvent
- type WorkflowNodeRunManual
- type WorkflowNodeRunRelease
- type WorkflowNodeRunVulnerability
- type WorkflowNodeTriggerRun
- type WorkflowNodeTriggerRuns
- type WorkflowNotification
- type WorkflowOn
- type WorkflowOnModelUpdate
- type WorkflowOnPullRequest
- type WorkflowOnPullRequestComment
- type WorkflowOnPush
- type WorkflowOnWorkflowUpdate
- type WorkflowProjectIntegration
- type WorkflowQueue
- type WorkflowRepository
- type WorkflowRun
- func (r *WorkflowRun) GetAllParameters() map[string][]string
- func (r *WorkflowRun) GetOutgoingHookRun(uuid string) *WorkflowNodeRun
- func (r *WorkflowRun) HasParentWorkflow() bool
- func (r *WorkflowRun) PendingOutgoingHook() map[string]*WorkflowNodeRun
- func (r *WorkflowRun) RootRun() *WorkflowNodeRun
- func (r *WorkflowRun) Tag(tag, value string) bool
- func (r *WorkflowRun) TagExists(tag string) bool
- func (r *WorkflowRun) Translate()
- type WorkflowRunContext
- type WorkflowRunEvent
- type WorkflowRunHeaders
- type WorkflowRunInfo
- type WorkflowRunInfos
- type WorkflowRunJobEvent
- type WorkflowRunJobManualEvent
- type WorkflowRunJobRunResultEvent
- type WorkflowRunJobsContext
- type WorkflowRunNumber
- type WorkflowRunPostHandlerOption
- type WorkflowRunResult
- func (r WorkflowRunResult) ComputeName() (string, error)
- func (r WorkflowRunResult) ComputeUniqueKey() (string, error)
- func (r *WorkflowRunResult) GetArtifact() (WorkflowRunResultArtifact, error)
- func (r *WorkflowRunResult) GetArtifactManager() (WorkflowRunResultArtifactManager, error)
- func (r *WorkflowRunResult) GetCoverage() (WorkflowRunResultCoverage, error)
- func (r *WorkflowRunResult) GetStaticFile() (WorkflowRunResultStaticFile, error)
- type WorkflowRunResultArtifact
- type WorkflowRunResultArtifactCommon
- type WorkflowRunResultArtifactManager
- type WorkflowRunResultCheck
- type WorkflowRunResultCoverage
- type WorkflowRunResultDataKey
- type WorkflowRunResultPromotion
- type WorkflowRunResultPromotionRequest
- type WorkflowRunResultPromotionType
- type WorkflowRunResultStaticFile
- type WorkflowRunResultSync
- type WorkflowRunResultType
- type WorkflowRunResults
- type WorkflowRunSecret
- type WorkflowRunSecrets
- type WorkflowRunStage
- type WorkflowRunStages
- type WorkflowRunSummary
- type WorkflowRunTag
- type WorkflowRunToKeep
- type WorkflowRunVersion
- type WorkflowStage
- type WorkflowTemplate
- func (w *WorkflowTemplate) CheckParams(r WorkflowTemplateRequest) error
- func (w *WorkflowTemplate) IsValid() error
- func (w WorkflowTemplate) Path() string
- func (w WorkflowTemplate) PathWithVersion() string
- func (w *WorkflowTemplate) Scan(src interface{}) error
- func (w *WorkflowTemplate) Update(data WorkflowTemplate)
- func (w WorkflowTemplate) Value() (driver.Value, error)
- type WorkflowTemplateBulk
- type WorkflowTemplateBulkOperation
- type WorkflowTemplateBulkOperations
- type WorkflowTemplateError
- type WorkflowTemplateInstance
- type WorkflowTemplateParameter
- type WorkflowTemplateParameters
- type WorkflowTemplateParsed
- type WorkflowTemplateRequest
- type Workflows
Constants ¶
const ( DefaultAction = "Default" BuiltinAction = "Builtin" PluginAction = "Plugin" JoinedAction = "Joined" AsCodeAction = "ActionAsCode" )
Action type
const ( ScriptAction = "Script" JUnitAction = "JUnit" CoverageAction = "Coverage" GitCloneAction = "GitClone" GitTagAction = "GitTag" ReleaseVCSAction = "ReleaseVCS" CheckoutApplicationAction = "CheckoutApplication" DeployApplicationAction = "DeployApplication" PushBuildInfo = "PushBuildInfo" InstallKeyAction = "InstallKey" ReleaseAction = "Release" PromoteAction = "Promote" DefaultGitCloneParameterTagValue = "{{.git.tag}}" )
Builtin Action
const ( ArtifactUpload = "Artifact Upload" ArtifactDownload = "Artifact Download" ArtifactUploadPluginInputPath = "cds.integration.artifact_manager.upload.path" ArtifactUploadPluginOutputPathFileName = "name" ArtifactUploadPluginOutputPathFilePath = "path" ArtifactUploadPluginOutputPathRepoType = "repository_type" ArtifactUploadPluginOutputPathRepoName = "repository_name" ArtifactUploadPluginOutputPathMD5 = "md5" ArtifactUploadPluginOutputPerm = "perm" ArtifactUploadPluginOutputSize = "size" ArtifactUploadPluginOutputFileType = "file_type" ArtifactDownloadPluginInputDestinationPath = "cds.integration.artifact_manager.download.destination.path" ArtifactDownloadPluginInputFilePath = "cds.integration.artifact_manager.download.file.path" ArtifactDownloadPluginInputMd5 = "cds.integration.artifact_manager.download.file.md5" ArtifactDownloadPluginInputPerm = "cds.integration.artifact_manager.download.file.perm" ArtifactFileTypeCoverage = "coverage" )
Builtin artifact manipulation actions
const ( AuditAdd = "add" AuditUpdate = "update" AuditDelete = "delete" )
Different type of Audit event
const ( StatusPending = "Pending" StatusWaiting = "Waiting" StatusChecking = "Checking" // DEPRECATED, to remove when removing pipelineBuild StatusBuilding = "Building" StatusSuccess = "Success" StatusFail = "Fail" StatusDisabled = "Disabled" StatusNeverBuilt = "Never Built" StatusUnknown = "Unknown" StatusSkipped = "Skipped" StatusStopped = "Stopped" StatusWorkerPending = "Pending" StatusWorkerRegistering = "Registering" StatusCrafting = "Crafting" StatusScheduling = "Scheduling" )
Action status in queue
const ( EntityTypeWorkerModel = "WorkerModel" EntityTypeAction = "Action" EntityTypeWorkflow = "Workflow" EntityTypeJob = "Job" EntityNamePattern = "^[a-zA-Z0-9._-]{1,}$" )
const ( EventAnalysisStart = "AnalysisStart" EventAnalysisDone = "AnalysisDone" EventRunJobEnqueued = "RunJobEnqueued" EventRunJobScheduled = "RunJobScheduled" EventRunJobBuilding = "RunJobBuilding" EventRunJobManualTriggered = "RunJobManualTriggered" EventRunJobRunResultAdded = "RunJobRunResultAdded" EventRunJobRunResultUpdated = "RunJobRunResultUpdated" EventRunJobEnded = "RunJobEnded" EventRunCrafted = "RunCrafted" EventRunBuilding = "RunBuilding" EventRunEnded = "RunEnded" EventRunRestartFailedJob = "RunRestartFailedJob" EventEntityCreated = "EntityCreated" EventEntityUpdated = "EntityUpdated" EventEntityDeleted = "EntityDeleted" EventVCSCreated = "VCSCreated" EventVCSUpdated = "VCSUpdated" EventVCSDeleted = "VCSDeleted" EventHatcheryCreated = "HatcheryCreated" EventHatcheryUpdated = "HatcheryUpdated" EventHatcheryTokenRegen = "HatcheryTokenRegen" EventHatcheryDeleted = "HatcheryDeleted" EventRepositoryCreated = "RepositoryCreated" EventRepositoryDeleted = "RepositoryDeleted" EventOrganizationCreated = "OrganizationCreated" EventOrganizationDeleted = "OrganizationDeleted" EventRegionCreated = "RegionCreated" EventRegionDeleted = "RegionDeleted" EventPermissionCreated = "PermissionCreated" EventPermissionUpdated = "PermissionUpdated" EventPermissionDeleted = "PermissionDeleted" EventUserCreated = "UserCreated" EventUserUpdated = "UserUpdated" EventUserDeleted = "UserDeleted" EventUserGPGKeyCreated = "UserGPGKeyCreated" EventUserGPGKeyDeleted = "UserGPGKeyDeleted" EventPluginCreated = "PluginCreated" EventPluginUpdated = "PluginUpdated" EventPluginDeleted = "PluginDeleted" EventIntegrationModelCreated = "IntegrationModelCreated" EventIntegrationModelUpdated = "IntegrationModelUpdated" EventIntegrationModelDeleted = "IntegrationModelDeleted" EventIntegrationCreated = "IntegrationCreated" EventIntegrationUpdated = "IntegrationUpdated" EventIntegrationDeleted = "IntegrationDeleted" EventProjectCreated = "ProjectCreated" EventProjectUpdated = "ProjectUpdated" EventProjectDeleted = "ProjectDeleted" EventNotificationCreated = "NotificationCreated" EventNotificationUpdated = "NotificationUpdated" EventNotificationDeleted = "NotificationDeleted" EventVariableSetCreated = "VariableSetCreated" EventVariableSetDeleted = "VariableSetDeleted" EventVariableSetItemCreated = "VariableSetItemCreated" EventVariableSetItemUpdated = "VariableSetItemUpdated" EventVariableSetItemDeleted = "VariableSetItemDeleted" )
const ( // PermissionRead read permission on the resource PermissionRead = 4 // PermissionReadExecute read & execute permission on the resource PermissionReadExecute = 5 // PermissionReadWriteExecute read/execute/write permission on the resource PermissionReadWriteExecute = 7 )
const ( WebHookModelName = "WebHook" RepositoryWebHookModelName = "RepositoryWebHook" GerritHookModelName = "GerritHook" SchedulerModelName = "Scheduler" GitPollerModelName = "Git Repository Poller" KafkaHookModelName = "Kafka hook" RabbitMQHookModelName = "RabbitMQ hook" WorkflowModelName = "Workflow" HookConfigProject = "project" HookConfigWorkflow = "workflow" HookConfigTargetProject = "target_project" HookConfigTargetWorkflow = "target_workflow" HookConfigTargetHook = "target_hook" HookConfigWorkflowID = "workflow_id" HookConfigWebHookID = "webHookID" HookConfigVCSType = "vcsType" HookConfigVCSServer = "vcsServer" HookConfigEventFilter = "eventFilter" HookConfigRepoFullName = "repoFullName" HookConfigModelType = "model_type" HookConfigModelName = "model_name" HookConfigIcon = "hookIcon" WebHookModelConfigMethod = "method" RepositoryWebHookModelMethod = "method" SchedulerModelCron = "cron" SchedulerModelTimezone = "timezone" Payload = "payload" HookModelIntegration = "integration" KafkaHookModelConsumerGroup = "consumer group" KafkaHookModelTopic = "topic" RabbitMQHookModelQueue = "queue" RabbitMQHookModelBindingKey = "binding_key" RabbitMQHookModelExchangeType = "exchange_type" RabbitMQHookModelExchangeName = "exchange_name" RabbitMQHookModelConsumerTag = "consumer_tag" SchedulerUsername = "cds.scheduler" SchedulerFullname = "CDS Scheduler" )
These are constants about hooks
const ( SignHeaderVCSName = "X-Cds-Hooks-Vcs-Name" SignHeaderRepoName = "X-Cds-Hooks-Repo-Name" SignHeaderVCSType = "X-Cds-Hooks-Vcs-Type" SignHeaderEventName = "X-Cds-Hooks-Event-Name" WorkflowHookEventWorkflowUpdate = "workflow-update" WorkflowHookEventModelUpdate = "model-update" WorkflowHookEventPush = "push" WorkflowHookManual = "manual" WorkflowHookEventPullRequest = "pull-request" WorkflowHookEventPullRequestTypeOpened = "opened" WorkflowHookEventPullRequestTypeReopened = "reopened" WorkflowHookEventPullRequestTypeClosed = "closed" WorkflowHookEventPullRequestTypeEdited = "edited" WorkflowHookEventPullRequestComment = "pull-request-comment" WorkflowHookEventPullRequestCommentTypeCreated = "created" WorkflowHookEventPullRequestCommentTypeDeleted = "deleted" WorkflowHookEventPullRequestCommentTypeEdited = "edited" RepoEventPush = "push" HookEventStatusScheduled = "Scheduled" HookEventStatusAnalysis = "Analyzing" HookEventStatusWorkflowHooks = "WorkflowHooks" HookEventStatusSignKey = "SignKey" HookEventStatusWorkflow = "Workflow" HookEventStatusDone = "Done" HookEventStatusError = "Error" HookEventStatusSkipped = "Skipped" HookEventWorkflowStatusScheduler = "Scheduled" HookEventWorkflowStatusDone = "Done" )
const ( KafkaIntegrationModel = "Kafka" RabbitMQIntegrationModel = "RabbitMQ" OpenstackIntegrationModel = "Openstack" AWSIntegrationModel = "AWS" DefaultStorageIntegrationName = "shared.infra" ArtifactoryIntegrationModelName = "Artifactory" ArtifactoryConfigPlatform = "platform" ArtifactoryConfigURL = "url" ArtifactoryConfigDistributionURL = "distribution.url" ArtifactoryConfigTokenName = "token.name" ArtifactoryConfigToken = "token" ArtifactoryConfigReleaseToken = "release.token" ArtifactoryConfigCdsRepository = "cds.repository" ArtifactoryConfigProjectKey = "project.key" ArtifactoryConfigPromotionLowMaturity = "promotion.maturity.low" ArtifactoryConfigPromotionHighMaturity = "promotion.maturity.high" ArtifactoryConfigBuildInfoPrefix = "build.info.prefix" ArtifactoryConfigRepositoryPrefix = "repo.prefix" )
This is the buitin integration model
const ( IntegrationTypeEvent = IntegrationType("event") IntegrationTypeCompute = IntegrationType("compute") IntegrationTypeHook = IntegrationType("hook") IntegrationTypeStorage = IntegrationType("storage") IntegrationTypeDeployment = IntegrationType("deployment") )
const ( // IntegrationConfigTypeString represents a string configuration value IntegrationConfigTypeString = "string" // IntegrationConfigTypeText represents a text configuration value IntegrationConfigTypeText = "text" // IntegrationConfigTypePassword represents a password configuration value IntegrationConfigTypePassword = "password" // IntegrationConfigTypeBoolean represents a password configuration value IntegrationConfigTypeBoolean = "boolean" // IntegrationConfigTypeRegion represents a region requirement IntegrationConfigTypeRegion = "region" IntegrationVariablePrefixDeployment = "deployment" IntegrationVariablePrefixArtifactManager = "artifact_manager" )
const ( MaintenanceAPIKey string = "cds_maintenance_api" MaintenanceQueueName string = "cds_maintenance" )
const ( MetricKeyVulnerability = "Vulnerability" MetricKeyUnitTest = "UnitTest" )
const ( // MigrationStatusTodo is the constant to indicate that the migration is "to do" MigrationStatusTodo string = "TODO" // MigrationStatusInProgress is the constant to indicate that the migration is "in progress" MigrationStatusInProgress string = "IN PROGRESS" // MigrationStatusDone is the constant to indicate that the migration is "done" MigrationStatusDone string = "DONE" // MigrationStatusCanceled is the constant to indicate that the migration is "canceled" MigrationStatusCanceled string = "CANCELED" // MigrationStatusNotExecuted is the constant to indicate that the migration is "not executed" MigrationStatusNotExecuted string = "NOT EXECUTED" )
const ( EmailUserNotification = "email" VCSUserNotification = "vcs" EventsNotification = "event" )
const
const ( UserNotificationAlways = "always" UserNotificationNever = "never" UserNotificationChange = "change" )
const
const ( ListParameter = "list" NumberParameter = "number" StringParameter = "string" TextParameter = "text" BooleanParameter = "boolean" KeySSHParameter = "ssh-key" KeyPGPParameter = "pgp-key" )
Different type of Parameter
const ( GRPCPluginDeploymentIntegration = "integration-deploy_application" GRPCPluginUploadArtifact = "integration-upload_artifact" GRPCPluginDownloadArtifact = "integration-download_artifact" GRPCPluginBuildInfo = "integration-build_info" GRPCPluginRelease = "integration-release" GRPCPluginPromote = "integration-promote" GRPCPluginAction = "action" )
These are type of plugins
const ( // ApplicationLastModificationType represent key for last update event about application ApplicationLastModificationType = "application" // PipelineLastModificationType represent key for last update event about pipeline PipelineLastModificationType = "pipeline" // WorkflowLastModificationType represent key for last update event about workflow WorkflowLastModificationType = "workflow" // ProjectLastModificationType represent key for last update event about project ProjectLastModificationType = "project" // ProjectPipelineLastModificationType represent key for last update event about project.pipeline (rename, delete or add a pipeline) ProjectPipelineLastModificationType = "project.pipeline" // ProjectApplicationLastModificationType represent key for last update event about project.application (rename, delete or add an application) ProjectApplicationLastModificationType = "project.application" // ProjectEnvironmentLastModificationType represent key for last update event about project.environment (rename, delete or add an environment) ProjectEnvironmentLastModificationType = "project.environment" // ProjectWorkflowLastModificationType represent key for last update event about project.workflow (rename, delete or add a workflow) ProjectWorkflowLastModificationType = "project.workflow" // ProjectVariableLastModificationType represent key for last update event about project.variable (rename, delete or add a variable) ProjectVariableLastModificationType = "project.variable" // ProjectKeysLastModificationType represent key for last update event about project.keys (add, delete a key) ProjectKeysLastModificationType = "project.keys" // ProjectIntegrationsLastModificationType represent key for last update event about project.integrations (add, update, delete a integration) ProjectIntegrationsLastModificationType = "project.integrations" )
const ( ProjectVariableTypeSecret = "secret" ProjectVariableTypeString = "string" ProjectVariableSetItemNamePattern = "^[a-zA-Z0-9_-]{1,}$" )
const ( // Global Role GlobalRoleManagePermission = "manage-permission" GlobalRoleManageOrganization = "manage-organization" GlobalRoleManageRegion = "manage-region" GlobalRoleManageHatchery = "manage-hatchery" GlobalRoleManageUser = "manage-user" GlobalRoleManageGroup = "manage-group" GlobalRoleManagePlugin = "manage-plugin" GlobalRoleProjectCreate = "create-project" // Project Role ProjectRoleRead = "read" ProjectRoleManage = "manage" ProjectRoleManageNotification = "manage-notification" ProjectRoleManageWorkerModel = "manage-worker-model" ProjectRoleManageAction = "manage-action" ProjectRoleManageWorkflow = "manage-workflow" // Hatchery Role HatcheryRoleSpawn = "start-worker" // Region Role RegionRoleList = "list" RegionRoleExecute = "execute" RegionRoleManage = "manage" )
const ( RepositoryAnalysisStatusInProgress = "InProgress" RepositoryAnalysisStatusSucceed = "Success" RepositoryAnalysisStatusError = "Error" RepositoryAnalysisStatusSkipped = "Skipped" GitRefTagPrefix = "refs/tags/" GitRefBranchPrefix = "refs/heads/" GitRefTypeBranch = "branch" GitRefTypeTag = "tag" )
const ( // ResponseWorkflowNameHeader is used as HTTP header ResponseWorkflowNameHeader = "X-Api-Workflow-Name" // ResponseWorkflowIDHeader is used as HTTP header ResponseWorkflowIDHeader = "X-Api-Workflow-Id" // WorkflowAsCodeHeader is used as HTTP header WorkflowAsCodeHeader = "X-Api-Workflow-As-Code" // ResponseTemplateGroupNameHeader is used as HTTP header ResponseTemplateGroupNameHeader = "X-Api-Template-Group-Name" // ResponseTemplateSlugHeader is used as HTTP header ResponseTemplateSlugHeader = "X-Api-Template-Slug" )
const ( //BinaryRequirement refers to the need to a specific binary on host running the action BinaryRequirement = "binary" // ModelRequirement refers to the need fo a specific model ModelRequirement = "model" // HostnameRequirement checks the hostname of the worker HostnameRequirement = "hostname" //PluginRequirement installs & checks plugins of the worker PluginRequirement = "plugin" //ServiceRequirement links a service to a worker ServiceRequirement = "service" //MemoryRequirement set memory limit on a container MemoryRequirement = "memory" // OSArchRequirement checks the 'dist' of a worker eg {GOOS}/{GOARCH} OSArchRequirement = "os-architecture" // RegionRequirement lets a use to force a job running in a hatchery's region RegionRequirement = "region" // SecretRequirement is needed to ask for a project's secret when it's not automatically injected (ex: when using SkipProjectSecretsOnRegion) SecretRequirement = "secret" // FlavorRequirement set flavor for a virtual machine FlavorRequirement = "flavor" )
const ( TypeHooks = "hooks" TypeRepositories = "repositories" TypeElasticsearch = "elasticsearch" TypeVCS = "vcs" TypeAPI = "api" TypeUI = "ui" TypeCDN = "cdn" TypeHatchery = "hatchery" TypeDBMigrate = "dbmigrate" )
Those are constant for services types
const ( MonitoringStatusAlert = "AL" MonitoringStatusWarn = "WARN" MonitoringStatusOK = "OK" )
This constants deals with Monitoring statuses
const ( UserRingAdmin = "ADMIN" UserRingMaintainer = "MAINTAINER" UserRingUser = "USER" )
User rings.
const ( EntityActionInputKey = "^[a-zA-Z0-9]*$" EntityActionStepID = "^[a-zA-Z0-9]*$" )
const ( WorkerModelTypeOpenstack = "openstack" WorkerModelTypeDocker = "docker" WorkerModelTypeVSphere = "vsphere" )
const ( WorkflowHookTypeRepository = "RepositoryWebHook" WorkflowHookTypeWorkerModel = "WorkerModelUpdate" WorkflowHookTypeWorkflow = "WorkflowUpdate" WorkflowHookTypeManual = "Manual" )
const ( GitBranchManualPayload = "git.branch" GitCommitManualPayload = "git.commit" GitTagManualPayload = "git.tag" )
const ( WorkflowRunInfoLevelInfo = "info" WorkflowRunInfoLevelWarning = "warning" WorkflowRunInfoLevelError = "error" )
const ( V2WorkflowRunResultStatusPending = "PENDING" V2WorkflowRunResultStatusCompleted = "COMPLETED" V2WorkflowRunResultStatusPromoted = "PROMOTED" V2WorkflowRunResultStatusReleased = "RELEASED" V2WorkflowRunResultStatusCanceled = "CANCELED" )
const ( V2WorkflowRunResultTypeCoverage = "coverage" V2WorkflowRunResultTypeTest = "tests" V2WorkflowRunResultTypeRelease = "release" V2WorkflowRunResultTypeGeneric = "generic" V2WorkflowRunResultTypeVariable = "variable" V2WorkflowRunResultTypeDocker = "docker" V2WorkflowRunResultTypeDebian = "debian" V2WorkflowRunResultTypePython = "python" V2WorkflowRunResultTypeArsenalDeployment = "deployment" V2WorkflowRunResultTypeHelm = "helm" )
const ( SecretVariable = "password" TextVariable = "text" StringVariable = "string" KeyVariable = "key" BooleanVariable = "boolean" NumberVariable = "number" RepositoryVariable = "repository" SSHKeyVariable = "ssh" PGPKeyVariable = "pgp" )
Different type of Variable
const ( HeaderXVCSURL = "X-CDS-VCS-URL" HeaderXVCSURLApi = "X-CDS-VCS-URL-API" HeaderXVCSType = "X-CDS-VCS-TYPE" HeaderXVCSToken = "X-CDS-VCS-TOKEN" HeaderXVCSUsername = "X-CDS-VCS-USERNAME" HeaderXVCSSSHUsername = "X-CDS-VCS-SSH-USERNAME" HeaderXVCSSSHPort = "X-CDS-VCS-SSH-PORT" HeaderXVCSSSHPrivateKey = "X-CDS-VCS-SSH-PRIVATE-KEY" VCSTypeGitea = "gitea" VCSTypeGerrit = "gerrit" VCSTypeGitlab = "gitlab" VCSTypeBitbucketServer = "bitbucketserver" VCSTypeBitbucketCloud = "bitbucketcloud" VCSTypeGithub = "github" )
HTTP Headers
const ( WarningMissingProjectVariableEnv = "MISSING_PROJECT_VARIABLE_ENVIRONMENT" WarningMissingProjectVariableApplication = "MISSING_PROJECT_VARIABLE_APPLICATION" WarningMissingProjectVariablePipelineParameter = "MISSING_PROJECT_VARIABLE_PIPELINE_PARAMETER" WarningMissingProjectVariablePipelineJob = "MISSING_PROJECT_VARIABLE_PIPELINE_JOB" WarningMissingProjectVariableWorkflow = "MISSING_PROJECT_VARIABLE_WORKFLOW" WarningUnusedProjectVariable = "UNUSED_PROJECT_VARIABLE" WarningMissingProjectPermissionEnv = "MISSING_PROJECT_PERMISSION_ENV" WarningMissingProjectPermissionWorkflow = "MISSING_PROJECT_PERMISSION_WORKFLOW" WarningMissingProjectKeyApplication = "MISSING_PROJECT_KEY_APPLICATION" WarningMissingProjectKeyPipelineParameter = "MISSING_PROJECT_KEY_PIPELINE_PARAMETER" WarningMissingProjectKeyPipelineJob = "MISSING_PROJECT_KEY_PIPELINE_JOB" WarningUnusedProjectKey = "UNUSED_PROJECT_KEY" WarningMissingProjectVCSServer = "MISSING_PROJECT_VCS" WarningUnusedProjectVCSServer = "UNUSED_PROJECT_VCS" WarningMissingVCSConfiguration = "MISSING_VCS_CONFIGURATION" WarningMissingApplicationVariable = "MISSING_APPLICATION_VARIABLE" WarningUnusedApplicationVariable = "UNUSED_APPLICATION_VARIABLE" WarningMissingApplicationKey = "MISSING_APPLICATION_KEY" WarningUnusedApplicationKey = "UNUSED_APPLICATION_KEY" WarningMissingEnvironmentVariable = "MISSING_ENVIRONMENT_VARIABLE" WarningUnusedEnvironmentVariable = "UNUSED_ENVIRONMENT_VARIABLE" WarningMissingEnvironmentKey = "MISSING_ENVIRONMENT_KEY" WarningUnusedEnvironmentKey = "UNUSED_ENVIRONMENT_KEY" WarningMissingPipelineParameter = "MISSING_PIPELINE_PARAMETER" WarningUnusedPipelineParameter = "UNUSED_PIPELINE_PARAMETER" )
const ( Docker = "docker" HostProcess = "host" Openstack = "openstack" VSphere = "vsphere" )
Existing worker model type
const ( WorkflowConditionsOperatorEquals = "eq" WorkflowConditionsOperatorNotEquals = "ne" WorkflowConditionsOperatorLessThan = "lt" WorkflowConditionsOperatorLessOrEqualThan = "le" WorkflowConditionsOperatorGreaterThan = "gt" WorkflowConditionsOperatorGreaterOrEqualThan = "ge" WorkflowConditionsOperatorRegex = "regex" )
WorkflowData conditions operator
const ( GitlabIcon = "Gitlab" GitHubIcon = "Github" BitbucketIcon = "Bitbucket" GerritIcon = "git" )
Those are icon for hooks
const ( // HookConfigTypeString type string HookConfigTypeString = "string" // HookConfigTypeIntegration type integration HookConfigTypeIntegration = "integration" // HookConfigTypeProject type project HookConfigTypeProject = "project" // HookConfigTypeWorkflow type workflow HookConfigTypeWorkflow = "workflow" // HookConfigTypeHook type hook HookConfigTypeHook = "hook" // HookConfigTypeMultiChoice type multiple HookConfigTypeMultiChoice = "multiple" )
const ( NodeTypePipeline = "pipeline" NodeTypeJoin = "join" NodeTypeOutGoingHook = "outgoinghook" NodeTypeFork = "fork" )
const ( RunInfoTypInfo = "Info" RunInfoTypeWarning = "Warning" RunInfoTypeError = "Error" )
const AuthSigninConsumerTokenDuration time.Duration = time.Minute * 5
const (
CDSSessionID = "X-CDS-Session-ID"
)
const (
DefaultHistoryLength int64 = 20
)
DefaultHistoryLength is the default history length
const DefaultWorkflowNodeRunReport = `` /* 833-byte string literal not displayed */
const IconFormat = "data:image/"
IconFormat is the format prefix accepted for icon
const MaxIconSize = 120000
MaxIconSize is the maximum size of the icon in octet
const NamePattern = "^[a-zA-Z0-9._-]{1,}$"
NamePattern Pattern for project/application/pipeline/group name
const NamePatternSpace = `^[\sa-zA-Z0-9._-]{1,}$`
NamePatternSpace Pattern for stage name
const (
// Different types of warning for PipelineBuild
OptionalStepFailed = "optional_step_failed"
)
This constant deals with pipelines
const (
PasswordPlaceholder string = "**********"
)
Value of passwords when leaving the API
const ProjectKeyPattern = "^[A-Z0-9]{1,}$"
ProjectKeyPattern pattern for project key
const ( // SecretMinLength is the minimal size of a secret // variable to be considered as a secret // a secret variable displayed, with less then 6, will // displayed, instead of appears as **cds.app.my-password** SecretMinLength = 6 )
SharedInfraGroupName is the name of the builtin group used to share infrastructure between projects
const URLGithubIssues = "https://github.com/ovh/cds/issues"
URLGithubIssues contains a link to CDS Issues
const URLGithubReleases = "https://github.com/ovh/cds/releases"
URLGithubReleases contains a link to CDS Official Releases
const UserContactTypeEmail = "email"
const WorkflowHookModelBuiltin = "builtin"
WorkflowHookModelBuiltin is a constant for the builtin hook models
Variables ¶
var ( StatusTerminated = True StatusNotTerminated = False )
var ( True = true False = false TrueString = "true" FalseString = "false" )
True of false
var ( ErrUnknownError = Error{ID: 1, Status: http.StatusInternalServerError} ErrActionAlreadyUpdated = Error{ID: 2, Status: http.StatusBadRequest} ErrNoAction = Error{ID: 3, Status: http.StatusNotFound} ErrActionLoop = Error{ID: 4, Status: http.StatusBadRequest} ErrInvalidID = Error{ID: 5, Status: http.StatusBadRequest} ErrInvalidProject = Error{ID: 6, Status: http.StatusBadRequest} ErrInvalidProjectKey = Error{ID: 7, Status: http.StatusBadRequest} ErrProjectHasPipeline = Error{ID: 8, Status: http.StatusForbidden} ErrProjectHasApplication = Error{ID: 9, Status: http.StatusForbidden} ErrForbidden = Error{ID: 11, Status: http.StatusForbidden} ErrPipelineNotFound = Error{ID: 12, Status: http.StatusBadRequest} ErrPipelineNotAttached = Error{ID: 13, Status: http.StatusBadRequest} ErrNoEnvironmentProvided = Error{ID: 14, Status: http.StatusBadRequest} ErrEnvironmentProvided = Error{ID: 15, Status: http.StatusBadRequest} ErrUnknownEnv = Error{ID: 16, Status: http.StatusBadRequest} ErrEnvironmentExist = Error{ID: 17, Status: http.StatusForbidden} ErrNoPipelineBuild = Error{ID: 18, Status: http.StatusNotFound} ErrInvalidUsername = Error{ID: 21, Status: http.StatusBadRequest} ErrInvalidEmail = Error{ID: 22, Status: http.StatusBadRequest} ErrGroupPresent = Error{ID: 23, Status: http.StatusBadRequest} ErrInvalidName = Error{ID: 24, Status: http.StatusBadRequest} ErrInvalidUser = Error{ID: 25, Status: http.StatusBadRequest} ErrBuildArchived = Error{ID: 26, Status: http.StatusBadRequest} ErrNoEnvironment = Error{ID: 27, Status: http.StatusNotFound} ErrModelNameExist = Error{ID: 28, Status: http.StatusForbidden} ErrNoProject = Error{ID: 30, Status: http.StatusNotFound} ErrVariableExists = Error{ID: 31, Status: http.StatusForbidden} ErrInvalidGroupPattern = Error{ID: 32, Status: http.StatusBadRequest} ErrGroupExists = Error{ID: 33, Status: http.StatusForbidden} ErrNotEnoughAdmin = Error{ID: 34, Status: http.StatusBadRequest} ErrInvalidProjectName = Error{ID: 35, Status: http.StatusBadRequest} ErrInvalidApplicationPattern = Error{ID: 36, Status: http.StatusBadRequest} ErrInvalidPipelinePattern = Error{ID: 37, Status: http.StatusBadRequest} ErrNotFound = Error{ID: 38, Status: http.StatusNotFound} ErrNoHook = Error{ID: 40, Status: http.StatusNotFound} ErrNoAttachedPipeline = Error{ID: 41, Status: http.StatusNotFound} ErrNoReposManager = Error{ID: 42, Status: http.StatusNotFound} ErrNoReposManagerAuth = Error{ID: 43, Status: http.StatusUnauthorized} ErrNoReposManagerClientAuth = Error{ID: 44, Status: http.StatusForbidden} ErrRepoNotFound = Error{ID: 45, Status: http.StatusNotFound} ErrSecretStoreUnreachable = Error{ID: 46, Status: http.StatusMethodNotAllowed} ErrSecretKeyFetchFailed = Error{ID: 47, Status: http.StatusMethodNotAllowed} ErrInvalidGoPath = Error{ID: 48, Status: http.StatusBadRequest} ErrCommitsFetchFailed = Error{ID: 49, Status: http.StatusNotFound} ErrInvalidSecretFormat = Error{ID: 50, Status: http.StatusInternalServerError} ErrNoPreviousSuccess = Error{ID: 52, Status: http.StatusNotFound} ErrNoPermExecution = Error{ID: 53, Status: http.StatusForbidden} ErrInvalidSecretValue = Error{ID: 55, Status: http.StatusBadRequest} ErrPipelineHasApplication = Error{ID: 56, Status: http.StatusBadRequest} ErrNoDirectSecretUse = Error{ID: 57, Status: http.StatusForbidden} ErrNoBranch = Error{ID: 58, Status: http.StatusNotFound} ErrLDAPConn = Error{ID: 59, Status: http.StatusInternalServerError} ErrParseUserNotification = Error{ID: 61, Status: http.StatusBadRequest} ErrNotSupportedUserNotification = Error{ID: 62, Status: http.StatusBadRequest} ErrGroupNeedAdmin = Error{ID: 63, Status: http.StatusBadRequest} ErrGroupNeedWrite = Error{ID: 64, Status: http.StatusBadRequest} ErrNoVariable = Error{ID: 65, Status: http.StatusNotFound} ErrPluginInvalid = Error{ID: 66, Status: http.StatusBadRequest} ErrApplicationExist = Error{ID: 69, Status: http.StatusForbidden} ErrBranchNameNotProvided = Error{ID: 70, Status: http.StatusBadRequest} ErrInfiniteTriggerLoop = Error{ID: 71, Status: http.StatusBadRequest} ErrInvalidResetUser = Error{ID: 72, Status: http.StatusBadRequest} ErrUserConflict = Error{ID: 73, Status: http.StatusBadRequest} ErrWrongRequest = Error{ID: 74, Status: http.StatusBadRequest} ErrAlreadyExist = Error{ID: 75, Status: http.StatusForbidden} ErrInvalidType = Error{ID: 76, Status: http.StatusBadRequest} ErrParentApplicationAndPipelineMandatory = Error{ID: 77, Status: http.StatusBadRequest} ErrNoParentBuildFound = Error{ID: 78, Status: http.StatusNotFound} ErrParameterExists = Error{ID: 79, Status: http.StatusForbidden} ErrNoHatchery = Error{ID: 80, Status: http.StatusNotFound} ErrInvalidWorkerStatus = Error{ID: 81, Status: http.StatusNotFound} ErrInvalidToken = Error{ID: 82, Status: http.StatusUnauthorized} ErrAppBuildingPipelines = Error{ID: 83, Status: http.StatusForbidden} ErrInvalidTimezone = Error{ID: 84, Status: http.StatusBadRequest} ErrEnvironmentCannotBeDeleted = Error{ID: 85, Status: http.StatusForbidden} ErrInvalidPipeline = Error{ID: 86, Status: http.StatusBadRequest} ErrKeyNotFound = Error{ID: 87, Status: http.StatusNotFound} ErrPipelineAlreadyExists = Error{ID: 88, Status: http.StatusForbidden} ErrJobAlreadyBooked = Error{ID: 89, Status: http.StatusForbidden} ErrPipelineBuildNotFound = Error{ID: 90, Status: http.StatusNotFound} ErrAlreadyTaken = Error{ID: 91, Status: http.StatusGone} ErrWorkflowNodeNotFound = Error{ID: 93, Status: http.StatusNotFound} ErrWorkflowInvalidRoot = Error{ID: 94, Status: http.StatusBadRequest} ErrWorkflowNodeRef = Error{ID: 95, Status: http.StatusBadRequest} ErrWorkflowInvalid = Error{ID: 96, Status: http.StatusBadRequest} ErrWorkflowNodeJoinNotFound = Error{ID: 97, Status: http.StatusNotFound} ErrInvalidJobRequirement = Error{ID: 98, Status: http.StatusBadRequest} ErrNotImplemented = Error{ID: 99, Status: http.StatusNotImplemented} ErrParameterNotExists = Error{ID: 100, Status: http.StatusNotFound} ErrUnknownKeyType = Error{ID: 101, Status: http.StatusBadRequest} ErrInvalidKeyPattern = Error{ID: 102, Status: http.StatusBadRequest} ErrWebhookConfigDoesNotMatch = Error{ID: 103, Status: http.StatusBadRequest} ErrPipelineUsedByWorkflow = Error{ID: 104, Status: http.StatusBadRequest} ErrMethodNotAllowed = Error{ID: 105, Status: http.StatusMethodNotAllowed} ErrInvalidNodeNamePattern = Error{ID: 106, Status: http.StatusBadRequest} ErrWorkflowNodeParentNotRun = Error{ID: 107, Status: http.StatusForbidden} ErrHookNotFound = Error{ID: 108, Status: http.StatusNotFound} ErrDefaultGroupPermission = Error{ID: 109, Status: http.StatusBadRequest} ErrLastGroupWithWriteRole = Error{ID: 110, Status: http.StatusForbidden} ErrInvalidEmailDomain = Error{ID: 111, Status: http.StatusForbidden} ErrWorkflowNodeRunJobNotFound = Error{ID: 112, Status: http.StatusNotFound} ErrBuiltinKeyNotFound = Error{ID: 113, Status: http.StatusInternalServerError} ErrStepNotFound = Error{ID: 114, Status: http.StatusNotFound} ErrWorkerModelAlreadyBooked = Error{ID: 115, Status: http.StatusForbidden} ErrConditionsNotOk = Error{ID: 116, Status: http.StatusBadRequest} ErrDownloadInvalidOS = Error{ID: 117, Status: http.StatusNotFound} ErrDownloadInvalidArch = Error{ID: 118, Status: http.StatusNotFound} ErrDownloadInvalidName = Error{ID: 119, Status: http.StatusNotFound} ErrDownloadDoesNotExist = Error{ID: 120, Status: http.StatusNotFound} ErrTokenNotFound = Error{ID: 121, Status: http.StatusNotFound} ErrWorkflowNotificationNodeRef = Error{ID: 122, Status: http.StatusBadRequest} ErrInvalidJobRequirementDuplicateModel = Error{ID: 123, Status: http.StatusBadRequest} ErrInvalidJobRequirementDuplicateHostname = Error{ID: 124, Status: http.StatusBadRequest} ErrInvalidKeyName = Error{ID: 125, Status: http.StatusBadRequest} ErrRepoOperationTimeout = Error{ID: 126, Status: http.StatusRequestTimeout} ErrInvalidGitBranch = Error{ID: 127, Status: http.StatusBadRequest} ErrInvalidFavoriteType = Error{ID: 128, Status: http.StatusBadRequest} ErrUnsupportedOSArchPlugin = Error{ID: 129, Status: http.StatusNotFound} ErrInvalidPatternModel = Error{ID: 132, Status: http.StatusBadRequest} ErrWorkerModelNoAdmin = Error{ID: 133, Status: http.StatusForbidden} ErrWorkerModelNoPattern = Error{ID: 134, Status: http.StatusForbidden} ErrJobNotBooked = Error{ID: 135, Status: http.StatusBadRequest} ErrUserNotFound = Error{ID: 136, Status: http.StatusNotFound} ErrInvalidNumber = Error{ID: 137, Status: http.StatusBadRequest} ErrKeyAlreadyExist = Error{ID: 138, Status: http.StatusForbidden} ErrPipelineNameImport = Error{ID: 139, Status: http.StatusBadRequest} ErrWorkflowNameImport = Error{ID: 140, Status: http.StatusBadRequest} ErrIconBadFormat = Error{ID: 141, Status: http.StatusBadRequest} ErrIconBadSize = Error{ID: 142, Status: http.StatusBadRequest} ErrWorkflowConditionBadOperator = Error{ID: 143, Status: http.StatusBadRequest} ErrColorBadFormat = Error{ID: 144, Status: http.StatusBadRequest} ErrInvalidHookConfiguration = Error{ID: 145, Status: http.StatusBadRequest} ErrWorkerModelDeploymentFailed = Error{ID: 146, Status: http.StatusBadRequest} ErrJobLocked = Error{ID: 147, Status: http.StatusConflict} ErrWorkflowNodeRunLocked = Error{ID: 148, Status: http.StatusConflict} ErrInvalidData = Error{ID: 149, Status: http.StatusBadRequest} ErrInvalidGroupAdmin = Error{ID: 150, Status: http.StatusForbidden} ErrInvalidGroupMember = Error{ID: 151, Status: http.StatusForbidden} ErrWorkflowNotGenerated = Error{ID: 152, Status: http.StatusForbidden} ErrAlreadyLatestTemplate = Error{ID: 153, Status: http.StatusForbidden} ErrInvalidNodeDefaultPayload = Error{ID: 154, Status: http.StatusBadRequest} ErrInvalidApplicationRepoStrategy = Error{ID: 155, Status: http.StatusBadRequest} ErrWorkflowNodeRootUpdate = Error{ID: 156, Status: http.StatusBadRequest} ErrWorkflowAlreadyAsCode = Error{ID: 157, Status: http.StatusBadRequest} ErrNoDBMigrationID = Error{ID: 158, Status: http.StatusNotFound} ErrCannotParseTemplate = Error{ID: 159, Status: http.StatusBadRequest} ErrGroupNotFoundInProject = Error{ID: 160, Status: http.StatusBadRequest} ErrGroupNotFoundInWorkflow = Error{ID: 161, Status: http.StatusBadRequest} ErrWorkflowPermInsufficient = Error{ID: 162, Status: http.StatusBadRequest} ErrApplicationUsedByWorkflow = Error{ID: 163, Status: http.StatusBadRequest} ErrLocked = Error{ID: 164, Status: http.StatusConflict} ErrInvalidJobRequirementWorkerModelPermission = Error{ID: 165, Status: http.StatusBadRequest} ErrInvalidJobRequirementWorkerModelCapabilitites = Error{ID: 166, Status: http.StatusBadRequest} ErrMalformattedStep = Error{ID: 167, Status: http.StatusBadRequest} ErrVCSUsedByApplication = Error{ID: 168, Status: http.StatusBadRequest} ErrApplicationAsCodeOverride = Error{ID: 169, Status: http.StatusForbidden} ErrPipelineAsCodeOverride = Error{ID: 170, Status: http.StatusForbidden} ErrEnvironmentAsCodeOverride = Error{ID: 171, Status: http.StatusForbidden} ErrWorkflowAsCodeOverride = Error{ID: 172, Status: http.StatusForbidden} ErrProjectSecretDataUnknown = Error{ID: 173, Status: http.StatusBadRequest} ErrApplicationMandatoryOnWorkflowAsCode = Error{ID: 174, Status: http.StatusBadRequest} ErrInvalidPassword = Error{ID: 175, Status: http.StatusBadRequest} ErrInvalidPayloadVariable = Error{ID: 176, Status: http.StatusBadRequest} ErrRepositoryUsedByHook = Error{ID: 177, Status: http.StatusForbidden} ErrResourceNotInProject = Error{ID: 178, Status: http.StatusForbidden} ErrEnvironmentNotFound = Error{ID: 179, Status: http.StatusBadRequest} ErrIntegrationNotFound = Error{ID: 180, Status: http.StatusBadRequest} ErrBadBrokerConfiguration = Error{ID: 181, Status: http.StatusBadRequest} ErrSignupDisabled = Error{ID: 182, Status: http.StatusForbidden} ErrUsernamePresent = Error{ID: 183, Status: http.StatusBadRequest} ErrInvalidJobRequirementNetworkAccess = Error{ID: 184, Status: http.StatusBadRequest} ErrInvalidWorkerModelNamePattern = Error{ID: 185, Status: http.StatusBadRequest} ErrWorkflowAsCodeResync = Error{ID: 186, Status: http.StatusForbidden} ErrWorkflowNodeNameDuplicate = Error{ID: 187, Status: http.StatusBadRequest} ErrUnsupportedMediaType = Error{ID: 188, Status: http.StatusUnsupportedMediaType} ErrNothingToPush = Error{ID: 189, Status: http.StatusBadRequest} ErrWorkerErrorCommand = Error{ID: 190, Status: http.StatusBadRequest} ErrRepoAnalyzeFailed = Error{ID: 191, Status: http.StatusInternalServerError} ErrConflictData = Error{ID: 192, Status: http.StatusConflict} ErrWebsocketUpgrade = Error{ID: 193, Status: http.StatusUpgradeRequired} ErrMFARequired = Error{ID: 194, Status: http.StatusForbidden} ErrHatcheryNoResourceAvailable = Error{ID: 195, Status: http.StatusInternalServerError} ErrRegionNotAllowed = Error{ID: 196, Status: http.StatusInternalServerError} ErrInvalidRunIdentifier = Error{ID: 197, Status: http.StatusBadRequest} )
Existing CDS errors Note: the error id is useless except to ensure objects are different in map
var ( BuiltinHookModels = []*WorkflowHookModel{ &WebHookModel, &RepositoryWebHookModel, &GitPollerModel, &SchedulerModel, &KafkaHookModel, &RabbitMQHookModel, &WorkflowModel, &GerritHookModel, } BuiltinOutgoingHookModels = []*WorkflowHookModel{ &OutgoingWebHookModel, &OutgoingWorkflowModel, } KafkaHookModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/kafka", Name: KafkaHookModelName, Icon: "Linkify", DefaultConfig: WorkflowNodeHookConfig{ HookModelIntegration: { Value: "", Configurable: true, Type: HookConfigTypeIntegration, }, KafkaHookModelTopic: { Value: "", Configurable: true, Type: HookConfigTypeString, }, }, } RabbitMQHookModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/rabbitmq", Name: RabbitMQHookModelName, Icon: "Linkify", DefaultConfig: WorkflowNodeHookConfig{ HookModelIntegration: { Value: "", Configurable: true, Type: HookConfigTypeIntegration, }, RabbitMQHookModelQueue: { Value: "", Configurable: true, Type: HookConfigTypeString, }, RabbitMQHookModelExchangeType: { Value: "", Configurable: true, Type: HookConfigTypeString, }, RabbitMQHookModelExchangeName: { Value: "", Configurable: true, Type: HookConfigTypeString, }, RabbitMQHookModelBindingKey: { Value: "", Configurable: true, Type: HookConfigTypeString, }, RabbitMQHookModelConsumerTag: { Value: "", Configurable: true, Type: HookConfigTypeString, }, }, } WebHookModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/webhook", Name: WebHookModelName, Icon: "Linkify", DefaultConfig: WorkflowNodeHookConfig{ WebHookModelConfigMethod: { Value: "POST", Configurable: true, Type: HookConfigTypeString, }, }, } RepositoryWebHookModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/repositorywebhook", Name: RepositoryWebHookModelName, Icon: "Linkify", DefaultConfig: WorkflowNodeHookConfig{ RepositoryWebHookModelMethod: { Value: "POST", Configurable: false, Type: HookConfigTypeString, }, HookConfigEventFilter: { Value: "", Configurable: true, Type: HookConfigTypeMultiChoice, }, }, } GitPollerModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/poller", Name: GitPollerModelName, Icon: "git square", DefaultConfig: WorkflowNodeHookConfig{ "payload": { Value: "{}", Configurable: true, Type: HookConfigTypeString, }, }, } SchedulerModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/scheduler", Name: SchedulerModelName, Icon: "fa-clock-o", DefaultConfig: WorkflowNodeHookConfig{ SchedulerModelCron: { Value: "0 * * * *", Configurable: true, Type: HookConfigTypeString, }, SchedulerModelTimezone: { Value: "UTC", Configurable: true, Type: HookConfigTypeString, }, Payload: { Value: "{}", Configurable: true, Type: HookConfigTypeString, }, }, } GerritHookModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/gerrit", Name: GerritHookModelName, Icon: "git", DefaultConfig: WorkflowNodeHookConfig{ HookConfigEventFilter: { Value: "", Configurable: true, Type: HookConfigTypeMultiChoice, }, }, } WorkflowModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/workflowhook", Name: WorkflowModelName, Icon: "sitemap", } OutgoingWebHookModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/webhook", Name: WebHookModelName, Icon: "Linkify", DefaultConfig: WorkflowNodeHookConfig{ WebHookModelConfigMethod: { Value: "POST", Configurable: true, Type: HookConfigTypeString, }, "URL": { Configurable: true, Type: HookConfigTypeString, }, Payload: { Value: "{}", Configurable: true, Type: HookConfigTypeString, }, }, } OutgoingWorkflowModel = WorkflowHookModel{ Author: "CDS", Type: WorkflowHookModelBuiltin, Identifier: "github.com/ovh/cds/hook/builtin/workflowhook", Name: WorkflowModelName, Icon: "sitemap", DefaultConfig: WorkflowNodeHookConfig{ HookConfigTargetProject: { Configurable: true, Type: HookConfigTypeProject, }, HookConfigTargetWorkflow: { Configurable: true, Type: HookConfigTypeWorkflow, }, HookConfigTargetHook: { Configurable: true, Type: HookConfigTypeHook, }, Payload: { Value: "{}", Configurable: true, Type: HookConfigTypeString, }, }, } )
Here are the default hooks
var ( BuiltinIntegrationModels = []*IntegrationModel{ &KafkaIntegration, &RabbitMQIntegration, &OpenstackIntegration, &AWSIntegration, &ArtifactoryIntegration, } // KafkaIntegration represents a kafka integration KafkaIntegration = IntegrationModel{ Name: KafkaIntegrationModel, Author: "CDS", Identifier: "github.com/ovh/cds/integration/builtin/kafka", Icon: "", DefaultConfig: IntegrationConfig{ "broker url": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "username": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "password": IntegrationConfigValue{ Type: IntegrationConfigTypePassword, }, "topic": IntegrationConfigValue{ Type: IntegrationConfigTypeString, Description: "This is mandatory only if you want to use Event Integration", }, }, Disabled: false, Hook: true, Event: true, } // RabbitMQIntegration represents a kafka integration RabbitMQIntegration = IntegrationModel{ Name: RabbitMQIntegrationModel, Author: "CDS", Identifier: "github.com/ovh/cds/integration/builtin/rabbitmq", Icon: "", DefaultConfig: IntegrationConfig{ "uri": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "username": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "password": IntegrationConfigValue{ Type: IntegrationConfigTypePassword, }, }, Disabled: false, Hook: true, } // OpenstackIntegration represents an openstack integration OpenstackIntegration = IntegrationModel{ Name: OpenstackIntegrationModel, Author: "CDS", Identifier: "github.com/ovh/cds/integration/builtin/openstack", Icon: "", DefaultConfig: IntegrationConfig{ "address": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "region": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "domain": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "tenant_name": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "username": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "password": IntegrationConfigValue{ Type: IntegrationConfigTypePassword, }, "storage_container_prefix": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "storage_temporary_url_supported": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, }, Storage: true, Disabled: false, Hook: false, } // ArtifactoryIntegration represent integration with artifactory ArtifactoryIntegration = IntegrationModel{ Name: ArtifactoryIntegrationModelName, Author: "CDS", Identifier: "github.com/ovh/cds/integration/builtin/artifactory", Icon: "", DefaultConfig: IntegrationConfig{ ArtifactoryConfigPlatform: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, ArtifactoryConfigURL: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, ArtifactoryConfigDistributionURL: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, ArtifactoryConfigTokenName: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, ArtifactoryConfigToken: IntegrationConfigValue{ Type: IntegrationConfigTypePassword, }, ArtifactoryConfigReleaseToken: IntegrationConfigValue{ Type: IntegrationConfigTypePassword, }, ArtifactoryConfigProjectKey: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, ArtifactoryConfigCdsRepository: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, ArtifactoryConfigPromotionLowMaturity: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, ArtifactoryConfigPromotionHighMaturity: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, ArtifactoryConfigBuildInfoPrefix: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, ArtifactoryConfigRepositoryPrefix: IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, }, ArtifactManager: true, } // AWSIntegration represents an aws integration AWSIntegration = IntegrationModel{ Name: AWSIntegrationModel, Author: "CDS", Identifier: "github.com/ovh/cds/integration/builtin/aws", Icon: "", DefaultConfig: IntegrationConfig{ "region": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "bucket_name": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "prefix": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "access_key_id": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "secret_access_key": IntegrationConfigValue{ Type: IntegrationConfigTypePassword, }, "endpoint": IntegrationConfigValue{ Type: IntegrationConfigTypeString, }, "disable_ssl": IntegrationConfigValue{ Type: IntegrationConfigTypeBoolean, }, "force_path_style": IntegrationConfigValue{ Type: IntegrationConfigTypeBoolean, }, }, Storage: true, Disabled: false, Hook: false, } )
Here are the default plateform models
var ( FR = lang(language.French) EN = lang(language.AmericanEnglish) )
Supported API language
var ( MsgAppCreated = &Message{"MsgAppCreated", trad{FR: "L'application %s a été créée avec succès", EN: "Application %s successfully created"}, nil, RunInfoTypInfo} MsgAppUpdated = &Message{"MsgAppUpdated", trad{FR: "L'application %s a été mise à jour avec succès", EN: "Application %s successfully updated"}, nil, RunInfoTypInfo} MsgPipelineCreated = &Message{"MsgPipelineCreated", trad{FR: "Le pipeline %s a été créé avec succès", EN: "Pipeline %s successfully created"}, nil, RunInfoTypInfo} MsgPipelineCreationAborted = &Message{"MsgPipelineCreationAborted", trad{FR: "La création du pipeline %s a été abandonnée", EN: "Pipeline %s creation aborted"}, nil, RunInfoTypeError} MsgPipelineExists = &Message{"MsgPipelineExists", trad{FR: "Le pipeline %s existe déjà", EN: "Pipeline %s already exists"}, nil, RunInfoTypInfo} MsgAppVariablesCreated = &Message{"MsgAppVariablesCreated", trad{FR: "Les variables ont été ajoutées avec succès sur l'application %s", EN: "Application variables for %s are successfully created"}, nil, RunInfoTypInfo} MsgAppKeyCreated = &Message{"MsgAppKeyCreated", trad{FR: "La clé %s %s a été créée sur l'application %s", EN: "%s key %s created on application %s"}, nil, RunInfoTypInfo} MsgEnvironmentExists = &Message{"MsgEnvironmentExists", trad{FR: "L'environnement %s existe déjà", EN: "Environment %s already exists"}, nil, RunInfoTypInfo} MsgEnvironmentCreated = &Message{"MsgEnvironmentCreated", trad{FR: "L'environnement %s a été créé avec succès", EN: "Environment %s successfully created"}, nil, RunInfoTypInfo} MsgEnvironmentVariableUpdated = &Message{"MsgEnvironmentVariableUpdated", trad{FR: "La variable %s de l'environnement %s a été mise à jour", EN: "Variable %s on environment %s has been updated"}, nil, RunInfoTypInfo} MsgEnvironmentVariableCannotBeUpdated = &Message{"MsgEnvironmentVariableCannotBeUpdated", trad{FR: "La variable %s de l'environnement %s n'a pu être mise à jour : %s", EN: "Variable %s on environment %s cannot be updated: %s"}, nil, RunInfoTypeError} MsgEnvironmentVariableCreated = &Message{"MsgEnvironmentVariableCreated", trad{FR: "La variable %s de l'environnement %s a été ajoutée", EN: "Variable %s on environment %s has been added"}, nil, RunInfoTypInfo} MsgEnvironmentVariableCannotBeCreated = &Message{"MsgEnvironmentVariableCannotBeCreated", trad{FR: "La variable %s de l'environnement %s n'a pu être ajoutée : %s", EN: "Variable %s on environment %s cannot be added: %s"}, nil, RunInfoTypeError} MsgEnvironmentGroupUpdated = &Message{"MsgEnvironmentGroupUpdated", trad{FR: "Le groupe %s de l'environnement %s a été mis à jour", EN: "Group %s on environment %s has been updated"}, nil, RunInfoTypInfo} MsgEnvironmentGroupCannotBeUpdated = &Message{"MsgEnvironmentGroupCannotBeUpdated", trad{FR: "Le groupe %s de l'environnement %s n'a pu être mis à jour : %s", EN: "Group %s on environment %s cannot be updated: %s"}, nil, RunInfoTypeError} MsgEnvironmentGroupCreated = &Message{"MsgEnvironmentGroupCreated", trad{FR: "Le groupe %s de l'environnement %s a été ajouté", EN: "Group %s on environment %s has been added"}, nil, RunInfoTypInfo} MsgEnvironmentGroupCannotBeCreated = &Message{"MsgEnvironmentGroupCannotBeCreated", trad{FR: "Le groupe %s de l'environnement %s n'a pu être ajouté : %s", EN: "Group %s on environment %s cannot be added: %s"}, nil, RunInfoTypeError} MsgEnvironmentGroupDeleted = &Message{"MsgEnvironmentGroupDeleted", trad{FR: "Le groupe %s de l'environnement %s a été supprimé", EN: "Group %s on environment %s has been deleted"}, nil, RunInfoTypInfo} MsgEnvironmentGroupCannotBeDeleted = &Message{"MsgEnvironmentGMsgEnvironmentGroupCannotBeDeletedroupCannotBeCreated", trad{FR: "Le groupe %s de l'environnement %s n'a pu être supprimé : %s", EN: "Group %s on environment %s cannot be deleted: %s"}, nil, RunInfoTypeError} MsgEnvironmentKeyCreated = &Message{"MsgEnvironmentKeyCreated", trad{FR: "La clé %s %s a été créée sur l'environnement %s", EN: "%s key %s created on environment %s"}, nil, RunInfoTypInfo} MsgEnvironmentKeyCannotBeCreated = &Message{"MsgEnvironmentKeyCannotBeCreated", trad{FR: "La clé %s %s n'a pas été créée sur l'environnement %s", EN: "%s key %s cannot be created on environment %s: %v"}, nil, RunInfoTypeError} MsgJobNotValidActionNotFound = &Message{"MsgJobNotValidActionNotFound", trad{FR: "Erreur de validation du Job %s : L'action %s à l'étape %d n'a pas été trouvée", EN: "Job %s validation Failure: Unknown action %s on step #%d"}, nil, RunInfoTypeError} MsgJobNotValidInvalidActionParameter = &Message{"MsgJobNotValidInvalidActionParameter", trad{FR: "Erreur de validation du Job %s : Le paramètre %s de l'étape %d - %s est invalide", EN: "Job %s validation Failure: Invalid parameter %s on step #%d %s"}, nil, RunInfoTypeError} MsgPipelineGroupUpdated = &Message{"MsgPipelineGroupUpdated", trad{FR: "Les permissions du groupe %s sur le pipeline %s on été mises à jour", EN: "Permission for group %s on pipeline %s has been updated"}, nil, RunInfoTypInfo} MsgPipelineGroupAdded = &Message{"MsgPipelineGroupAdded", trad{FR: "Les permissions du groupe %s sur le pipeline %s on été ajoutées", EN: "Permission for group %s on pipeline %s has been added"}, nil, RunInfoTypInfo} MsgPipelineGroupDeleted = &Message{"MsgPipelineGroupDeleted", trad{FR: "Les permissions du groupe %s sur le pipeline %s on été supprimées", EN: "Permission for group %s on pipeline %s has been deleted"}, nil, RunInfoTypInfo} MsgPipelineStageUpdated = &Message{"MsgPipelineStageUpdated", trad{FR: "Le stage %s a été mis à jour", EN: "Stage %s updated"}, nil, RunInfoTypInfo} MsgPipelineStageUpdating = &Message{"MsgPipelineStageUpdating", trad{FR: "Mise à jour du stage %s en cours...", EN: "Updating stage %s ..."}, nil, RunInfoTypInfo} MsgPipelineStageDeletingOldJobs = &Message{"MsgPipelineStageDeletingOldJobs", trad{FR: "Suppression des anciens jobs du stage %s en cours...", EN: "Deleting old jobs in stage %s ..."}, nil, RunInfoTypInfo} MsgPipelineStageInsertingNewJobs = &Message{"MsgPipelineStageInsertingNewJobs", trad{FR: "Insertion des nouveaux jobs dans le stage %s en cours...", EN: "Inserting new jobs in stage %s ..."}, nil, RunInfoTypInfo} MsgPipelineStageAdded = &Message{"MsgPipelineStageAdded", trad{FR: "Le stage %s a été ajouté", EN: "Stage %s added"}, nil, RunInfoTypInfo} MsgPipelineStageDeleted = &Message{"MsgPipelineStageDeleted", trad{FR: "Le stage %s a été supprimé", EN: "Stage %s deleted"}, nil, RunInfoTypInfo} MsgPipelineJobUpdated = &Message{"MsgPipelineJobUpdated", trad{FR: "Le job %s du stage %s a été mis à jour", EN: "Job %s in stage %s updated"}, nil, RunInfoTypInfo} MsgPipelineJobAdded = &Message{"MsgPipelineJobAdded", trad{FR: "Le job %s du stage %s a été ajouté", EN: "Job %s in stage %s added"}, nil, RunInfoTypInfo} MsgPipelineJobDeleted = &Message{"MsgPipelineJobDeleted", trad{FR: "Le job %s du stage %s a été supprimé", EN: "Job %s in stage %s deleted"}, nil, RunInfoTypInfo} MsgPipelineDetached = &Message{"MsgPipelineDetached", trad{FR: "Le pipeline %s est détaché du repository %s", EN: "The pipeline %s is detached from repository %s"}, nil, RunInfoTypInfo} MsgApplicationDetached = &Message{"MsgApplicationDetached", trad{FR: "L'application %s est détachée du repository %s", EN: "The application %s is detached from repository %s"}, nil, RunInfoTypInfo} MsgEnvironmentDetached = &Message{"MsgEnvironmentDetached", trad{FR: "L'environnement %s est détaché du repository %s", EN: "The environment %s is detached from repository %s"}, nil, RunInfoTypInfo} MsgWorkflowDetached = &Message{"MsgWorkflowDetached", trad{FR: "Le workflow %s est détaché du repository %s", EN: "The workflow %s is detached from repository %s"}, nil, RunInfoTypInfo} MsgSpawnInfoHatcheryStarts = &Message{"MsgSpawnInfoHatcheryStarts", trad{FR: "La Hatchery %s a démarré le lancement du worker %s avec le modèle %s", EN: "Hatchery %s starts spawn worker %s with model %s"}, nil, RunInfoTypInfo} MsgSpawnInfoHatcheryErrorSpawn = &Message{"MsgSpawnInfoHatcheryErrorSpawn", trad{FR: "Une erreur est survenue lorsque la Hatchery %s a démarré un worker avec le modèle %s après %s, err: %s", EN: "Error while Hatchery %s spawns worker with model %s after %s, err: %s"}, nil, RunInfoTypeError} MsgSpawnInfoHatcheryStartDockerPull = &Message{"MsgSpawnInfoHatcheryStartDockerPull", trad{FR: "La Hatchery %s a démarré le docker pull de l'image %s...", EN: "Hatchery %s starts docker pull %s..."}, nil, RunInfoTypInfo} MsgSpawnInfoHatcheryEndDockerPull = &Message{"MsgSpawnInfoHatcheryEndDockerPull", trad{FR: "La Hatchery %s a terminé le docker pull de l'image %s", EN: "Hatchery %s docker pull %s done"}, nil, RunInfoTypInfo} MsgSpawnInfoHatcheryEndDockerPullErr = &Message{"MsgSpawnInfoHatcheryEndDockerPullErr", trad{FR: "⚠ La Hatchery %s a terminé le docker pull de l'image %s en erreur: %s", EN: "⚠ Hatchery %s - docker pull %s done with error: %v"}, nil, RunInfoTypeError} MsgSpawnInfoDeprecatedModel = &Message{"MsgSpawnInfoDeprecatedModel", trad{FR: "⚠ Attention vous utilisez un worker model (%s) déprécié", EN: "⚠ Pay attention you are using a deprecated worker model (%s)"}, nil, RunInfoTypeWarning} MsgSpawnInfoWorkerEnd = &Message{"MsgSpawnInfoWorkerEnd", trad{FR: "✓ Le worker %s a terminé et a passé %s à travailler sur les étapes", EN: "✓ Worker %s finished working on this job"}, nil, RunInfoTypInfo} MsgSpawnInfoJobDisabled = &Message{"MsgSpawnInfoJobDisabled", trad{FR: "✓ Le job a désactivé", EN: "✓ Job is disabled"}, nil, RunInfoTypInfo} MsgSpawnInfoJobInQueue = &Message{"MsgSpawnInfoJobInQueue", trad{FR: "✓ Le job a été mis en file d'attente", EN: "✓ Job has been queued"}, nil, RunInfoTypInfo} MsgSpawnInfoJobTaken = &Message{"MsgSpawnInfoJobTaken", trad{FR: "Le job %s a été pris par le worker %s", EN: "Job %s has been taken by worker %s"}, nil, RunInfoTypInfo} MsgSpawnInfoJobTakenWorkerVersion = &Message{"MsgSpawnInfoJobTakenWorkerVersion", trad{FR: "Worker %s version:%s os:%s arch:%s", EN: "Worker %s version:%s os:%s arch:%s"}, nil, RunInfoTypInfo} MsgSpawnInfoWorkerForJob = &Message{"MsgSpawnInfoWorkerForJob", trad{FR: "Ce worker %s a été créé pour lancer ce job", EN: "This worker %s was created to take this action"}, nil, RunInfoTypInfo} MsgSpawnInfoWorkerForJobError = &Message{"MsgSpawnInfoWorkerForJobError", trad{FR: "⚠ Ce worker %s a été créé pour lancer ce job, mais ne possède pas tous les pré-requis. Vérifiez que les prérequis suivants: %s", EN: "⚠ This worker %s was created to take this action, but does not have all prerequisites. Please verify the following prerequisites: %s"}, nil, RunInfoTypeError} MsgSpawnInfoJobError = &Message{"MsgSpawnInfoJobError", trad{FR: "⚠ Impossible de lancer ce job : %s", EN: "⚠ Unable to run this job: %s"}, nil, RunInfoTypInfo} MsgWorkflowStarting = &Message{"MsgWorkflowStarting", trad{FR: "Le workflow %s#%s a été démarré", EN: "Workflow %s#%s has been started"}, nil, RunInfoTypInfo} MsgWorkflowError = &Message{"MsgWorkflowError", trad{FR: "⚠ Une erreur est survenue: %v", EN: "⚠ An error has occurred: %v"}, nil, RunInfoTypeError} MsgWorkflowConditionError = &Message{"MsgWorkflowConditionError", trad{FR: "Les conditions de lancement ne sont pas respectées.", EN: "Run conditions aren't ok."}, nil, RunInfoTypInfo} MsgWorkflowNodeStop = &Message{"MsgWorkflowNodeStop", trad{FR: "Le pipeline a été arrété par %s", EN: "The pipeline has been stopped by %s"}, nil, RunInfoTypInfo} MsgWorkflowNodeMutex = &Message{"MsgWorkflowNodeMutex", trad{FR: "Le pipeline %s est mis en attente tant qu'il est en cours sur un autre run", EN: "The pipeline %s is waiting while it's running on another run"}, nil, RunInfoTypInfo} MsgWorkflowNodeMutexRelease = &Message{"MsgWorkflowNodeMutexRelease", trad{FR: "Lancement du pipeline %s", EN: "Triggering pipeline %s"}, nil, RunInfoTypInfo} MsgWorkflowImportedUpdated = &Message{"MsgWorkflowImportedUpdated", trad{FR: "Le workflow %s a été mis à jour", EN: "Workflow %s has been updated"}, nil, RunInfoTypInfo} MsgWorkflowImportedInserted = &Message{"MsgWorkflowImportedInserted", trad{FR: "Le workflow %s a été créé", EN: "Workflow %s has been created"}, nil, RunInfoTypInfo} MsgSpawnInfoHatcheryCannotStartJob = &Message{"MsgSpawnInfoHatcheryCannotStart", trad{FR: "Aucune hatchery n'a pu démarrer de worker respectant vos pré-requis de job, merci de les vérifier.", EN: "No hatchery can spawn a worker corresponding your job's requirements. Please check your job's requirements."}, nil, RunInfoTypeWarning} MsgWorkflowRunBranchDeleted = &Message{"MsgWorkflowRunBranchDeleted", trad{FR: "La branche %s a été supprimée", EN: "Branch %s has been deleted"}, nil, RunInfoTypInfo} MsgWorkflowTemplateImportedInserted = &Message{"MsgWorkflowTemplateImportedInserted", trad{FR: "Le template de workflow %s/%s a été créé", EN: "Workflow template %s/%s has been created"}, nil, RunInfoTypInfo} MsgWorkflowTemplateImportedUpdated = &Message{"MsgWorkflowTemplateImportedUpdated", trad{FR: "Le template de workflow %s/%s a été mis à jour", EN: "Workflow template %s/%s has been updated"}, nil, RunInfoTypInfo} MsgWorkflowErrorBadPipelineName = &Message{"MsgWorkflowErrorBadPipelineName", trad{FR: "Le pipeline %s indiqué dans votre fichier yaml de workflow n'existe pas", EN: "The pipeline %s mentioned in your workflow's yaml file doesn't exist"}, nil, RunInfoTypeError} MsgWorkflowErrorBadApplicationName = &Message{"MsgWorkflowErrorBadApplicationName", trad{FR: "L'application %s indiquée dans votre fichier yaml de workflow n'existe pas ou ne correspond pas aux normes ^[a-zA-Z0-9._-]{1,}$", EN: "The application %s mentioned in your workflow's yaml file doesn't exist or is incorrect with ^[a-zA-Z0-9._-]{1,}$"}, nil, RunInfoTypeError} MsgWorkflowErrorBadEnvironmentName = &Message{"MsgWorkflowErrorBadEnvironmentName", trad{FR: "L'environnement %s indiqué dans votre fichier yaml de workflow n'existe pas", EN: "The environment %s mentioned in your workflow's yaml file doesn't exist"}, nil, RunInfoTypeError} MsgWorkflowErrorBadIntegrationName = &Message{"MsgWorkflowErrorBadIntegrationName", trad{FR: "L'intégration %s indiquée dans votre fichier yaml n'existe pas", EN: "The integration %s mentioned in your yaml file doesn't exist"}, nil, RunInfoTypeError} MsgWorkflowErrorBadCdsDir = &Message{"MsgWorkflowErrorBadCdsDir", trad{FR: "Un problème est survenu avec votre répertoire .cds", EN: "A problem occurred about your .cds directory"}, nil, RunInfoTypeError} MsgWorkflowErrorUnknownKey = &Message{"MsgWorkflowErrorUnknownKey", trad{FR: "La clé '%s' est incorrecte ou n'existe pas", EN: "The key '%s' is incorrect or doesn't exist"}, nil, RunInfoTypeError} MsgWorkflowErrorBadVCSStrategy = &Message{"MsgWorkflowErrorBadVCSStrategy", trad{FR: "Vos informations vcs_* sont incorrectes", EN: "Your vcs_* fields are incorrects"}, nil, RunInfoTypeError} MsgWorkflowDeprecatedVersion = &Message{"MsgWorkflowDeprecatedVersion", trad{FR: "La configuration yaml de votre workflow est dans un format déprécié. Exportez le avec la CLI `cdsctl workflow export %s %s`", EN: "The yaml workflow configuration format is deprecated. Export your workflow with CLI `cdsctl workflow export %s %s`"}, nil, RunInfoTypeWarning} MsgWorkflowGeneratedFromTemplateVersion = &Message{"MsgWorkflowGeneratedFromTemplateVersion", trad{FR: "Le workflow a été généré à partir du modèle de workflow: %s", EN: "The workflow was generated from the template: %s"}, nil, RunInfoTypInfo} MsgTooMuchWorkflowRun = &Message{"MsgTooMuchWorkflowRun", trad{FR: "L'exécution de ce workflow est suspendu. Vous dépassez le nombre maximum d'éxécution autorisé (%.f). Merci de revoir la politique de retention de ce workflow", EN: "Workflow run is delayed. The maximum number of runs for this workflow has been reached ( %.f ). Please update your workflow retention policy"}, nil, RunInfoTypeWarning} MsgSpawnErrorHatcheryRetryAttempt = &Message{"MsgSpawnErrorHatcheryRetryAttempt", trad{EN: "Job execution failed by hatchery %s. Reason: %s"}, nil, RunInfoTypeError} MsgWorkflowV3Preview = &Message{"MsgWorkflowV3Preview", trad{FR: "Le workflow a été généré en version 3 à partir d'une ancienne version", EN: "The workflow was generated in version 3 from an old version"}, nil, RunInfoTypeWarning} MsgSpawnInfoDisableSecretInjection = &Message{"MsgSpawnInfoDisableSecretInjection", trad{EN: "⚠ Project's secrets were not automatically injected for this job because of a region prerequisite: %s"}, nil, RunInfoTypInfo} MsgSpawnInfoManualSecretInjection = &Message{"MsgSpawnInfoManualSecretInjection", trad{EN: "Prerequisites of type secret matched %s secret(s)"}, nil, RunInfoTypInfo} MsgSpawnInfoWorkerHookSetup = &Message{"MsgSpawnInfoWorkerHookSetup", trad{EN: "Setting up worker hook %q"}, nil, RunInfoTypInfo} MsgSpawnInfoWorkerHookRun = &Message{"MsgSpawnInfoWorkerHookRun", trad{EN: "Running worker hook %q"}, nil, RunInfoTypInfo} MsgSpawnInfoWorkerHookRunTeardown = &Message{"MsgSpawnInfoWorkerHookRunTeardown", trad{EN: "Running worker hook %q teardown"}, nil, RunInfoTypInfo} MsgSpawnInfoWorkerDisabledByHatchery = &Message{"MsgSpawnInfoWorkerDisabledByHatchery", trad{EN: "The worker (not responding) %s was disabled by hatchery"}, nil, RunInfoTypeWarning} MsgSpawnInfoWorkerDisabledByAdmin = &Message{"MsgSpawnInfoWorkerDisabledByAdmin", trad{EN: "The worker %s was disabled by an administrator"}, nil, RunInfoTypeWarning} MsgSpawnInfoJobFailedCauseByWorkerLost = &Message{"MsgSpawnInfoJobFailedCauseByWorkerLost", trad{EN: "The job %s was set to failed due to lost connection with the worker"}, nil, RunInfoTypeWarning} )
Message list
var ( UserNotificationTemplateEmail = UserNotificationTemplate{ Subject: "{{.cds.project}}/{{.cds.workflow}}#{{.cds.version}} {{.cds.status}}", Body: `Project : {{.cds.project}} Workflow : {{.cds.workflow}}#{{.cds.version}} Pipeline : {{.cds.node}} Status : {{.cds.status}} Details : {{.cds.buildURL}} Triggered by : {{.cds.triggered_by.username}} Branch : {{.git.branch | default "n/a"}}`, } UserNotificationTemplateMap = map[string]UserNotificationTemplate{ EmailUserNotification: UserNotificationTemplateEmail, VCSUserNotification: { Body: DefaultWorkflowNodeRunReport, }, } )
Default template values
var ( WorkflowRoleTrigger = "trigger" WorkflowRoles = []string{WorkflowRoleTrigger} )
var ( // AvailableRequirementsType List of all requirements AvailableRequirementsType = []string{ BinaryRequirement, HostnameRequirement, MemoryRequirement, ModelRequirement, OSArchRequirement, PluginRequirement, RegionRequirement, ServiceRequirement, SecretRequirement, FlavorRequirement, } // OSArchRequirementValues comes from go tool dist list OSArchRequirementValues = RequirementList{ {Name: "linux/amd64", Type: OSArchRequirement, Value: "linux/amd64"}, {Name: "linux/386", Type: OSArchRequirement, Value: "linux/386"}, {Name: "darwin/amd64", Type: OSArchRequirement, Value: "darwin/amd64"}, {Name: "freebsd/386", Type: OSArchRequirement, Value: "freebsd/386"}, {Name: "freebsd/amd64", Type: OSArchRequirement, Value: "freebsd/amd64"}, {Name: "linux/arm64", Type: OSArchRequirement, Value: "linux/arm64"}, {Name: "netbsd/386", Type: OSArchRequirement, Value: "netbsd/386"}, {Name: "netbsd/amd64", Type: OSArchRequirement, Value: "netbsd/amd64"}, {Name: "openbsd/386", Type: OSArchRequirement, Value: "openbsd/386"}, {Name: "openbsd/amd64", Type: OSArchRequirement, Value: "openbsd/amd64"}, {Name: "windows/amd64", Type: OSArchRequirement, Value: "windows/amd64"}, } )
var ( // AvailableVariableType list all existing variable type in CDS AvailableVariableType = []string{ SecretVariable, TextVariable, StringVariable, BooleanVariable, NumberVariable, } BasicVariableNames = []string{ "cds.version", "cds.application", "cds.environment", "cds.job", "cds.manual", "cds.pipeline", "cds.project", "cds.run", "cds.run.number", "cds.run.subnumber", "cds.stage", "cds.triggered_by.email", "cds.triggered_by.fullname", "cds.triggered_by.username", "cds.ui.pipeline.run", "cds.worker", "cds.workflow", "cds.workspace", "payload", } BasicGitVariableNames = []string{ "git.repository", "git.branch", "git.message", "git.author", "git.hash", "git.hash.short", "git.url", "git.http_url", "git.server", } )
var ( BitbucketEvents = []string{ "repo:refs_changed", "repo:comment:added", "repo:comment:deleted", "repo:comment:edited", "repo:forked", "repo:modified", "pr:comment:added", "pr:comment:deleted", "pr:comment:edited", "pr:declined", "pr:deleted", "pr:from_ref_updated", "pr:merged", "pr:modified", "pr:opened", "pr:reviewer:approved", "pr:reviewer:needs_work", "pr:reviewer:unapproved", "pr:reviewer:updated", } BitbucketEventsDefault = []string{ "repo:refs_changed", } BitbucketCloudEvents = []string{ "repo:push", "repo:commit_comment_created", "repo:commit_status_created", "repo:commit_status_updated", "repo:created", "repo:deleted", "repo:fork", "repo:imported", "repo:transfer", "repo:updated", "issue:comment_created", "issue:created", "issue:updated", "project:updated", "pullrequest:approved", "pullrequest:comment_created", "pullrequest:comment_deleted", "pullrequest:comment_updated", "pullrequest:created", "pullrequest:fulfilled", "pullrequest:rejected", "pullrequest:unapproved", "pullrequest:updated", } BitbucketCloudEventsDefault = []string{ "repo:push", } GitHubEvents = []string{ "push", "pull_request_review_comment", "pull_request_review", "pull_request", "check_run", "check_suite", "commit_comment", "create", "delete", "deployment_status", "deployment", "fork", "github_app_authorization", "gollum", "installation_repositories", "installation", "issue_comment", "issues", "label", "marketplace_purchase", "member", "membership", "milestone", "org_block", "organization", "page_build", "project_card", "project_column", "project", "public", "release", "repository_import", "repository_vulnerability_alert", "repository", "security_advisory", "status", "team_add", "team", "watch", } GitHubEventsDefault = []string{ "push", } GitlabEventsDefault = []string{ "Push Hook", "Tag Push Hook", } GerritEvents = []string{ GerritEventTypePatchsetCreated, GerritEventTypeAssignedChanged, GerritEventTypeChangeAbandoned, GerritEventTypeChangeDeleted, GerritEventTypeChangeMerged, GerritEventTypeChangeRestored, GerritEventTypeCommentAdded, GerritEventTypeDrafPublished, GerritEventTypeDroppedOutput, GerritEventTypeHashTagsChanged, GerritEventTypeProjectCreated, GerritEventTypeRefUpdated, GerritEventTypeReviewerAdded, GerritEventTypeReviewerDelete, GerritEventTypeTopicChanged, GerritEventTypeWIPStateChanged, GerritEventTypePrivateStateChanged, GerritEventTypeVoteDeleted, } GerritEventTypeAssignedChanged = "assignee-changed" GerritEventTypeChangeAbandoned = "change-abandoned" GerritEventTypeChangeDeleted = "change-deleted" GerritEventTypeChangeMerged = "change-merged" GerritEventTypeChangeRestored = "change-restored" GerritEventTypeCommentAdded = "comment-added" GerritEventTypeDrafPublished = "draft-published" GerritEventTypeDroppedOutput = "dropped-output" GerritEventTypeHashTagsChanged = "hashtags-changed" GerritEventTypeProjectCreated = "project-created" GerritEventTypePatchsetCreated = "patchset-created" GerritEventTypeRefUpdated = "ref-updated" GerritEventTypeReviewerAdded = "reviewer-added" GerritEventTypeReviewerDelete = "reviewer-deleted" GerritEventTypeTopicChanged = "topic-changed" GerritEventTypeWIPStateChanged = "wip-state-changed" GerritEventTypePrivateStateChanged = "private-state-changed" GerritEventTypeVoteDeleted = "vote-deleted" GerritEventsDefault = []string{ GerritEventTypePatchsetCreated, } )
var ( //VERSION is set with -ldflags "-X github.com/ovh/cds/sdk.VERSION=$(VERSION)" VERSION = "snapshot" //GOOS is set with -ldflags "-X github.com/ovh/cds/sdk.GOOS=$(GOOS)" GOOS = "" //GOARCH is set with -ldflags "-X github.com/ovh/cds/sdk.GOARCH=$(GOARCH)" GOARCH = "" //GITHASH is set with -ldflags "-X github.com/ovh/cds/sdk.GITHASH=$(GITHASH)" GITHASH = "" //BUILDTIME is set with -ldflags "-X github.com/ovh/cds/sdk.BUILDTIME=$(BUILDTIME)" BUILDTIME = "" //BINARY is set with -ldflags "-X github.com/ovh/cds/sdk.BINARY=$(BINARY)" BINARY = "" //DBMIGRATE is set with -ldflags "-X github.com/ovh/cds/sdk.DBMIGRATE=$(DBMIGRATE)" // this flag contains the number of sql files to migrate for this version DBMIGRATE = "" )
var ( WorkflowRunHeader = "X-Workflow-Run" WorkflowHeader = "X-Workflow" ProjectKeyHeader = "X-Project-Key" )
var AuthConsumerScopes = []AuthConsumerScope{ AuthConsumerScopeUser, AuthConsumerScopeAccessToken, AuthConsumerScopeAction, AuthConsumerScopeAdmin, AuthConsumerScopeGroup, AuthConsumerScopeTemplate, AuthConsumerScopeProject, AuthConsumerScopeRun, AuthConsumerScopeRunExecution, AuthConsumerScopeHooks, AuthConsumerScopeWorkerModel, AuthConsumerScopeHatchery, AuthConsumerScopeService, }
AuthConsumerScopes list.
var ( // AvailableParameterType list all existing parameters type in CDS AvailableParameterType = []string{ StringParameter, NumberParameter, TextParameter, BooleanParameter, ListParameter, KeySSHParameter, KeyPGPParameter, } )
var ( // AvailableWorkerModelType List of all worker model type AvailableWorkerModelType = []string{ string(Docker), string(HostProcess), string(Openstack), string(VSphere), } )
var ColorRegexp = regexp.MustCompile(`^#\w{3,8}$`)
ColorRegexp represent the regexp for a format to hexadecimal color
var (
DefaultFuncs = map[string]ActionFunc{
"contains": contains,
"startsWith": startsWith,
"endsWith": endsWith,
"format": format,
"join": join,
"toJSON": toJSON,
"fromJSON": fromJSON,
"hashFiles": hashFiles,
"success": success,
"always": always,
"cancelled": cancelled,
"failure": failure,
}
)
var ErrExecutableNotFound = errors.New("executable file not found in $PATH")
ErrExecutableNotFound is the error resulting if a path search failed to find an executable file.
var (
GlobalRoles = []string{GlobalRoleProjectCreate, GlobalRoleManagePermission, GlobalRoleManageOrganization, GlobalRoleManageRegion, GlobalRoleManageUser, GlobalRoleManageGroup, GlobalRoleManageHatchery}
)
var (
HatcheryRoles = StringSlice{HatcheryRoleSpawn}
)
var MapMergeOptions = struct { // Function to exclude git parameters ExcludeGitParams CheckFunc }{ ExcludeGitParams: excludeGitParams, }
MapMergeOptions options for mapMerge functions
var MessageAmericanEnglish = map[string]string{ WarningMissingProjectVariableEnv: `Variable {{index . "VarName"}} is used by environment {{index . "EnvironmentName"}} but does not exist on project {{index . "ProjectKey"}}`, WarningMissingProjectVariableApplication: `Variable {{index . "VarName"}} is used by application {{index . "ApplicationName"}} but does not exist on project {{index . "ProjectKey"}}`, WarningMissingProjectVariablePipelineParameter: `Variable {{index . "VarName"}} is used by parameter in pipeline {{index . "PipelineName"}} but does not exist on project {{index . "ProjectKey"}}`, WarningMissingProjectVariablePipelineJob: `Variable {{index . "VarName"}} is used in pipeline {{index . "PipelineName"}}, in stage {{index . "StageName"}} by job {{index . "JobName"}} but does not exist on project {{index . "ProjectKey"}}`, WarningMissingProjectVariableWorkflow: `Variable {{index . "VarName"}} is used by the workflow {{index . "WorkflowName"}} in Pipeline {{index . "NodeName"}} but does not exist on project {{index . "ProjectKey"}}`, WarningUnusedProjectVariable: `Unused variable {{index . "VarName"}} on project {{index . "ProjectKey"}}.`, WarningMissingProjectPermissionEnv: `Group {{index . "GroupName"}} is not on project {{index . "ProjectKey"}} but is used on Environment {{index . "EnvironmentName"}}.`, WarningMissingProjectPermissionWorkflow: `Group {{index . "GroupName"}} is not on project {{index . "ProjectKey"}} but is used on Workflow {{index . "WorkflowName"}}.`, WarningMissingProjectKeyApplication: `Key {{index . "KeyName"}} is used by application {{index . "ApplicationName"}} but does not exist on project {{index . "ProjectKey"}}`, WarningMissingProjectKeyPipelineParameter: `Key {{index . "KeyName"}} is used by a parameter in pipeline {{index . "PipelineName"}} but does not exist on project {{index . "ProjectKey"}}`, WarningMissingProjectKeyPipelineJob: `Key {{index . "KeyName"}} is used by pipeline {{index . "PipelineName"}} in stage {{index . "StageName"}} in job {{index . "JobName"}} but does not exist on project {{index . "ProjectKey"}}`, WarningUnusedProjectKey: `Unused key {{index . "KeyName"}} on project {{index . "ProjectKey"}}.`, WarningMissingProjectVCSServer: `Repository manager {{index . "VCSName"}} is used by Application: "{{index . "ApplicationName"}}" but does not exist on project {{index . "ProjectKey"}}`, WarningUnusedProjectVCSServer: `Unused repository manager {{index . "VCSName"}} on project {{index . "ProjectKey"}}.`, WarningMissingVCSConfiguration: `CDS variables .git.* are used but there is no repository manager on project {{index . "ProjectKey"}}`, WarningMissingApplicationVariable: `Variable {{index . "VarName"}} is used but does not exist on project/application {{index . "ProjectKey"}}/{{index . "ApplicationName"}}`, WarningUnusedApplicationVariable: `Unused variable {{index . "VarName"}} on project/application {{index . "ProjectKey"}}/{{index . "ApplicationName"}}.`, WarningMissingApplicationKey: `Key {{index . "KeyName"}} is used but does not exist on project/application {{index . "ProjectKey"}}/{{index . "ApplicationName"}}`, WarningUnusedApplicationKey: `Unused key {{index . "KeyName"}} on project/application {{index . "ProjectKey"}}/{{index . "ApplicationName"}}.`, WarningMissingEnvironmentVariable: `Variable {{index . "VarName"}} is used but does not exist on project/environment {{index . "ProjectKey"}}/{{index . "EnvironmentName"}}`, WarningUnusedEnvironmentVariable: `Unused variable {{index . "VarName"}} on project/environment {{index . "ProjectKey"}}/{{index . "EnvironmentName"}}.`, WarningMissingEnvironmentKey: `Key {{index . "KeyName"}} is used but does not exist on project/environment {{index . "ProjectKey"}}/{{index . "EnvironmentName"}}`, WarningUnusedEnvironmentKey: `Unused key {{index . "KeyName"}} on project/environment {{index . "ProjectKey"}}/{{index . "EnvironmentName"}}.`, WarningMissingPipelineParameter: `Parameter {{index . "ParamName"}} is used but does not exist on project/pipeline {{index . "ProjectKey"}}/{{index . "PipelineName"}}`, WarningUnusedPipelineParameter: `Unused parameter {{index . "ParamName"}} on project/pipeline {{index . "ProjectKey"}}/{{index . "PipelineName"}}.`, }
var MessageFrench = map[string]string{ WarningMissingProjectVariableEnv: `La variable {{index . "VarName"}} est utilisée par l'environment {{index . "EnvironmentName"}} mais n'existe pas dans le projet {{index . "ProjectKey"}}`, WarningMissingProjectVariableApplication: `La variable {{index . "VarName"}} est utilisée par l'application {{index . "ApplicationName"}} mais n'existe pas dans le projet {{index . "ProjectKey"}}`, WarningMissingProjectVariablePipelineParameter: `La variable {{index . "VarName"}} est utilisée par les paramètre du pipeline {{index . "PipelineName"}} mais n'existe pas dans le projet {{index . "ProjectKey"}}`, WarningMissingProjectVariablePipelineJob: `La variable {{index . "VarName"}} est utilisée par le pipeline {{index . "PipelineName"}}, dans le stage {{index . "StageName"}} dans le job {{index . "JobName"}} mais n'existe pas dans le projet {{index . "ProjectKey"}}`, WarningMissingProjectVariableWorkflow: `La variable {{index . "VarName"}} est utilisée par le workflow {{index . "WorkflowName"}} par le pipeline {{index . "NodeName"}} mais n'existe pas dans le projet {{index . "ProjectKey"}}`, WarningUnusedProjectVariable: `La variable {{index . "VarName"}} est inutilisée dans le projet {{index . "ProjectKey"}}.`, WarningMissingProjectPermissionEnv: `Le groupe {{index . "GroupName"}} n'a pas accès au projet {{index . "ProjectKey"}} mais est positionné sur l'environment {{index . "EnvironmentName"}}.`, WarningMissingProjectPermissionWorkflow: `Le groupe {{index . "GroupName"}} n'a pas accès au projet {{index . "ProjectKey"}} mais est positionné sur le workflow {{index . "WorkflowName"}}.`, WarningMissingProjectKeyApplication: `La clé {{index . "KeyName"}} est utilisée dans l'application {{index . "ApplicationName"}} mais n'existe pas dans le projet {{index . "ProjectKey"}}`, WarningMissingProjectKeyPipelineParameter: `La clé {{index . "KeyName"}} est utilisée dans le pipeline {{index . "PipelineName"}} mais n'existe pas dans le projet {{index . "ProjectKey"}}`, WarningMissingProjectKeyPipelineJob: `La clé {{index . "KeyName"}} est utilisée dans le pipeline {{index . "PipelineName"}} dans le stage {{index . "StageName"}} dans le job {{index . "JobName"}} but does not exist on project {{index . "ProjectKey"}}`, WarningUnusedProjectKey: `La clé {{index . "KeyName"}} est inutilisé dans le projet {{index . "ProjectKey"}}.`, WarningMissingProjectVCSServer: `Le gestionnaire de dépôt {{index . "VCSName"}} est utilisés par l'application' : "{{index . "ApplicationName"}}" mais n'existe pas sur le projet {{index . "ProjectKey"}}`, WarningUnusedProjectVCSServer: `Le gestionnaire de dépôt {{index . "VCSName"}} est inutilisé dans le project {{index . "ProjectKey"}}`, WarningMissingVCSConfiguration: `Les variables CDS git.* sont utilisées mais aucun repository manager n'est lié au projet {{index . "ProjectKey"}}`, WarningMissingApplicationVariable: `La variable {{index . "VarName"}} est utilisée mais n'existe pas dans l'application {{index . "ProjectKey"}}/{{index . "ApplicationName"}}`, WarningUnusedApplicationVariable: `La variable {{index . "VarName"}} est inutilisée dans l'application {{index . "ProjectKey"}}/{{index . "ApplicationName"}}.`, WarningMissingApplicationKey: `La clé {{index . "KeyName"}} est utilisée mais n'existe pas dans l'application {{index . "ProjectKey"}}/{{index . "ApplicationName"}}`, WarningUnusedApplicationKey: `La clé {{index . "KeyName"}} est inutilisée dans l'application {{index . "ProjectKey"}}/{{index . "ApplicationName"}}.`, WarningMissingEnvironmentVariable: `La variable {{index . "VarName"}} est utilisée mais n'existe pas dans l'environnement {{index . "ProjectKey"}}/{{index . "EnvironmentName"}}`, WarningUnusedEnvironmentVariable: `La variable {{index . "VarName"}} est inutilisée dans l'environnement {{index . "ProjectKey"}}/{{index . "EnvironmentName"}}.`, WarningMissingEnvironmentKey: `La clé {{index . "KeyName"}} est utilisée mais n'existe pas dans l'environnement {{index . "ProjectKey"}}/{{index . "EnvironmentName"}}`, WarningUnusedEnvironmentKey: `La clé {{index . "KeyName"}} est inutilisée dans l'environnement {{index . "ProjectKey"}}/{{index . "EnvironmentName"}}.`, WarningMissingPipelineParameter: `Le paramètre {{index . "ParamName"}} est utilisé mais n'existe pas dans le pipeline {{index . "ProjectKey"}}/{{index . "PipelineName"}}`, WarningUnusedPipelineParameter: `Le paramètre {{index . "ParamName"}} est inutilisé dans le pipeline {{index . "ProjectKey"}}/{{index . "PipelineName"}}.`, }
var Messages = map[string]*Message{ MsgAppCreated.ID: MsgAppCreated, MsgAppUpdated.ID: MsgAppUpdated, MsgPipelineCreated.ID: MsgPipelineCreated, MsgPipelineCreationAborted.ID: MsgPipelineCreationAborted, MsgPipelineExists.ID: MsgPipelineExists, MsgAppVariablesCreated.ID: MsgAppVariablesCreated, MsgAppKeyCreated.ID: MsgAppKeyCreated, MsgEnvironmentExists.ID: MsgEnvironmentExists, MsgEnvironmentCreated.ID: MsgEnvironmentCreated, MsgEnvironmentVariableUpdated.ID: MsgEnvironmentVariableUpdated, MsgEnvironmentVariableCannotBeUpdated.ID: MsgEnvironmentVariableCannotBeUpdated, MsgEnvironmentVariableCreated.ID: MsgEnvironmentVariableCreated, MsgEnvironmentVariableCannotBeCreated.ID: MsgEnvironmentVariableCannotBeCreated, MsgEnvironmentGroupUpdated.ID: MsgEnvironmentGroupUpdated, MsgEnvironmentGroupCannotBeUpdated.ID: MsgEnvironmentGroupCannotBeUpdated, MsgEnvironmentGroupCreated.ID: MsgEnvironmentGroupCreated, MsgEnvironmentGroupCannotBeCreated.ID: MsgEnvironmentGroupCannotBeCreated, MsgEnvironmentGroupDeleted.ID: MsgEnvironmentGroupDeleted, MsgEnvironmentGroupCannotBeDeleted.ID: MsgEnvironmentGroupCannotBeDeleted, MsgEnvironmentKeyCreated.ID: MsgEnvironmentKeyCreated, MsgEnvironmentKeyCannotBeCreated.ID: MsgEnvironmentKeyCannotBeCreated, MsgJobNotValidActionNotFound.ID: MsgJobNotValidActionNotFound, MsgJobNotValidInvalidActionParameter.ID: MsgJobNotValidInvalidActionParameter, MsgPipelineGroupUpdated.ID: MsgPipelineGroupUpdated, MsgPipelineGroupAdded.ID: MsgPipelineGroupAdded, MsgPipelineGroupDeleted.ID: MsgPipelineGroupDeleted, MsgPipelineStageUpdated.ID: MsgPipelineStageUpdated, MsgPipelineStageUpdating.ID: MsgPipelineStageUpdating, MsgPipelineStageDeletingOldJobs.ID: MsgPipelineStageDeletingOldJobs, MsgPipelineStageInsertingNewJobs.ID: MsgPipelineStageInsertingNewJobs, MsgPipelineStageAdded.ID: MsgPipelineStageAdded, MsgPipelineStageDeleted.ID: MsgPipelineStageDeleted, MsgPipelineJobUpdated.ID: MsgPipelineJobUpdated, MsgPipelineJobAdded.ID: MsgPipelineJobAdded, MsgPipelineJobDeleted.ID: MsgPipelineJobDeleted, MsgPipelineDetached.ID: MsgPipelineDetached, MsgApplicationDetached.ID: MsgApplicationDetached, MsgEnvironmentDetached.ID: MsgEnvironmentDetached, MsgWorkflowDetached.ID: MsgWorkflowDetached, MsgSpawnInfoHatcheryStarts.ID: MsgSpawnInfoHatcheryStarts, MsgSpawnInfoHatcheryErrorSpawn.ID: MsgSpawnInfoHatcheryErrorSpawn, MsgSpawnInfoHatcheryStartDockerPull.ID: MsgSpawnInfoHatcheryStartDockerPull, MsgSpawnInfoHatcheryEndDockerPull.ID: MsgSpawnInfoHatcheryEndDockerPull, MsgSpawnInfoHatcheryEndDockerPullErr.ID: MsgSpawnInfoHatcheryEndDockerPullErr, MsgSpawnInfoDeprecatedModel.ID: MsgSpawnInfoDeprecatedModel, MsgSpawnInfoWorkerEnd.ID: MsgSpawnInfoWorkerEnd, MsgSpawnInfoJobDisabled.ID: MsgSpawnInfoJobDisabled, MsgSpawnInfoJobInQueue.ID: MsgSpawnInfoJobInQueue, MsgSpawnInfoJobTaken.ID: MsgSpawnInfoJobTaken, MsgSpawnInfoJobTakenWorkerVersion.ID: MsgSpawnInfoJobTakenWorkerVersion, MsgSpawnInfoWorkerForJob.ID: MsgSpawnInfoWorkerForJob, MsgSpawnInfoWorkerForJobError.ID: MsgSpawnInfoWorkerForJobError, MsgSpawnInfoJobError.ID: MsgSpawnInfoJobError, MsgWorkflowStarting.ID: MsgWorkflowStarting, MsgWorkflowError.ID: MsgWorkflowError, MsgWorkflowConditionError.ID: MsgWorkflowConditionError, MsgWorkflowNodeStop.ID: MsgWorkflowNodeStop, MsgWorkflowNodeMutex.ID: MsgWorkflowNodeMutex, MsgWorkflowNodeMutexRelease.ID: MsgWorkflowNodeMutexRelease, MsgWorkflowImportedUpdated.ID: MsgWorkflowImportedUpdated, MsgWorkflowImportedInserted.ID: MsgWorkflowImportedInserted, MsgSpawnInfoHatcheryCannotStartJob.ID: MsgSpawnInfoHatcheryCannotStartJob, MsgWorkflowRunBranchDeleted.ID: MsgWorkflowRunBranchDeleted, MsgWorkflowTemplateImportedInserted.ID: MsgWorkflowTemplateImportedInserted, MsgWorkflowTemplateImportedUpdated.ID: MsgWorkflowTemplateImportedUpdated, MsgWorkflowErrorBadPipelineName.ID: MsgWorkflowErrorBadPipelineName, MsgWorkflowErrorBadApplicationName.ID: MsgWorkflowErrorBadApplicationName, MsgWorkflowErrorBadEnvironmentName.ID: MsgWorkflowErrorBadEnvironmentName, MsgWorkflowErrorBadIntegrationName.ID: MsgWorkflowErrorBadIntegrationName, MsgWorkflowErrorBadCdsDir.ID: MsgWorkflowErrorBadCdsDir, MsgWorkflowErrorUnknownKey.ID: MsgWorkflowErrorUnknownKey, MsgWorkflowErrorBadVCSStrategy.ID: MsgWorkflowErrorBadVCSStrategy, MsgWorkflowDeprecatedVersion.ID: MsgWorkflowDeprecatedVersion, MsgWorkflowGeneratedFromTemplateVersion.ID: MsgWorkflowGeneratedFromTemplateVersion, MsgTooMuchWorkflowRun.ID: MsgTooMuchWorkflowRun, MsgSpawnErrorHatcheryRetryAttempt.ID: MsgSpawnErrorHatcheryRetryAttempt, MsgWorkflowV3Preview.ID: MsgWorkflowV3Preview, MsgSpawnInfoDisableSecretInjection.ID: MsgSpawnInfoDisableSecretInjection, MsgSpawnInfoManualSecretInjection.ID: MsgSpawnInfoManualSecretInjection, MsgSpawnInfoWorkerHookSetup.ID: MsgSpawnInfoWorkerHookSetup, MsgSpawnInfoWorkerHookRun.ID: MsgSpawnInfoWorkerHookRun, MsgSpawnInfoWorkerHookRunTeardown.ID: MsgSpawnInfoWorkerHookRunTeardown, MsgSpawnInfoWorkerDisabledByHatchery.ID: MsgSpawnInfoWorkerDisabledByHatchery, MsgSpawnInfoWorkerDisabledByAdmin.ID: MsgSpawnInfoWorkerDisabledByAdmin, MsgSpawnInfoJobFailedCauseByWorkerLost.ID: MsgSpawnInfoJobFailedCauseByWorkerLost, }
Messages contains all sdk Messages
var NamePatternRegex = regexp.MustCompile(NamePattern)
NamePatternRegex Pattern regexp
var NamePatternSpaceRegex = regexp.MustCompile(NamePatternSpace)
NamePatternSpaceRegex Pattern regexp
var (
ProjectRoles = []string{ProjectRoleRead, ProjectRoleManage, ProjectRoleManageNotification, ProjectRoleManageWorkerModel, ProjectRoleManageAction, ProjectRoleManageWorkflow}
)
var (
RegionRoles = StringSlice{RegionRoleExecute, RegionRoleList, RegionRoleManage}
)
var SIGINFO = unix.SIGUSR1
var ( SupportedLanguages = []language.Tag{ language.AmericanEnglish, language.French, } )
SupportedLanguages on API errors
var ( WorkflowConditionsOperators = map[string]string{ WorkflowConditionsOperatorEquals: "=", WorkflowConditionsOperatorNotEquals: "!=", WorkflowConditionsOperatorLessThan: "<", WorkflowConditionsOperatorLessOrEqualThan: "<=", WorkflowConditionsOperatorGreaterThan: ">", WorkflowConditionsOperatorGreaterOrEqualThan: ">=", WorkflowConditionsOperatorRegex: "match", } )
WorkflowData conditions operator
Functions ¶
func ActionInfoMarkdown ¶
ActionInfoMarkdown returns string formatted with markdown.
func ActionsToGroupIDs ¶
ActionsToGroupIDs returns group ids for given actions list.
func ActionsToIDs ¶
ActionsToIDs returns ids for given actions list.
func AddParameter ¶
AddParameter append a parameter in a parameter array
func AddRequirement ¶
func AddRequirement(array *RequirementList, id int64, name string, requirementType string, value string)
AddRequirement append a requirement in a requirement array
func AllowIntegrationInVariable ¶
func AllowIntegrationInVariable(model IntegrationModel) bool
func AuthConsumersToAuthentifiedUserIDs ¶
func AuthConsumersToAuthentifiedUserIDs(cs []*AuthUserConsumer) []string
AuthConsumersToAuthentifiedUserIDs returns ids of given auth consumers.
func AuthConsumersToIDs ¶
func AuthConsumersToIDs(cs []AuthUserConsumer) []string
AuthConsumersToIDs returns ids of given auth consumers.
func AuthentifiedUsersToIDs ¶
func AuthentifiedUsersToIDs(users []*AuthentifiedUser) []string
AuthentifiedUsersToIDs returns ids for given authentified user list.
func BinaryFilename ¶
BinaryFilename returns artifact name cds-name-os-arch-variant this name is used on Github Releases
func CheckContentTypeBinary ¶
CheckContentTypeBinary returns an error if Content-Type is not application/octet-stream
func ComputeWorkerModelPath ¶
ComputeWorkerModelPath returns path for a worker model with given group name and model name.
func ContextWithStacktrace ¶
func CreateTarFromPaths ¶
func CreateTarFromPaths(fs afero.Fs, cwd string, paths []string, w io.Writer, opts *TarOptions) error
CreateTarFromPaths returns a tar formatted reader of a tar made of several path
func DefaultIfEmptyStorage ¶
DefaultIfEmptyStorage return sdk.DefaultStorageIntegrationName if integrationName is empty
func DeleteEmptyValueFromArray ¶
DeleteEmptyValueFromArray deletes empty value from an array of string
func DeleteFromArray ¶
DeleteFromArray deletes value from an array of string
func DeleteFromInt64Array ¶
DeleteFromArray deletes value from an array of int64
func DirectoryExists ¶
DirectoryExists checks if the directory exists
func DownloadFromGitHub ¶
func DownloadURLFromGithub ¶
func EnvVartoENV ¶
func ErrorIsUnknown ¶
ErrorIsUnknown returns true the error is unknown (sdk.ErrUnknownError or lib error).
func ErrorWithFallback ¶
ErrorWithFallback returns the current error if it's not a ErrUnknownError else it returns a new ErrorWithStack
func Exit ¶
func Exit(format string, args ...interface{})
Exit func display an error message on stderr and exit 1
func FileMd5sum ¶
FileMd5sum returns the md5sum of a file
func FileSHA512sum ¶
FileSHA512sum returns the sha512sum of a file
func FormatDateRFC5322 ¶
FormatDateRFC5322 format an RFC 5322 date string.
func FromGitToHumanError ¶ added in v0.53.1
func GenerateHash ¶
func GenerateHookSecret ¶ added in v0.52.0
func GenerateRepositoryWebHookSecret ¶ added in v0.53.1
func GetActionJsonSchema ¶ added in v0.53.0
func GetActionJsonSchema(publicActionNames []string) *jsonschema.Schema
func GetContentType ¶
GetContentType returns the content-type header from a http.Response
func GetFuncName ¶ added in v0.52.0
func GetFuncName(i interface{}) string
func GetIntegrationVariablePrefix ¶
func GetIntegrationVariablePrefix(model IntegrationModel) string
func GetJobJsonSchema ¶ added in v0.53.0
func GetJobJsonSchema(publicActionNames []string, regionNames []string, workerModels []string) *jsonschema.Schema
func GetJobStepName ¶ added in v0.53.0
func GetManageRoleByEntity ¶ added in v0.53.0
func GetWorkerModelJsonSchema ¶ added in v0.52.0
func GetWorkerModelJsonSchema() *jsonschema.Schema
func GetWorkflowJsonSchema ¶ added in v0.53.0
func GetWorkflowJsonSchema(publicActionNames, regionNames, workerModelNames []string) *jsonschema.Schema
func GoroutineID ¶
func GoroutineID() uint64
func GroupPointersToIDs ¶
GroupPointersToIDs returns ids of given groups.
func IPinRanges ¶
IPinRanges returns a slice of all IP in all given IP ranges i.e 72.44.1.240/28,72.42.1.23/27
func ImportGPGKey ¶ added in v0.52.0
func InitSupportedOSArch ¶
func IntMapToSlice ¶
IntMapToSlice converts a map struct to a slice for int64 keys
func InterfaceSlice ¶
func InterfaceSlice(slice interface{}) []interface{}
InterfaceSlice cast a untyped slice into a slice of untypes things. It will panic if the parameter is not a slice
func IsDefaultHooks ¶ added in v0.53.1
func IsDefaultHooks(on *WorkflowOn) []string
func IsDownloadedBinary ¶
IsDownloadedBinary returns true if the binary is already downloaded, false otherwise
func IsErrorWithStack ¶
IsErrorWithStack returns true if given error is an errorWithStack.
func IsInInt64Array ¶
IsInInt64Array checks if the element is in the array (int64)
func IsJobIDForRegister ¶ added in v0.53.0
func IsValidEmail ¶
IsValidEmail Check if user email address is ok
func IsValidHookPath ¶ added in v0.53.1
func IsValidHookRefs ¶ added in v0.53.1
func IsValidPermissionValue ¶
IsValidPermissionValue checks that given permission int value match an exiting level.
func IsValidUUID ¶
func IsValidUsername ¶
func JSONUnmarshal ¶
func JSONWithoutHTMLEncode ¶
JSONWithoutHTMLEncode return byte array of a struct into json without HTML encode
func ListGoroutines ¶
func LookPath ¶
LookPath searches for an executable named file in the directories named by the PATH environment variable. If file contains a slash, it is tried directly and the PATH is not consulted. The result may be an absolute path or a path relative to the current directory.
func MapHasKeys ¶ added in v0.53.0
func MapHasKeys(i interface{}, expectedKeys ...interface{}) bool
func MessagesToError ¶
MessagesToError returns a translated slices of messages as an error
func ModelsToGroupIDs ¶
ModelsToGroupIDs returns group ids of given worker models.
func NeedPlaceholder ¶
NeedPlaceholder returns true if variable type is either secret or key
func NewArtifactoryClient ¶
func NewArtifactoryClient(url string, token string) (artifactory.ArtifactoryServicesManager, error)
func NewErrorFrom ¶
NewErrorFrom returns the given error with given from details.
func NewErrorWithStack ¶
NewErrorWithStack wraps given root error and override its http error with given error.
func OneLineValue ¶ added in v0.52.0
func ParameterAddOrSetValue ¶
ParameterAddOrSetValue add a new parameter or update a value
func ParameterValue ¶
ParameterValue return a parameter value given its name if it exists in array, else it returns empty string
func ParametersFromApplicationKeys ¶
func ParametersFromApplicationKeys(app Application) map[string]string
ParametersFromApplicationVariables returns a map from application key
func ParametersFromApplicationVariables ¶
func ParametersFromApplicationVariables(app Application) map[string]string
ParametersFromApplicationVariables returns a map from a slice of parameters
func ParametersFromEnvironmentKeys ¶
func ParametersFromEnvironmentKeys(env Environment) map[string]string
ParametersFromEnvironmentKeys returns a map from environment key
func ParametersFromEnvironmentVariables ¶
func ParametersFromEnvironmentVariables(env Environment) map[string]string
ParametersFromEnvironmentVariables returns a map from a slice of parameters
func ParametersFromIntegration ¶
func ParametersFromIntegration(prefix string, ppf IntegrationConfig) map[string]string
ParametersFromIntegration returns a map of variables from a ProjectIntegration
func ParametersFromPipelineParameters ¶
ParametersFromPipelineParameters returns a map from a slice of parameters
func ParametersFromProjectVariables ¶
ParametersFromProjectVariables returns a map from a slice of parameters
func ParametersMapMerge ¶
func ParametersMapMerge(params map[string]string, otherParams map[string]string, checkFuncs ...func(string) bool) map[string]string
ParametersMapMerge merges two maps of parameters
func ParametersToMap ¶
ParametersToMap returns a map from a slice of parameters
func ParseDateRFC5322 ¶
ParseDateRFC5322 parses an RFC 5322 date string.
func ProjectsToIDs ¶
ProjectsToIDs returns ids of given projects.
func RandomString ¶
RandomString generate random string containing a-zA-Z0-9
func ReflectFieldByTag ¶
func ReflectFieldByTag(i interface{}, tagKey, tagValues string) interface{}
ReflectFieldByTag returns a pointer to a value corresponding to a tag For instance:
sdk.ReflectFieldByTag(&Configuration{}, "toml", "api.database.name") Search for a field tagged 'toml:api' that is a struct. is this value, there is a field tagged 'toml:database' that is a struct. finally in this value, there a field tagged 'toml:name'. We return a pointer to this field.
func RemoveNotPrintableChar ¶
func Round ¶
Round rounds a duration, see original source here: https://play.golang.org/p/WjfKwhhjL5 round("1h23m45.6789s", time.Second} will returns want: "1h23m46s"
func StatusIsTerminated ¶
StatusIsTerminated returns if status is terminated (nothing related to building or waiting, ...)
func StatusValidate ¶
StatusValidate returns if given strings are valid status.
func StringFirstN ¶
func StringIsAscii ¶
func Untar ¶
Untar takes a destination path and a reader; a tar reader loops over the tarfile creating the file structure at 'dst' along the way, and writing any files
func UntarGz ¶
UntarGz takes a destination path and a reader; a tar.gz reader loops over the tarfile creating the file structure at 'dst' along the way, and writing any files
func VCSCommitStatusContextV1 ¶ added in v0.53.1
func VCSCommitStatusContextV1(projKey, workflowName string, evt EventRunWorkflowNode) string
VCSCommitStatusContextV1 return a node formated status Context for workflow V1
func VCSIsSameCommit ¶ added in v0.53.1
func ValidAndNotEmpty ¶
func ValueFromInterface ¶
func VersionString ¶
func VersionString() string
VersionString returns a string contains all about current version
func WorkerModelValidate ¶
WorkerModelValidate returns if given strings are valid worker model type.
func WorkflowCheckConditions ¶
func WorkflowCheckConditions(conditions []WorkflowNodeCondition, params []Parameter) (bool, error)
WorkflowCheckConditions checks conditions given a list of parameters
func WorkflowJobParents ¶ added in v0.53.1
func WorkflowJobParents(w V2Workflow, jobID string) []string
func WorkflowTemplateInstancesToIDs ¶
func WorkflowTemplateInstancesToIDs(wtis []*WorkflowTemplateInstance) []int64
WorkflowTemplateInstancesToIDs returns ids of given workflow template instances.
func WorkflowTemplateInstancesToWorkflowIDs ¶
func WorkflowTemplateInstancesToWorkflowIDs(wtis []*WorkflowTemplateInstance) []int64
WorkflowTemplateInstancesToWorkflowIDs returns workflow ids of given workflow template instances.
func WorkflowTemplateInstancesToWorkflowTemplateIDs ¶
func WorkflowTemplateInstancesToWorkflowTemplateIDs(wtis []*WorkflowTemplateInstance) []int64
WorkflowTemplateInstancesToWorkflowTemplateIDs returns workflow template ids of given workflow template instances.
func WorkflowTemplatesToGroupIDs ¶
func WorkflowTemplatesToGroupIDs(wts []*WorkflowTemplate) []int64
WorkflowTemplatesToGroupIDs returns group ids of given workflow templates.
func WorkflowTemplatesToIDs ¶
func WorkflowTemplatesToIDs(wts []*WorkflowTemplate) []int64
WorkflowTemplatesToIDs returns ids of given workflow templates.
func WorkflowToIDs ¶
WorkflowToIDs returns ids of given workflows.
Types ¶
type APIConfig ¶
type APIConfig struct { DefaultRunRetentionPolicy string `json:"default_run_retention_policy"` ProjectCreationDisabled bool `json:"project_creation_disabled"` ProjectInfoCreationDisabled string `json:"project_info_creation_disabled,omitempty"` ProjectVCSManagementDisabled bool `json:"project_vcs_management_disabled,omitempty"` }
type Action ¶
type Action struct { ID int64 `json:"id" yaml:"-" db:"id"` GroupID *int64 `json:"group_id,omitempty" yaml:"-" db:"group_id"` Name string `json:"name" db:"name"` Type string `json:"type" yaml:"-" db:"type"` Description string `json:"description" yaml:"desc,omitempty" db:"description"` Enabled bool `json:"enabled" yaml:"-" db:"enabled"` Deprecated bool `json:"deprecated" yaml:"-" db:"deprecated"` // aggregates from action_edge StepName string `json:"step_name,omitempty" yaml:"step_name,omitempty" db:"-"` Optional bool `json:"optional" yaml:"-" db:"-"` AlwaysExecuted bool `json:"always_executed" yaml:"-" db:"-"` // aggregates Requirements RequirementList `json:"requirements" db:"-"` Parameters []Parameter `json:"parameters" db:"-"` Actions []Action `json:"actions,omitempty" yaml:"actions,omitempty" db:"-"` Group *Group `json:"group,omitempty" db:"-"` FirstAudit *AuditAction `json:"first_audit,omitempty" db:"-"` LastAudit *AuditAction `json:"last_audit,omitempty" db:"-"` Editable bool `json:"editable,omitempty" db:"-"` }
Action is the base element of CDS pipeline
func ActionsFilterNotTypes ¶
ActionsFilterNotTypes returns a list of actions filtered by types.
func (*Action) FlattenRequirements ¶
func (a *Action) FlattenRequirements() RequirementList
FlattenRequirements returns all requirements for an action and its children.
func (Action) IsValidDefault ¶
IsValidDefault returns default action validity.
func (*Action) Requirement ¶
Requirement add given requirement to Action
func (Action) ToSummary ¶
func (a Action) ToSummary() ActionSummary
ToSummary returns an ActionSummary from an Action
func (Action) ToUniqueChildrenIDs ¶
ToUniqueChildrenIDs returns distinct children ids for given action.
type ActionContext ¶ added in v0.53.0
type ActionContext struct {
Inputs map[string]interface{} `json:"inputs,omitempty"`
}
type ActionFunc ¶ added in v0.53.0
type ActionFunc func(ctx context.Context, a *ActionParser, inputs ...interface{}) (interface{}, error)
type ActionInput ¶ added in v0.53.0
type ActionOutput ¶ added in v0.53.0
type ActionParser ¶ added in v0.53.0
type ActionParser struct {
// contains filtered or unexported fields
}
func NewActionParser ¶ added in v0.53.0
func NewActionParser(contexts map[string]interface{}, funcs map[string]ActionFunc) *ActionParser
func (*ActionParser) Interpolate ¶ added in v0.53.0
func (a *ActionParser) Interpolate(ctx context.Context, input string) (interface{}, error)
func (*ActionParser) InterpolateToBool ¶ added in v0.53.1
func (*ActionParser) InterpolateToString ¶ added in v0.53.1
type ActionRuns ¶ added in v0.53.0
type ActionRuns struct {
Steps []ActionStep `json:"steps" jsonschema_description:"List of sequential steps executed by the action"`
}
type ActionStep ¶ added in v0.53.0
type ActionStep struct { ID string `json:"id,omitempty" jsonschema_extras:"order=2" jsonschema_description:"Identifier of the step"` Uses string `` /* 162-byte string literal not displayed */ Run string `` /* 133-byte string literal not displayed */ With map[string]string `` /* 137-byte string literal not displayed */ If string `json:"if,omitempty" jsonschema_extras:"order=1,textarea=true" jsonschema_description:"Condition to execute/skip the step"` ContinueOnError bool `` /* 133-byte string literal not displayed */ Env map[string]string `` /* 126-byte string literal not displayed */ }
type ActionStepUsesWith ¶ added in v0.53.0
type ActionSummary ¶
ActionSummary is the light representation of an action for CDS event
type ActionUsages ¶
type ActionUsages struct { Pipelines []UsagePipeline `json:"pipelines"` Actions []UsageAction `json:"actions"` }
ActionUsages for action.
type AnalysisEvent ¶ added in v0.53.1
type AnalysisRequest ¶ added in v0.52.0
type AnalysisResponse ¶ added in v0.52.0
type Application ¶
type Application struct { ID int64 `json:"id" db:"id"` Name string `json:"name" db:"name" cli:"name,key"` Description string `json:"description" db:"description"` Icon string `json:"icon" db:"icon"` ProjectID int64 `json:"-" db:"project_id"` ProjectKey string `json:"project_key" db:"-" cli:"project_key"` Variables []ApplicationVariable `json:"variables,omitempty" db:"-"` Notifications []UserNotification `json:"notifications,omitempty" db:"-"` LastModified time.Time `json:"last_modified" db:"last_modified" mapstructure:"-"` VCSServer string `json:"vcs_server,omitempty" db:"vcs_server"` RepositoryFullname string `json:"repository_fullname,omitempty" db:"repo_fullname" cli:"repository_fullname"` RepositoryStrategy RepositoryStrategy `json:"vcs_strategy,omitempty" db:"cipher_vcs_strategy" gorpmapping:"encrypted,ProjectID,Name"` Metadata Metadata `json:"metadata" yaml:"metadata" db:"metadata"` Keys []ApplicationKey `json:"keys" yaml:"keys" db:"-"` Usage *Usage `json:"usage,omitempty" db:"-" cli:"-"` DeploymentStrategies map[string]IntegrationConfig `json:"deployment_strategies,omitempty" db:"-" cli:"-"` FromRepository string `json:"from_repository,omitempty" db:"from_repository" cli:"-"` // aggregate WorkflowAscodeHolder *Workflow `json:"workflow_ascode_holder,omitempty" cli:"-" db:"-"` }
Application represent an application in a project
func (Application) GetKey ¶
func (app Application) GetKey(kname string) *ApplicationKey
GetKey return a key by name
func (Application) GetSSHKey ¶
func (app Application) GetSSHKey(kname string) *ApplicationKey
GetSSHKey return a key by name
func (Application) IsValid ¶
func (app Application) IsValid() error
IsValid returns error if the application is not valid.
func (Application) PGPKeys ¶
func (app Application) PGPKeys() []ApplicationKey
PGPKeys returns the slice of pgp key for an application
func (Application) SSHKeys ¶
func (app Application) SSHKeys() []ApplicationKey
SSHKeys returns the slice of ssh key for an application
type ApplicationKey ¶
type ApplicationKey struct { ID int64 `json:"id" db:"id" cli:"-"` Name string `json:"name" db:"name" cli:"name"` Public string `json:"public" db:"public" cli:"publickey"` Private string `json:"private" db:"private" cli:"-" gorpmapping:"encrypted,ID,Name"` KeyID string `json:"key_id" db:"key_id" cli:"-"` Type KeyType `json:"type" db:"type" cli:"type"` ApplicationID int64 `json:"application_id" db:"application_id"` }
ApplicationKey represent a key attach to an application
type ApplicationOverview ¶
type ApplicationOverview struct { Graphs []ApplicationOverviewGraph `json:"graphs,omitempty"` GitURL string `json:"git_url,omitempty"` History map[string][]WorkflowRunSummary `json:"history,omitempty"` }
ApplicationOverview represents the overview of an application
type ApplicationOverviewGraph ¶
type ApplicationOverviewGraph struct { Type string `json:"type"` Datas []json.RawMessage `json:"datas"` }
ApplicationOverviewGraph represents data pushed by CDS for metrics
type ApplicationTemplate ¶
type ApplicationTemplate struct {
Value string `json:"value"`
}
ApplicationTemplate struct.
func (*ApplicationTemplate) IsValid ¶
func (a *ApplicationTemplate) IsValid() error
IsValid returns application template validity.
type ApplicationTemplates ¶
type ApplicationTemplates []ApplicationTemplate
ApplicationTemplates struct.
func (*ApplicationTemplates) Scan ¶
func (a *ApplicationTemplates) Scan(src interface{}) error
Scan application templates.
type ApplicationVariable ¶
type ApplicationVariableAudit ¶
type ApplicationVariableAudit struct { ID int64 `json:"id" yaml:"-" db:"id"` ApplicationID int64 `json:"application_id" yaml:"-" db:"application_id"` VariableID int64 `json:"variable_id" yaml:"-" db:"variable_id"` Type string `json:"type" yaml:"-" db:"type"` VariableBefore *ApplicationVariable `json:"variable_before,omitempty" yaml:"-" db:"-"` VariableAfter ApplicationVariable `json:"variable_after,omitempty" yaml:"-" db:"-"` Versionned time.Time `json:"versionned" yaml:"-" db:"versionned"` Author string `json:"author" yaml:"-" db:"author"` }
ApplicationVariableAudit represents an audit on an application variable
type ArsenalDeploymentDetailAlternative ¶ added in v0.53.1
type ArsenalDeploymentDetailAlternative struct { Name string `json:"name" mapstructure:"name"` From string `json:"from,omitempty" mapstructure:"from"` Config map[string]interface{} `json:"config" mapstructure:"config"` Options map[string]interface{} `json:"options,omitempty" mapstructure:"options"` }
type ArtifactResult ¶ added in v0.53.0
type ArtifactResult struct { Repo string `json:"repo"` Path string `json:"path"` Name string `json:"name"` Created time.Time `json:"created"` Properties []ItemProperty `json:"properties,omitempty"` Size int64 `json:"size,omitempty"` Stats []ItemStat `json:"stats,omitempty"` VirtualRepos []string `json:"virtual_repos,omitempty"` ActualMD5 string `json:"actual_md5"` }
func (*ArtifactResult) String ¶ added in v0.53.0
func (i *ArtifactResult) String() string
type ArtifactResults ¶ added in v0.53.0
type ArtifactResults []ArtifactResult
type ArtifactResultsSearchPage ¶ added in v0.53.0
type ArtifactResultsSearchPage struct { Results []ArtifactResult `json:"results"` Range struct { StartPos int `json:"start_pos"` EndPos int `json:"end_pos"` Total int `json:"total"` } `json:"range"` }
type ArtifactsStore ¶
type ArtifactsStore struct { Name string `json:"name"` TemporaryURLSupported bool `json:"temporary_url_supported"` }
ArtifactsStore represents
type AsCodeEvent ¶
type AsCodeEvent struct { ID int64 `json:"id" db:"id"` WorkflowID int64 `json:"workflow_id" db:"workflow_id"` PullRequestID int64 `json:"pullrequest_id" db:"pullrequest_id"` PullRequestURL string `json:"pullrequest_url" db:"pullrequest_url"` Username string `json:"username" db:"username"` CreateDate time.Time `json:"creation_date" db:"creation_date"` FromRepo string `json:"from_repository" db:"from_repository"` Migrate bool `json:"migrate" db:"migrate"` Data AsCodeEventData `json:"data" db:"data"` }
type AsCodeEventData ¶
type AsCodeEventData struct { Workflows AsCodeEventDataValue `json:"workflows"` Pipelines AsCodeEventDataValue `json:"pipelines"` Applications AsCodeEventDataValue `json:"applications"` Environments AsCodeEventDataValue `json:"environments"` }
func (*AsCodeEventData) Scan ¶
func (d *AsCodeEventData) Scan(src interface{}) error
Scan consumer data.
type AsCodeEventDataValue ¶
type AuditAction ¶
type AuditAction struct { AuditCommon ActionID int64 `json:"action_id" db:"action_id"` DataType string `json:"data_type" db:"data_type"` DataBefore string `json:"data_before" db:"data_before"` DataAfter string `json:"data_after" db:"data_after"` }
AuditAction represents an audit data on a action.
type AuditCommon ¶
type AuditCommon struct { ID int64 `json:"id" db:"id"` TriggeredBy string `json:"triggered_by" db:"triggered_by"` Created time.Time `json:"created" db:"created" mapstructure:"-"` EventType string `json:"event_type" db:"event_type"` }
AuditCommon contains basic stuff for audits.
type AuditWorkflow ¶
type AuditWorkflow struct { AuditCommon ProjectKey string `json:"project_key" db:"project_key"` WorkflowID int64 `json:"workflow_id" db:"workflow_id"` DataType string `json:"data_type" db:"data_type"` DataBefore string `json:"data_before" db:"data_before"` DataAfter string `json:"data_after" db:"data_after"` }
AuditWorkflow represents an audit data on a workflow.
type AuditWorkflowTemplate ¶
type AuditWorkflowTemplate struct { AuditCommon WorkflowTemplateID int64 `json:"workflow_template_id" db:"workflow_template_id"` ChangeMessage string `json:"change_message,omitempty" db:"change_message"` DataBefore WorkflowTemplate `json:"data_before" db:"data_before"` DataAfter WorkflowTemplate `json:"data_after" db:"data_after"` }
AuditWorkflowTemplate represents an audit data on a workflow template.
type AuditWorkflowTemplateInstance ¶
type AuditWorkflowTemplateInstance struct { AuditCommon WorkflowTemplateInstanceID int64 `json:"workflow_template_instance_id" db:"workflow_template_instance_id"` DataType string `json:"data_type" db:"data_type"` DataBefore string `json:"data_before" db:"data_before"` DataAfter string `json:"data_after" db:"data_after"` }
AuditWorkflowTemplateInstance represents an audit data on a workflow template instance.
type AuthConsumer ¶
type AuthConsumer struct { ID string `json:"id" cli:"id,key" db:"id"` Name string `json:"name" cli:"name" db:"name"` Type AuthConsumerType `json:"type" cli:"type" db:"type"` Description string `json:"description" cli:"description" db:"description"` ParentID *string `json:"parent_id,omitempty" db:"parent_id"` Created time.Time `json:"created" cli:"created" db:"created"` DeprecatedIssuedAt time.Time `json:"issued_at" cli:"issued_at" db:"issued_at"` Disabled bool `json:"disabled" cli:"disabled" db:"disabled"` Warnings AuthConsumerWarnings `json:"warnings,omitempty" db:"warnings"` LastAuthentication *time.Time `json:"last_authentication,omitempty" db:"last_authentication"` ValidityPeriods AuthConsumerValidityPeriods `json:"validity_periods,omitempty" db:"validity_periods"` }
type AuthConsumerCreateResponse ¶
type AuthConsumerCreateResponse struct { Token string `json:"token"` // sign in token Consumer *AuthUserConsumer `json:"consumer"` }
AuthConsumerCreateResponse response for a auth consumer creation.
type AuthConsumerData ¶
AuthConsumerData contains specific information from the auth driver.
func (*AuthConsumerData) Scan ¶
func (d *AuthConsumerData) Scan(src interface{}) error
Scan consumer data.
type AuthConsumerHatcheryData ¶ added in v0.53.0
type AuthConsumerHatcherySigninRequest ¶ added in v0.53.0
type AuthConsumerHatcherySigninRequest struct { Token string `json:"token"` Name string `json:"name"` HatcheryType string `json:"type"` HTTPURL string `json:"http_url"` Config ServiceConfig `json:"config" db:"config" cli:"-" mapstructure:"config"` PublicKey []byte `json:"public_key"` Version string `json:"version"` }
type AuthConsumerHatcherySigninResponse ¶ added in v0.53.0
type AuthConsumerRegenRequest ¶
type AuthConsumerRegenRequest struct { RevokeSessions bool `json:"revoke_sessions"` OverlapDuration string `json:"overlap_duration"` NewDuration int64 `json:"new_duration"` }
AuthConsumerRegenRequest struct.
type AuthConsumerScope ¶
type AuthConsumerScope string
AuthConsumerScope alias type for string.
const ( AuthConsumerScopeUser AuthConsumerScope = "User" AuthConsumerScopeAccessToken AuthConsumerScope = "AccessToken" AuthConsumerScopeAction AuthConsumerScope = "Action" AuthConsumerScopeAdmin AuthConsumerScope = "Admin" AuthConsumerScopeGroup AuthConsumerScope = "Group" AuthConsumerScopeTemplate AuthConsumerScope = "Template" AuthConsumerScopeProject AuthConsumerScope = "Project" AuthConsumerScopeRun AuthConsumerScope = "Run" AuthConsumerScopeRunExecution AuthConsumerScope = "RunExecution" AuthConsumerScopeHooks AuthConsumerScope = "Hooks" AuthConsumerScopeWorkerModel AuthConsumerScope = "WorkerModel" AuthConsumerScopeHatchery AuthConsumerScope = "Hatchery" AuthConsumerScopeService AuthConsumerScope = "Service" )
Available auth consumer scopes.
func (AuthConsumerScope) IsValid ¶
func (s AuthConsumerScope) IsValid() bool
IsValid returns validity for scope.
type AuthConsumerScopeDetail ¶
type AuthConsumerScopeDetail struct { Scope AuthConsumerScope `json:"scope"` Endpoints AuthConsumerScopeEndpoints `json:"endpoints,omitempty"` }
AuthConsumerScopeDetail contains all endpoints for a scope.
type AuthConsumerScopeDetails ¶
type AuthConsumerScopeDetails []AuthConsumerScopeDetail
AuthConsumerScopeDetails type used for database json storage.
func NewAuthConsumerScopeDetails ¶
func NewAuthConsumerScopeDetails(scopes ...AuthConsumerScope) AuthConsumerScopeDetails
func (AuthConsumerScopeDetails) IsValid ¶
func (s AuthConsumerScopeDetails) IsValid() error
IsValid returns an error if current details are invalids.
func (*AuthConsumerScopeDetails) Scan ¶
func (s *AuthConsumerScopeDetails) Scan(src interface{}) error
Scan scope detail slice.
func (AuthConsumerScopeDetails) ToEndpointsMap ¶
func (s AuthConsumerScopeDetails) ToEndpointsMap() map[AuthConsumerScope]AuthConsumerScopeEndpoints
type AuthConsumerScopeEndpoint ¶
type AuthConsumerScopeEndpoint struct { Route string `json:"route"` Methods StringSlice `json:"methods,omitempty"` }
type AuthConsumerScopeEndpoints ¶
type AuthConsumerScopeEndpoints []AuthConsumerScopeEndpoint
func (AuthConsumerScopeEndpoints) FindEndpoint ¶
func (e AuthConsumerScopeEndpoints) FindEndpoint(route string) (bool, AuthConsumerScopeEndpoint)
type AuthConsumerScopeSlice ¶
type AuthConsumerScopeSlice []AuthConsumerScope
AuthConsumerScopeSlice type used for database json storage.
func (*AuthConsumerScopeSlice) Scan ¶
func (s *AuthConsumerScopeSlice) Scan(src interface{}) error
Scan scope slice.
type AuthConsumerSigninRequest ¶
type AuthConsumerSigninRequest map[string]interface{}
AuthConsumerSigninRequest struct for auth consumer signin request.
func (AuthConsumerSigninRequest) String ¶ added in v0.52.0
func (req AuthConsumerSigninRequest) String(s string) string
type AuthConsumerSigninResponse ¶
type AuthConsumerSigninResponse struct { APIURL string `json:"api_url,omitempty"` Token string `json:"token"` // session token User *AuthentifiedUser `json:"user"` Service *Service `json:"service,omitempty"` }
AuthConsumerSigninResponse response for a auth consumer signin.
type AuthConsumerType ¶
type AuthConsumerType string
AuthConsumerType constant to identify what is the driver used to create a consumer.
const ( ConsumerBuiltin AuthConsumerType = "builtin" ConsumerLocal AuthConsumerType = "local" ConsumerLDAP AuthConsumerType = "ldap" ConsumerCorporateSSO AuthConsumerType = "corporate-sso" ConsumerGithub AuthConsumerType = "github" ConsumerGitlab AuthConsumerType = "gitlab" ConsumerOIDC AuthConsumerType = "openid-connect" ConsumerHatchery AuthConsumerType = "hatchery" ConsumerTest AuthConsumerType = "futurama" ConsumerTest2 AuthConsumerType = "planet-express" )
Consumer types.
func (AuthConsumerType) IsValid ¶
func (t AuthConsumerType) IsValid() bool
IsValid returns validity of given auth consumer type.
func (AuthConsumerType) IsValidExternal ¶
func (t AuthConsumerType) IsValidExternal() bool
IsValidExternal returns validity of given auth consumer type.
type AuthConsumerValidityPeriods ¶
type AuthConsumerValidityPeriods []AuthConsumerValidityPeriod
func NewAuthConsumerValidityPeriod ¶
func NewAuthConsumerValidityPeriod(iat time.Time, duration time.Duration) AuthConsumerValidityPeriods
func (AuthConsumerValidityPeriods) Latest ¶
func (p AuthConsumerValidityPeriods) Latest() *AuthConsumerValidityPeriod
func (*AuthConsumerValidityPeriods) Scan ¶
func (p *AuthConsumerValidityPeriods) Scan(src interface{}) error
func (*AuthConsumerValidityPeriods) Sort ¶
func (p *AuthConsumerValidityPeriods) Sort()
type AuthConsumerWarning ¶
type AuthConsumerWarning struct { Type AuthConsumerWarningType `json:"type"` GroupID int64 `json:"group_id,omitempty"` GroupName string `json:"group_name,omitempty"` }
AuthConsumerWarning contains info about a warning.
func NewConsumerWarningGroupInvalid ¶
func NewConsumerWarningGroupInvalid(groupID int64, groupName string) AuthConsumerWarning
NewConsumerWarningGroupInvalid returns a new warning for given group info.
func NewConsumerWarningGroupRemoved ¶
func NewConsumerWarningGroupRemoved(groupID int64, groupName string) AuthConsumerWarning
NewConsumerWarningGroupRemoved returns a new warning for given group info.
func NewConsumerWarningLastGroupRemoved ¶
func NewConsumerWarningLastGroupRemoved() AuthConsumerWarning
NewConsumerWarningLastGroupRemoved returns a new warning.
type AuthConsumerWarningType ¶
type AuthConsumerWarningType string
AuthConsumerWarningType constant for consumer warnings.
const ( WarningGroupInvalid AuthConsumerWarningType = "group-invalid" WarningGroupRemoved AuthConsumerWarningType = "group-removed" WarningLastGroupRemoved AuthConsumerWarningType = "last-group-removed" )
Consumer warning types.
type AuthConsumerWarnings ¶
type AuthConsumerWarnings []AuthConsumerWarning
AuthConsumerWarnings contains specific information from the auth driver.
func (*AuthConsumerWarnings) Scan ¶
func (w *AuthConsumerWarnings) Scan(src interface{}) error
Scan consumer data.
type AuthCurrentConsumerResponse ¶
type AuthCurrentConsumerResponse struct { User AuthentifiedUser `json:"user"` Consumer AuthUserConsumer `json:"consumer"` Session AuthSession `json:"session"` DriverManifest AuthDriverManifest `json:"driver_manifest"` }
AuthCurrentConsumerResponse describe the current consumer and the current session
type AuthDriver ¶
type AuthDriver interface { GetManifest() AuthDriverManifest GetSessionDuration() time.Duration GetUserInfo(context.Context, AuthConsumerSigninRequest) (AuthDriverUserInfo, error) GetDriver() Driver }
AuthDriver interface.
type AuthDriverManifest ¶
type AuthDriverManifest struct { Type AuthConsumerType `json:"type"` SignupDisabled bool `json:"signup_disabled"` SupportMFA bool `json:"support_mfa"` }
AuthDriverManifest struct describe a auth driver.
type AuthDriverManifests ¶
type AuthDriverManifests []AuthDriverManifest
AuthDriverManifests gives functions on driver manifest slice.
func (AuthDriverManifests) ExistsConsumerType ¶
func (a AuthDriverManifests) ExistsConsumerType(consumerType AuthConsumerType) bool
ExistsConsumerType returns if a driver exists for given consumer type.
func (AuthDriverManifests) FindByConsumerType ¶
func (a AuthDriverManifests) FindByConsumerType(consumerType AuthConsumerType) (AuthDriverManifest, bool)
FindByConsumerType returns a manifest for given consumer type if exists.
type AuthDriverResponse ¶
type AuthDriverResponse struct { IsFirstConnection bool `json:"is_first_connection"` Drivers AuthDriverManifests `json:"manifests"` }
AuthDriverResponse struct contains drivers manifest and some info about auth config.
type AuthDriverUserInfo ¶
type AuthDriverUserInfo struct { ExternalID string Username string Fullname string Email string MFA bool ExternalTokenID string Organization string }
AuthDriverUserInfo struct discribed a user returns by a auth driver.
type AuthHatcheryConsumer ¶ added in v0.53.0
type AuthHatcheryConsumer struct { AuthConsumer AuthConsumerHatchery AuthConsumerHatcheryData `json:"auth_consumer_hatchery,omitempty" db:"-"` }
AuthHatcheryConsumer issues session linked to an authentified user.
type AuthSession ¶
type AuthSession struct { ID string `json:"id" cli:"id,key" db:"id"` ConsumerID string `json:"consumer_id" cli:"consumer_id" db:"consumer_id"` ExpireAt time.Time `json:"expire_at,omitempty" cli:"expire_at" db:"expire_at"` Created time.Time `json:"created" cli:"created" db:"created"` MFA bool `json:"mfa" cli:"mfa" db:"mfa"` // aggregates Consumer *AuthUserConsumer `json:"consumer,omitempty" db:"-"` Groups []Group `json:"groups,omitempty" db:"-"` Current bool `json:"current,omitempty" cli:"current" db:"-"` LastActivity *time.Time `json:"last_activity,omitempty" cli:"last_activity,omitempty" db:"-"` }
AuthSession struct.
type AuthSessionJWTClaims ¶
type AuthSessionJWTClaims struct { ID string TokenID string jwt.StandardClaims }
AuthSessionJWTClaims is the specific claims format for JWT session.
type AuthSessions ¶
type AuthSessions []AuthSession
AuthSessions gives functions for auth session slice.
type AuthSigninConsumerToken ¶
type AuthSigninConsumerToken struct { IssuedAt int64 `json:"issued_at"` Origin string `json:"origin,omitempty"` RedirectURI string `json:"redirect_uri,omitempty"` RequireMFA bool `json:"require_mfa,omitempty"` IsFirstConnection bool `json:"is_first_connection,omitempty"` LinkUser bool `json:"link_user,omitempty"` }
AuthSigninConsumerToken discribes the payload for a signin state token.
type AuthUserConsumer ¶ added in v0.53.0
type AuthUserConsumer struct { AuthConsumer AuthConsumerUser AuthUserConsumerData `json:"auth_consumer_user,omitempty" db:"-"` }
AuthUserConsumer issues session linked to an authentified user.
func (AuthUserConsumer) Admin ¶ added in v0.53.0
func (c AuthUserConsumer) Admin() bool
func (AuthUserConsumer) GetEmail ¶ added in v0.53.0
func (c AuthUserConsumer) GetEmail() string
func (AuthUserConsumer) GetFullname ¶ added in v0.53.0
func (c AuthUserConsumer) GetFullname() string
func (AuthUserConsumer) GetGroupIDs ¶ added in v0.53.0
func (c AuthUserConsumer) GetGroupIDs() []int64
GetGroupIDs returns group ids for auth consumer, if empty in consumer returns group ids from authentified user.
func (AuthUserConsumer) GetUsername ¶ added in v0.53.0
func (c AuthUserConsumer) GetUsername() string
func (AuthUserConsumer) IsValid ¶ added in v0.53.0
func (c AuthUserConsumer) IsValid(scopeDetails AuthConsumerScopeDetails) error
IsValid returns validity for auth consumer.
func (AuthUserConsumer) Maintainer ¶ added in v0.53.0
func (c AuthUserConsumer) Maintainer() bool
type AuthUserConsumerData ¶ added in v0.53.0
type AuthUserConsumerData struct { ID string `json:"id" cli:"id,key" db:"id"` AuthConsumerID string `json:"auth_consumer_id" cli:"auth_consumer_id,key" db:"auth_consumer_id"` AuthentifiedUserID string `json:"user_id,omitempty" db:"user_id"` Data AuthConsumerData `json:"-" db:"data"` // NEVER returns auth consumer data in json, TODO this fields should be visible only in auth package GroupIDs Int64Slice `json:"group_ids,omitempty" cli:"group_ids" db:"group_ids"` InvalidGroupIDs Int64Slice `json:"invalid_group_ids,omitempty" db:"invalid_group_ids"` ScopeDetails AuthConsumerScopeDetails `json:"scope_details,omitempty" cli:"scope_details" db:"scope_details"` ServiceName *string `json:"service_name,omitempty" db:"service_name"` ServiceType *string `json:"service_type,omitempty" db:"service_type"` ServiceRegion *string `json:"service_region,omitempty" db:"service_region"` ServiceIgnoreJobWithNoRegion *bool `json:"service_ignore_job_with_no_region,omitempty" db:"service_ignore_job_with_no_region"` // aggregates AuthentifiedUser *AuthentifiedUser `json:"user,omitempty" db:"-"` Groups Groups `json:"groups,omitempty" db:"-"` // aggregates by router auth middleware Service *Service `json:"-" db:"-"` Worker *Worker `json:"-" db:"-"` }
AuthUserConsumerData issues session linked to an authentified user.
type AuthUserConsumers ¶ added in v0.53.0
type AuthUserConsumers []AuthUserConsumer
AuthUserConsumers gives functions for auth consumer slice.
type AuthentifiedUser ¶
type AuthentifiedUser struct { ID string `json:"id" yaml:"id" cli:"id" db:"id"` Created time.Time `json:"created" yaml:"created" cli:"created" db:"created"` Username string `json:"username" yaml:"username" cli:"username,key" db:"username"` Fullname string `json:"fullname" yaml:"fullname,omitempty" cli:"fullname" db:"fullname"` Ring string `json:"ring" yaml:"ring,omitempty" cli:"ring" db:"ring"` // aggregates Contacts UserContacts `json:"-" yaml:"-" db:"-"` Favorites []Favorite `json:"favorites" yaml:"favorites" db:"-"` Groups Groups `json:"groups" yaml:"groups" db:"-"` Organization string `json:"organization,omitempty" yaml:"organization,omitempty" cli:"organization" db:"-"` }
AuthentifiedUser struct contains all information about a cds user.
func (AuthentifiedUser) GetEmail ¶
func (u AuthentifiedUser) GetEmail() string
GetEmail return the primary email for the authentified user (should exists).
func (AuthentifiedUser) GetFullname ¶
func (u AuthentifiedUser) GetFullname() string
func (AuthentifiedUser) GetGroupIDs ¶
func (u AuthentifiedUser) GetGroupIDs() []int64
GetGroupIDs returns groups ids for user
func (AuthentifiedUser) GetUsername ¶
func (u AuthentifiedUser) GetUsername() string
func (AuthentifiedUser) IsValid ¶
func (u AuthentifiedUser) IsValid() error
IsValid returns an error if given user's infos are not valid.
func (*AuthentifiedUser) Scan ¶
func (u *AuthentifiedUser) Scan(src interface{}) error
Scan workflow template request.
type AuthentifiedUsers ¶
type AuthentifiedUsers []AuthentifiedUser
AuthentifiedUsers provides func for authentified user list.
func (AuthentifiedUsers) IDs ¶
func (a AuthentifiedUsers) IDs() []string
func (AuthentifiedUsers) ToMapByID ¶
func (a AuthentifiedUsers) ToMapByID() map[string]AuthentifiedUser
ToMapByID returns a map of authentified users indexed by ids.
type Author ¶
type Author struct { Username string `json:"username" cli:"-"` Fullname string `json:"fullname" cli:"-"` Email string `json:"email" cli:"-"` }
Author struct contains info about model author.
type BitbucketServerActor ¶
type BitbucketServerAuthor ¶
type BitbucketServerAuthor struct { User BitbucketServerActor `json:"user"` Role string `json:"role"` Approved bool `json:"approved"` Status string `json:"status"` }
type BitbucketServerChange ¶
type BitbucketServerChange struct { Ref BitbucketServerRef `json:"ref"` RefID string `json:"refId"` FromHash string `json:"fromHash"` ToHash string `json:"toHash"` Type string `json:"type"` }
type BitbucketServerComment ¶
type BitbucketServerComment struct { Properties BitbucketServerProperties `json:"properties"` ID int64 `json:"id"` Version int64 `json:"version"` Text string `json:"text"` Author BitbucketServerActor `json:"author"` CreatedDate int64 `json:"createdDate"` UpdatedDate int64 `json:"updatedDate"` Comments []string `json:"comments"` Tasks []string `json:"tasks"` }
type BitbucketServerParticipant ¶
type BitbucketServerParticipant struct { User BitbucketServerActor `json:"user"` LastReviewedCommit string `json:"lastReviewedCommit"` Role string `json:"role"` Approved bool `json:"approved"` Status string `json:"status"` }
type BitbucketServerProject ¶
type BitbucketServerProperties ¶
type BitbucketServerProperties struct {
RepositoryID int64 `json:"repositoryId"`
}
type BitbucketServerPullRequest ¶
type BitbucketServerPullRequest struct { ID int `json:"id"` Version int `json:"version"` Title string `json:"title"` Description string `json:"description"` State string `json:"state"` Open bool `json:"open"` Closed bool `json:"closed"` CreatedDate int `json:"createdDate"` UpdatedDate int `json:"updatedDate"` FromRef BitbucketServerRef `json:"fromRef"` ToRef BitbucketServerRef `json:"toRef"` Locked bool `json:"locked"` Author *BitbucketServerAuthor `json:"author,omitempty"` Reviewers []struct { User BitbucketServerActor `json:"user"` LastReviewedCommit string `json:"lastReviewedCommit"` Role string `json:"role"` Approved bool `json:"approved"` Status string `json:"status"` } `json:"reviewers,omitempty"` Participants []BitbucketServerParticipant `json:"participants,omitempty"` Properties PullRequestProperties `json:"properties,omitempty"` Links struct { Self []struct { Href string `json:"href"` } `json:"self"` } `json:"links"` }
type BitbucketServerRef ¶
type BitbucketServerRef struct { ID string `json:"id"` DisplayID string `json:"displayId"` LatestCommit string `json:"latestCommit"` Repository BitbucketServerRepository `json:"repository"` Type string `json:"type"` }
type BitbucketServerRepository ¶
type BitbucketServerRepository struct { ID int64 `json:"id"` Slug string `json:"slug"` Name interface{} `json:"name"` ScmID string `json:"scmId"` State string `json:"state"` StatusMessage string `json:"statusMessage"` Forkable bool `json:"forkable"` Project BitbucketServerProject `json:"project"` Public bool `json:"public"` }
type BitbucketServerWebhookEvent ¶
type BitbucketServerWebhookEvent struct { EventKey string `json:"eventKey"` Date string `json:"date"` Actor *BitbucketServerActor `json:"actor"` // PR event data PullRequest *BitbucketServerPullRequest `json:"pullRequest"` PreviousTitle string `json:"previousTitle"` PreviousDescription interface{} `json:"previousDescription"` PreviousTarget *BitbucketServerPreviousTarget `json:"previousTarget"` // Review event data Participant *BitbucketServerParticipant `json:"participant"` PreviousStatus string `json:"previousStatus"` // Reviewer edited data AddedReviewers []BitbucketServerActor `json:"addedReviewers"` RemovedReviewers []BitbucketServerActor `json:"removedReviewers"` // PR Comment event data Comment *BitbucketServerComment `json:"comment"` PreviousComment string `json:"previousComment"` // PushEvent data Repository *BitbucketServerRepository `json:"repository"` Changes []BitbucketServerChange `json:"changes"` }
type Bookmark ¶
type Bookmark struct { Icon string `json:"icon" db:"icon"` Description string `json:"description" db:"description"` }
Bookmark represents the type for a bookmark with his icon and description
type BuildNumberAndHash ¶
type BuildNumberAndHash struct { BuildNumber int64 Hash string Branch string Tag string Remote string RemoteURL string }
BuildNumberAndHash represents BuildNumber, Commit Hash and Branch for a Pipeline Build or Node Run
type CDNApiRef ¶
func NewCDNApiRef ¶
func NewCDNApiRef(t CDNItemType, signature cdn.Signature) (CDNApiRef, error)
func NewCDNLogApiRef ¶
func NewCDNLogApiRefV2 ¶ added in v0.53.0
func NewCDNRunResultApiRef ¶
func NewCDNRunResultApiRefV2 ¶ added in v0.53.1
func NewCDNWorkerCacheApiRef ¶
type CDNDuplicateItemRequest ¶ added in v0.53.1
type CDNItem ¶
type CDNItem struct { ID string `json:"id" db:"id"` Created time.Time `json:"created" db:"created"` LastModified time.Time `json:"last_modified" db:"last_modified"` Hash string `json:"hash" db:"cipher_hash" gorpmapping:"encrypted,ID,APIRefHash,Type"` APIRefRaw json.RawMessage `json:"api_ref" db:"-"` APIRef CDNApiRef `json:"-" db:"-"` APIRefHash string `json:"api_ref_hash" db:"api_ref_hash"` Status string `json:"status" db:"status"` Type CDNItemType `json:"type" db:"type"` Size int64 `json:"size" db:"size"` MD5 string `json:"md5" db:"md5"` ToDelete bool `json:"to_delete" db:"to_delete"` }
func (CDNItem) GetCDNLogApiRef ¶
func (c CDNItem) GetCDNLogApiRef() (*CDNLogAPIRef, bool)
func (CDNItem) GetCDNLogApiRefV2 ¶ added in v0.53.0
func (c CDNItem) GetCDNLogApiRefV2() (*CDNLogAPIRefV2, bool)
func (CDNItem) GetCDNRunResultApiRef ¶
func (c CDNItem) GetCDNRunResultApiRef() (*CDNRunResultAPIRef, bool)
func (CDNItem) GetCDNRunResultApiRefV2 ¶ added in v0.53.1
func (c CDNItem) GetCDNRunResultApiRefV2() (*CDNRunResultAPIRefV2, bool)
func (CDNItem) GetCDNWorkerCacheApiRef ¶
func (c CDNItem) GetCDNWorkerCacheApiRef() (*CDNWorkerCacheAPIRef, bool)
func (CDNItem) MarshalJSON ¶
func (*CDNItem) UnmarshalJSON ¶
type CDNItemLink ¶ added in v0.53.1
type CDNItemLinks ¶
type CDNItemResume ¶
type CDNItemResume struct { CDNItem CDNItem `json:"item"` // Here we can't use nested struct because of the custom CDNItem marshaller Location map[string]CDNItemUnit `json:"item_units"` }
type CDNItemType ¶
type CDNItemType string
const ( CDNTypeItemStepLog CDNItemType = "step-log" CDNTypeItemJobStepLog CDNItemType = "job-step-log" // v2 CDNTypeItemServiceLog CDNItemType = "service-log" CDNTypeItemServiceLogV2 CDNItemType = "service-log-v2" CDNTypeItemRunResult CDNItemType = "run-result" CDNTypeItemRunResultV2 CDNItemType = "run-result-v2" CDNTypeItemWorkerCache CDNItemType = "worker-cache" CDNStatusItemIncoming = "Incoming" CDNStatusItemCompleted = "Completed" )
func (CDNItemType) IsLog ¶
func (t CDNItemType) IsLog() bool
func (CDNItemType) Validate ¶
func (t CDNItemType) Validate() error
type CDNItemUnit ¶
type CDNItemUnit struct { ID string `json:"id" db:"id"` Type CDNItemType `json:"type" db:"type"` ItemID string `json:"item_id" db:"item_id"` UnitID string `json:"unit_id" db:"unit_id"` LastModified time.Time `json:"last_modified" db:"last_modified"` Locator string `json:"locator" db:"cipher_locator" gorpmapping:"encrypted,UnitID,ItemID"` HashLocator string `json:"hash_locator" db:"hash_locator"` Item *CDNItem `json:"-" db:"-"` ToDelete bool `json:"to_delete" db:"to_delete"` }
type CDNLogAPIRef ¶
type CDNLogAPIRef struct { ProjectKey string `json:"project_key"` WorkflowName string `json:"workflow_name"` WorkflowID int64 `json:"workflow_id"` RunID int64 `json:"run_id"` NodeRunID int64 `json:"node_run_id"` NodeRunName string `json:"node_run_name"` NodeRunJobID int64 `json:"node_run_job_id"` NodeRunJobName string `json:"node_run_job_name"` // for workers StepOrder int64 `json:"step_order"` StepName string `json:"step_name,omitempty"` // for hatcheries RequirementServiceID int64 `json:"service_id,omitempty"` RequirementServiceName string `json:"service_name,omitempty"` }
func (*CDNLogAPIRef) ToFilename ¶
func (a *CDNLogAPIRef) ToFilename() string
func (*CDNLogAPIRef) ToHash ¶
func (a *CDNLogAPIRef) ToHash() (string, error)
type CDNLogAPIRefV2 ¶ added in v0.53.0
type CDNLogAPIRefV2 struct { ProjectKey string `json:"project_key"` WorkflowName string `json:"workflow_name"` RunID string `json:"run_id"` RunJobID string `json:"run_job_id"` RunJobName string `json:"run_job_name"` RunNumber int64 `json:"run_number"` RunAttempt int64 `json:"run_attempt"` ItemType CDNItemType `json:"item_type"` // for workers StepOrder int64 `json:"step_order"` StepName string `json:"step_name,omitempty"` // for hatcheries ServiceName string `json:"service_name,omitempty"` }
func (*CDNLogAPIRefV2) ToFilename ¶ added in v0.53.0
func (a *CDNLogAPIRefV2) ToFilename() string
func (*CDNLogAPIRefV2) ToHash ¶ added in v0.53.0
func (a *CDNLogAPIRefV2) ToHash() (string, error)
type CDNLogLink ¶
type CDNLogLink struct { ItemType CDNItemType `json:"item_type"` APIRef string `json:"api_ref"` }
type CDNLogLinkData ¶
type CDNLogLinkData struct { APIRef string `json:"api_ref"` StepOrder int64 `json:"step_order"` StepName string `json:"step_name"` ServiceName string `json:"service_name"` ItemType CDNItemType `json:"item_type"` }
type CDNLogLinks ¶
type CDNLogLinks struct { CDNURL string `json:"cdn_url,omitempty"` ItemType CDNItemType `json:"item_type,omitempty"` // workflow v2: it's empty Data []CDNLogLinkData `json:"datas"` }
type CDNLogsLines ¶
type CDNMarkDelete ¶
type CDNMarkDelete struct {
RunID int64 `json:"run_id,omitempty"`
}
type CDNReaderFormat ¶
type CDNReaderFormat string
const ( CDNReaderFormatJSON CDNReaderFormat = "json" CDNReaderFormatText CDNReaderFormat = "text" )
type CDNRunResultAPIRef ¶
type CDNRunResultAPIRef struct { ProjectKey string `json:"project_key"` WorkflowName string `json:"workflow_name"` WorkflowID int64 `json:"workflow_id"` RunID int64 `json:"run_id"` RunJobID int64 `json:"run_job_id"` RunJobName string `json:"run_job_name"` RunNodeID int64 `json:"run_node_id"` ArtifactName string `json:"artifact_name"` Perm uint32 `json:"perm"` RunResultType WorkflowRunResultType `json:"type"` }
func (*CDNRunResultAPIRef) ToFilename ¶
func (a *CDNRunResultAPIRef) ToFilename() string
func (*CDNRunResultAPIRef) ToHash ¶
func (a *CDNRunResultAPIRef) ToHash() (string, error)
type CDNRunResultAPIRefV2 ¶ added in v0.53.1
type CDNRunResultAPIRefV2 struct { ProjectKey string `json:"project_key"` WorkflowName string `json:"workflow_name"` RunID string `json:"run_id"` RunJobRegion string `json:"run_job_region"` RunJobID string `json:"run_job_id"` RunJobName string `json:"run_job_name"` RunNumber int64 `json:"run_number"` RunAttempt int64 `json:"run_attempt"` RunResultID string `json:"run_result_id"` RunResultName string `json:"run_result_name"` RunResultType string `json:"run_result_type"` }
func (*CDNRunResultAPIRefV2) ToFilename ¶ added in v0.53.1
func (a *CDNRunResultAPIRefV2) ToFilename() string
func (*CDNRunResultAPIRefV2) ToHash ¶ added in v0.53.1
func (a *CDNRunResultAPIRefV2) ToHash() (string, error)
type CDNStreamFilter ¶
type CDNStreamFilter struct {
JobRunID string `json:"job_run_id"`
}
func (CDNStreamFilter) Validate ¶
func (f CDNStreamFilter) Validate() error
type CDNUnit ¶
type CDNUnit struct { ID string `json:"id" db:"id"` Created time.Time `json:"created" db:"created"` Name string `json:"name" db:"name"` Config ServiceConfig `json:"config" db:"config"` }
type CDNUnitHandlerRequest ¶
type CDNWSEvent ¶
type CDNWSEvent struct { ItemType CDNItemType `json:"item_type"` JobRunID string `json:"job_run_id"` ItemUnitID string `json:"new_item_unit_id"` }
type CDNWorkerCacheAPIRef ¶
type CDNWorkerCacheAPIRef struct { ProjectKey string `json:"project_key"` CacheTag string `json:"cache_tag"` ExpireAt time.Time `json:"expire_at"` }
func (*CDNWorkerCacheAPIRef) ToFilename ¶
func (a *CDNWorkerCacheAPIRef) ToFilename() string
func (*CDNWorkerCacheAPIRef) ToHash ¶
func (a *CDNWorkerCacheAPIRef) ToHash() (string, error)
type CDSContext ¶ added in v0.53.0
type CDSContext struct { // Workflow EventName string `json:"event_name,omitempty"` Event map[string]interface{} `json:"event,omitempty"` ProjectKey string `json:"project_key,omitempty"` RunID string `json:"run_id,omitempty"` RunNumber int64 `json:"run_number,omitempty"` RunAttempt int64 `json:"run_attempt,omitempty"` Workflow string `json:"workflow,omitempty"` WorkflowRef string `json:"workflow_ref,omitempty"` WorkflowSha string `json:"workflow_sha,omitempty"` WorkflowVCSServer string `json:"workflow_vcs_server,omitempty"` WorkflowRepository string `json:"workflow_repository,omitempty"` TriggeringActor string `json:"triggering_actor,omitempty"` // Job Job string `json:"job,omitempty"` Stage string `json:"stage,omitempty"` // Worker Workspace string `json:"workspace,omitempty"` // TODO WorkflowIntegrations map[string]interface{} `json:"integrations,omitempty"` // actual key: artifact_manager }
type Cache ¶
type Cache struct { ID int64 `json:"id" cli:"id"` Project string `json:"project"` Name string `json:"name" cli:"name"` Tag string `json:"tag"` TmpURL string `json:"tmp_url"` SecretKey string `json:"secret_key"` IntegrationName string `json:"integration_name"` Files []string `json:"files"` WorkingDirectory string `json:"working_directory"` }
Cache define a file needed to be save for cache
type CanonicalFormUsage ¶
type CanonicalFormUsageResume ¶
type CanonicalFormUsageResume map[string][]CanonicalFormUsage
type CanonicalService ¶
type CanonicalService struct { ID int64 `json:"id" db:"id" mapstructure:"id"` Name string `json:"name" db:"name" cli:"name,key" mapstructure:"name"` ConsumerID *string `json:"-" db:"auth_consumer_id" mapstructure:"-"` Type string `json:"type" db:"type" cli:"type" mapstructure:"type"` HTTPURL string `json:"http_url" db:"http_url" cli:"url" mapstructure:"http_url"` Config ServiceConfig `json:"config" db:"config" cli:"-" mapstructure:"config"` PublicKey []byte `json:"public_key" db:"public_key" mapstructure:"public_key"` Region *string `json:"region" db:"region" mapstructure:"region"` IgnoreJobWithNoRegion *bool `json:"ignore_job_with_no_region" db:"ignore_job_with_no_region" mapstructure:"ignore_job_with_no_region"` }
type CheckProjectAccess ¶ added in v0.53.0
type CommitStatus ¶ added in v0.53.1
type ConfigUser ¶
ConfigUser struct.
type DatabaseMigrationStatus ¶
type DatabaseMigrationStatus struct { ID string `json:"id" db:"id" cli:"id,key"` Migrated bool `json:"migrated" db:"-" cli:"migrated"` AppliedAt *time.Time `json:"applied_at" db:"applied_at" cli:"applied_at"` // aggregates Database string `json:"database" db:"-" cli:"database"` }
DatabaseMigrationStatus represents on migration script status
type DefaultValues ¶
type DefaultValues struct {
DefaultGroupName string
}
DefaultValues contains default user values for init DB
type DownloadableResource ¶
type DownloadableResource struct { Name string `json:"name"` OS string `json:"os"` Arch string `json:"arch"` Variant string `json:"variant,omitempty"` Filename string `json:"filename,omitempty"` Available *bool `json:"available,omitempty"` }
func AllDownloadableResources ¶
func AllDownloadableResources() []DownloadableResource
func AllDownloadableResourcesWithAvailability ¶
func AllDownloadableResourcesWithAvailability(directoriesDownload string) []DownloadableResource
AllDownloadableResourcesWithAvailability set flag Available on downloads list
type Driver ¶ added in v0.53.0
type Driver interface {
GetUserInfoFromDriver(ctx context.Context, req AuthConsumerSigninRequest) (AuthDriverUserInfo, error)
}
type DriverWithRedirect ¶ added in v0.53.0
type DriverWithRedirect interface { DriverWithSignInRequest GetSigninURI(AuthSigninConsumerToken) (AuthDriverSigningRedirect, error) }
type DriverWithSignInRequest ¶ added in v0.53.0
type DriverWithSignInRequest interface { Driver CheckSigninRequest(req AuthConsumerSigninRequest) error }
type DriverWithSigninStateToken ¶ added in v0.53.0
type DriverWithSigninStateToken interface { DriverWithSignInRequest CheckSigninStateToken(AuthConsumerSigninRequest) error }
type EncryptFunc ¶
EncryptFunc is a common type
type EntitiesPermissions ¶
type EntitiesPermissions map[string]Permissions
func (EntitiesPermissions) Level ¶
func (e EntitiesPermissions) Level(s string) int
func (EntitiesPermissions) Permissions ¶
func (e EntitiesPermissions) Permissions(s string) Permissions
type Entity ¶ added in v0.52.0
type Entity struct { ID string `json:"id" db:"id"` ProjectKey string `json:"project_key" db:"project_key"` ProjectRepositoryID string `json:"project_repository_id" db:"project_repository_id"` Type string `json:"type" db:"type"` FilePath string `json:"file_path" db:"file_path"` Name string `json:"name" db:"name"` Commit string `json:"commit" db:"commit"` Ref string `json:"ref" db:"ref"` LastUpdate time.Time `json:"last_update" db:"last_update"` Data string `json:"data" db:"data"` }
type EntityCheckResponse ¶ added in v0.53.0
type EntityCheckResponse struct {
Messages []string `json:"messages"`
}
type EntityEvent ¶ added in v0.53.1
type EntityFullName ¶ added in v0.53.0
type EntityWithObject ¶ added in v0.53.1
type EntityWithObject struct { Entity Workflow V2Workflow Action V2Action Model V2WorkerModel }
type Environment ¶
type Environment struct { ID int64 `json:"id" yaml:"-" db:"id"` Name string `json:"name" yaml:"name" cli:"name,key" db:"name"` Variables []EnvironmentVariable `json:"variables,omitempty" yaml:"variables"` ProjectID int64 `json:"-" yaml:"-" db:"project_id"` ProjectKey string `json:"project_key" yaml:"-"` Created time.Time `json:"created" db:"created"` LastModified time.Time `json:"last_modified" db:"last_modified"` Keys []EnvironmentKey `json:"keys"` Usage *Usage `json:"usage,omitempty"` FromRepository string `json:"from_repository,omitempty" db:"from_repository"` WorkflowAscodeHolder *Workflow `json:"workflow_ascode_holder,omitempty" cli:"-"` }
Environment represent a deployment environment
func NewEnvironment ¶
func NewEnvironment(name string) *Environment
NewEnvironment instantiate a new Environment
func (Environment) GetKey ¶
func (e Environment) GetKey(kname string) *EnvironmentKey
GetKey return a key by name
func (Environment) GetSSHKey ¶
func (e Environment) GetSSHKey(kname string) *EnvironmentKey
GetSSHKey return a key by name
func (Environment) PGPKeys ¶
func (e Environment) PGPKeys() []EnvironmentKey
PGPKeys returns the slice of pgp key for an environment
func (Environment) SSHKeys ¶
func (e Environment) SSHKeys() []EnvironmentKey
SSHKeys returns the slice of ssh key for an environment
func (*Environment) UnmarshalJSON ¶
func (e *Environment) UnmarshalJSON(data []byte) error
UnmarshalJSON custom for last modified.
type EnvironmentKey ¶
type EnvironmentKey struct { ID int64 `json:"id" db:"id" cli:"-"` Name string `json:"name" db:"name" cli:"name"` Public string `json:"public" db:"public" cli:"publickey"` Private string `json:"private" db:"private" cli:"-" gorpmapping:"encrypted,ID,Name"` KeyID string `json:"key_id" db:"key_id" cli:"-"` Type KeyType `json:"type" db:"type" cli:"type"` EnvironmentID int64 `json:"environment_id" db:"environment_id"` }
EnvironmentKey represent a key attach to an environment
type EnvironmentTemplate ¶
type EnvironmentTemplate struct {
Value string `json:"value"`
}
EnvironmentTemplate struct.
func (*EnvironmentTemplate) IsValid ¶
func (e *EnvironmentTemplate) IsValid() error
IsValid returns environment template validity.
type EnvironmentTemplates ¶
type EnvironmentTemplates []EnvironmentTemplate
EnvironmentTemplates struct.
func (*EnvironmentTemplates) Scan ¶
func (e *EnvironmentTemplates) Scan(src interface{}) error
Scan environment templates.
type EnvironmentVariable ¶
type EnvironmentVariableAudit ¶
type EnvironmentVariableAudit struct { ID int64 `json:"id" yaml:"-" db:"id"` EnvironmentID int64 `json:"environment_id" yaml:"-" db:"environment_id"` VariableID int64 `json:"variable_id" yaml:"-" db:"variable_id"` Type string `json:"type" yaml:"-" db:"type"` VariableBefore *EnvironmentVariable `json:"variable_before,omitempty" yaml:"-" db:"-"` VariableAfter EnvironmentVariable `json:"variable_after,omitempty" yaml:"-" db:"-"` Versionned time.Time `json:"versionned" yaml:"-" db:"versionned"` Author string `json:"author" yaml:"-" db:"author"` }
EnvironmentVariableAudit represents an audit on an environment variable
type Error ¶
type Error struct { ID int `json:"id"` Status int `json:"-"` Message string `json:"message"` Data interface{} `json:"data,omitempty"` RequestID string `json:"request_id,omitempty"` StackTrace string `json:"stack_trace,omitempty"` From string `json:"from,omitempty"` }
Error type.
func ExtractHTTPError ¶
ExtractHTTPError tries to recognize given error and return http error with message in a language matching Accepted-Language.
type Event ¶
type Event struct { Timestamp time.Time `json:"timestamp"` Hostname string `json:"hostname"` CDSName string `json:"cdsname"` EventType string `json:"type_event"` // go type of payload Payload json.RawMessage `json:"payload"` Attempts int `json:"attempt"` Username string `json:"username,omitempty"` UserMail string `json:"user_mail,omitempty"` ProjectKey string `json:"project_key,omitempty"` ApplicationName string `json:"application_name,omitempty"` PipelineName string `json:"pipeline_name,omitempty"` EnvironmentName string `json:"environment_name,omitempty"` WorkflowName string `json:"workflow_name,omitempty"` WorkflowRunNum int64 `json:"workflow_run_num,omitempty"` WorkflowRunNumSub int64 `json:"workflow_run_num_sub,omitempty"` WorkflowNodeRunID int64 `json:"workflow_node_run_id,omitempty"` OperationUUID string `json:"operation_uuid,omitempty"` Status string `json:"status,omitempty"` Tags []WorkflowRunTag `json:"tag,omitempty"` EventIntegrationsID []int64 `json:"event_integrations_id"` Region string `json:"region,omitempty"` ModelType string `json:"model_type,omitempty"` }
Event represents a event from API Event is "create", "update", "delete" Status is "Waiting" "Building" "Success" "Fail" "Unknown", optional DateEvent is a date (timestamp format)
type EventActionAdd ¶
type EventActionAdd struct {
Action Action
}
EventActionAdd represents the event when adding an action.
type EventActionUpdate ¶
EventActionUpdate represents the event when updating an action.
type EventApplicationAdd ¶
type EventApplicationAdd struct {
Application
}
EventApplicationAdd represents the event when adding an application
type EventApplicationDelete ¶
type EventApplicationDelete struct { }
EventApplicationDelete represents the event when deleting an application
type EventApplicationKeyAdd ¶
type EventApplicationKeyAdd struct {
Key ApplicationKey `json:"key"`
}
EventApplicationKeyAdd represents the event when adding an application key
type EventApplicationKeyDelete ¶
type EventApplicationKeyDelete struct {
Key ApplicationKey `json:"key"`
}
EventApplicationKeyDelete represents the event when deleting an application key
type EventApplicationPermissionAdd ¶
type EventApplicationPermissionAdd struct {
Permission GroupPermission `json:"group_permission"`
}
EventApplicationPermissionAdd represents the event when adding an application permission
type EventApplicationPermissionDelete ¶
type EventApplicationPermissionDelete struct {
Permission GroupPermission `json:"group_permission"`
}
EventApplicationPermissionDelete represents the event when deleting an application permission
type EventApplicationPermissionUpdate ¶
type EventApplicationPermissionUpdate struct { OldPermission GroupPermission `json:"old_group_permission"` NewPermission GroupPermission `json:"new_group_permission"` }
EventApplicationPermissionUpdate represents the event when updating an application permission
type EventApplicationRepositoryAdd ¶
type EventApplicationRepositoryAdd struct { VCSServer string `json:"vcs_server"` Repository string `json:"repository"` }
EventApplicationRepositoryAdd represents the event when adding a repository to an application
type EventApplicationRepositoryDelete ¶
type EventApplicationRepositoryDelete struct { VCSServer string `json:"vcs_server"` Repository string `json:"repository"` }
EventApplicationRepositoryDelete represents the event when deleting a repository to an application
type EventApplicationUpdate ¶
type EventApplicationUpdate struct { OldName string `json:"old_name"` NewName string `json:"new_name"` OldMetadata Metadata `json:"old_metadata"` NewMetadata Metadata `json:"new_metadata"` OldRepositoryStrategy RepositoryStrategy `json:"old_vcs_strategy"` NewRepositoryStrategy RepositoryStrategy `json:"new_vcs_strategy"` }
EventApplicationUpdate represents the event when updating an application
type EventApplicationVariableAdd ¶
type EventApplicationVariableAdd struct {
Variable ApplicationVariable `json:"variable"`
}
EventApplicationVariableAdd represents the event when adding an application variable
type EventApplicationVariableDelete ¶
type EventApplicationVariableDelete struct {
Variable ApplicationVariable `json:"variable"`
}
EventApplicationVariableDelete represents the event when deleting an application variable
type EventApplicationVariableUpdate ¶
type EventApplicationVariableUpdate struct { OldVariable ApplicationVariable `json:"old_variable"` NewVariable ApplicationVariable `json:"new_variable"` }
EventApplicationVariableUpdate represents the event when updating an application variable
type EventAsCodeEvent ¶
type EventAsCodeEvent struct {
Event AsCodeEvent `json:"as_code_event"`
}
EventAsCodeEvent represents the event when add/update a workflow event
type EventEngine ¶
type EventEngine struct {
Message string `json:"message"`
}
EventEngine contains event data for engine
type EventEnvironmentAdd ¶
type EventEnvironmentAdd struct {
Environment
}
EventEnvironmentAdd represents the event when adding an environment
type EventEnvironmentDelete ¶
type EventEnvironmentDelete struct { }
EventEnvironmentDelete represents the event when deleting an environment
type EventEnvironmentKeyAdd ¶
type EventEnvironmentKeyAdd struct {
Key EnvironmentKey `json:"key"`
}
EventEnvironmentKeyAdd represents the event when adding an environment key
type EventEnvironmentKeyDelete ¶
type EventEnvironmentKeyDelete struct {
Key EnvironmentKey `json:"key"`
}
EventEnvironmentKeyDelete represents the event when deleting an environment key
type EventEnvironmentPermissionAdd ¶
type EventEnvironmentPermissionAdd struct {
Permission GroupPermission `json:"group_permission"`
}
EventEnvironmentPermissionAdd represents the event when adding an environment permission
type EventEnvironmentPermissionDelete ¶
type EventEnvironmentPermissionDelete struct {
Permission GroupPermission `json:"group_permission"`
}
EventEnvironmentPermissionDelete represents the event when deleting an environment permission
type EventEnvironmentPermissionUpdate ¶
type EventEnvironmentPermissionUpdate struct { OldPermission GroupPermission `json:"old_group_permission"` NewPermission GroupPermission `json:"new_group_permission"` }
EventEnvironmentPermissionUpdate represents the event when updating an environment permission
type EventEnvironmentUpdate ¶
type EventEnvironmentUpdate struct { OldName string `json:"old_name"` NewName string `json:"new_name"` }
EventEnvironmentUpdate represents the event when updating an environment
type EventEnvironmentVariableAdd ¶
type EventEnvironmentVariableAdd struct {
Variable EnvironmentVariable `json:"variable"`
}
EventEnvironmentVariableAdd represents the event when adding an environment variable
type EventEnvironmentVariableDelete ¶
type EventEnvironmentVariableDelete struct {
Variable EnvironmentVariable `json:"variable"`
}
EventEnvironmentVariableDelete represents the event when deleting an environment variable
type EventEnvironmentVariableUpdate ¶
type EventEnvironmentVariableUpdate struct { OldVariable EnvironmentVariable `json:"old_variable"` NewVariable EnvironmentVariable `json:"new_variable"` }
EventEnvironmentVariableUpdate represents the event when updating an environment variable
type EventFake ¶
type EventFake struct {
Data int64 `json:"data"`
}
EventFake is used for test purpose
type EventFilter ¶
type EventFilter struct { CurrentItem int `json:"current_item"` Filter TimelineFilter `json:"filter"` }
EventFilter represents filters when getting events
type EventJobSummary ¶ added in v0.52.0
type EventJobSummary struct { ID int64 `json:"id"` ProjectKey string `json:"project_key"` Workflow string `json:"workflow"` Pipeline string `json:"pipeline"` PipelineName string `json:"pipeline_name"` Job string `json:"job"` WorkflowRunVersion string `json:"workflow_run_version"` WorkflowRunNumber int `json:"workflow_run_number"` WorkflowRunSubNumber int `json:"workflow_run_sub_number"` FinalStatus string `json:"final_status"` Created *time.Time `json:"created"` Started *time.Time `json:"started"` Ended *time.Time `json:"ended"` InQueueDuration int `json:"in_queue_duration"` BuildDuration int `json:"build_duration"` TotalDuration int `json:"total_duration"` CreatedHour int `json:"created_hour"` WorkerModel string `json:"worker_model"` WorkerModelType string `json:"worker_model_type"` Worker string `json:"worker"` Hatchery string `json:"hatchery"` Region string `json:"region"` Hook string `json:"hook"` GitVCS string `json:"git_vcs"` GitRepo string `json:"git_repo"` GitBranch string `json:"git_branch"` GitTag string `json:"git_tag"` GitCommit string `json:"git_commit"` }
type EventMaintenance ¶
type EventMaintenance struct {
Enable bool `json:"enable"`
}
EventMaintenance contains event data for maintenance event
type EventNotif ¶
type EventNotif struct { Recipients []string `json:"recipients"` Subject string `json:"subject,omitempty"` Body string `json:"body,omitempty"` }
EventNotif contains event data for a job
type EventOperation ¶
type EventOperation struct {
Operation
}
type EventPipelineAdd ¶
type EventPipelineAdd struct {
Pipeline
}
EventPipelineAdd represents the event when adding a pipeline
type EventPipelineDelete ¶
type EventPipelineDelete struct { }
EventPipelineDelete represents the event when deleting a pipeline
type EventPipelineJobAdd ¶
type EventPipelineJobAdd struct { StageID int64 `json:"stage_id"` StageName string `json:"stage_name"` StageBuildOrder int `json:"stage_build_order"` Job Job `json:"job"` }
EventPipelineJobAdd represents the event when adding a job
type EventPipelineJobDelete ¶
type EventPipelineJobDelete struct { StageID int64 `json:"stage_id"` StageName string `json:"stage_name"` StageBuildOrder int `json:"stage_build_order"` JobName string `json:"job_name"` }
EventPipelineJobDelete represents the event when deleting a job
type EventPipelineJobUpdate ¶
type EventPipelineJobUpdate struct { StageID int64 `json:"stage_id"` StageName string `json:"stage_name"` StageBuildOrder int `json:"stage_build_order"` OldJob Job `json:"old_job"` NewJob Job `json:"new_job"` }
EventPipelineJobUpdate represents the event when updating a job
type EventPipelineParameterAdd ¶
type EventPipelineParameterAdd struct {
Parameter Parameter `json:"parameter"`
}
EventPipelineParameterAdd represents the event when adding a pipeline parameter
type EventPipelineParameterDelete ¶
type EventPipelineParameterDelete struct {
Parameter Parameter `json:"parameter"`
}
EventPipelineParameterDelete represents the event when deleting a pipeline parameter
type EventPipelineParameterUpdate ¶
type EventPipelineParameterUpdate struct { OldParameter Parameter `json:"old_parameter"` NewParameter Parameter `json:"new_parameter"` }
EventPipelineParameterUpdate represents the event when updating a pipeline parameter
type EventPipelinePermissionAdd ¶
type EventPipelinePermissionAdd struct {
Permission GroupPermission `json:"group_permission"`
}
EventPipelinePermissionAdd represents the event when adding a pipeline permission
type EventPipelinePermissionDelete ¶
type EventPipelinePermissionDelete struct {
Permission GroupPermission `json:"group_permission"`
}
EventPipelinePermissionDelete represents the event when deleting a pipeline permission
type EventPipelinePermissionUpdate ¶
type EventPipelinePermissionUpdate struct { OldPermission GroupPermission `json:"old_group_permission"` NewPermission GroupPermission `json:"new_group_permission"` }
EventPipelinePermissionUpdate represents the event when updating a pipeline permission
type EventPipelineStageAdd ¶
type EventPipelineStageAdd struct { Name string `json:"name"` BuildOrder int `json:"build_order"` Enabled bool `json:"enabled"` Prerequisite []Prerequisite `json:"prerequisite"` }
EventPipelineStageAdd represents the event when adding a stage
type EventPipelineStageDelete ¶
type EventPipelineStageDelete struct { ID int64 `json:"id"` Name string `json:"name"` BuildOrder int `json:"build_order"` }
EventPipelineStageDelete represents the event when deleting a stage
type EventPipelineStageMove ¶
type EventPipelineStageMove struct { StageName string `json:"stage_name"` StageID int64 `json:"stage_id"` OldStageBuildOrder int `json:"old_build_order"` NewStageBuildOrder int `json:"new_build_order"` }
EventPipelineStageMove represent the event when moving a stage
type EventPipelineStageUpdate ¶
type EventPipelineStageUpdate struct { NewName string `json:"name"` NewBuildOrder int `json:"build_order"` NewPrerequisite []Prerequisite `json:"prerequisite"` OldName string `json:"old_name"` OldBuildOrder int `json:"old_build_order"` OldPrerequisite []Prerequisite `json:"old_prerequisite"` NewEnabled bool `json:"enabled"` OldEnabled bool `json:"old_enabled"` }
EventPipelineStageUpdate represents the event when updating a stage
type EventPipelineUpdate ¶
type EventPipelineUpdate struct { OldName string `json:"old_name"` NewName string `json:"new_name"` }
EventPipelineUpdate represents the event when updating a pipeline
type EventProjectAdd ¶
type EventProjectAdd struct { Variables []ProjectVariable `json:"variables"` Permissions []GroupPermission `json:"groups_permission"` Keys []ProjectKey `json:"keys"` Metadata Metadata `json:"metadata"` }
EventProjectAdd represents the event when adding a project
type EventProjectDelete ¶
type EventProjectDelete struct { }
EventProjectDelete represents the event when deleting a project
type EventProjectIntegrationAdd ¶
type EventProjectIntegrationAdd struct {
Integration ProjectIntegration `json:"integration"`
}
EventProjectIntegrationAdd represents the event when adding a project integration
type EventProjectIntegrationDelete ¶
type EventProjectIntegrationDelete struct {
Integration ProjectIntegration `json:"integration"`
}
EventProjectIntegrationDelete represents the event when deleting a project integration
type EventProjectIntegrationUpdate ¶
type EventProjectIntegrationUpdate struct { OldIntegration ProjectIntegration `json:"old_integration"` NewsIntegration ProjectIntegration `json:"new_integration"` }
EventProjectIntegrationUpdate represents the event when updating a project integration
type EventProjectKeyAdd ¶
type EventProjectKeyAdd struct {
Key ProjectKey `json:"key"`
}
EventProjectKeyAdd represents the event when adding a project key
type EventProjectKeyDelete ¶
type EventProjectKeyDelete struct {
Key ProjectKey `json:"key"`
}
EventProjectKeyDelete represents the event when deleting a project key
type EventProjectKeyDisable ¶ added in v0.53.0
type EventProjectKeyDisable struct {
Key ProjectKey `json:"key"`
}
type EventProjectKeyEnable ¶ added in v0.53.0
type EventProjectKeyEnable struct {
Key ProjectKey `json:"key"`
}
type EventProjectPermissionAdd ¶
type EventProjectPermissionAdd struct {
Permission GroupPermission `json:"group_permission"`
}
EventProjectPermissionAdd represents the event when adding a project permission
type EventProjectPermissionDelete ¶
type EventProjectPermissionDelete struct {
Permission GroupPermission `json:"group_permission"`
}
EventProjectPermissionDelete represents the event when deleting a project permission
type EventProjectPermissionUpdate ¶
type EventProjectPermissionUpdate struct { OldPermission GroupPermission `json:"old_group_permission"` NewPermission GroupPermission `json:"new_group_permission"` }
EventProjectPermissionUpdate represents the event when updating a project permission
type EventProjectRepositoryAdd ¶ added in v0.53.0
type EventProjectRepositoryAdd struct { Repository ProjectRepository `json:"repository"` VCS VCSProject `json:"vcs"` }
type EventProjectRepositoryAnalyze ¶ added in v0.53.0
type EventProjectRepositoryDelete ¶ added in v0.53.0
type EventProjectRepositoryDelete struct { Repository ProjectRepository `json:"repository"` VCS VCSProject `json:"vcs"` }
type EventProjectUpdate ¶
type EventProjectUpdate struct { OldName string `json:"old_name"` NewName string `json:"new_name"` OldMetadata Metadata `json:"old_metadata"` NewMetadata Metadata `json:"new_metadata"` }
EventProjectUpdate represents the event when updating a project
type EventProjectVCSServerAdd ¶
type EventProjectVCSServerAdd struct {
VCSServerName string `json:"vcs_server"`
}
EventProjectVCSServerAdd represents the event when adding a project vcs server
type EventProjectVCSServerDelete ¶
type EventProjectVCSServerDelete struct {
VCSServerName string `json:"vcs_server"`
}
EventProjectVCSServerDelete represents the event when deleting a project vcs server
type EventProjectVariableAdd ¶
type EventProjectVariableAdd struct {
Variable ProjectVariable `json:"variable"`
}
EventProjectVariableAdd represents the event when adding a project variable
type EventProjectVariableDelete ¶
type EventProjectVariableDelete struct {
Variable ProjectVariable `json:"variable"`
}
EventProjectVariableDelete represents the event when deleting a project variable
type EventProjectVariableUpdate ¶
type EventProjectVariableUpdate struct { OldVariable ProjectVariable `json:"old_variable"` NewVariable ProjectVariable `json:"new_variable"` }
EventProjectVariableUpdate represents the event when updating a project variable
type EventRetentionWorkflowDryRun ¶
type EventRetentionWorkflowDryRun struct { Runs []WorkflowRunToKeep `json:"runs"` Status string `json:"status"` Error string `json:"error"` Warnings []string `json:"warnings"` RunsAnalyzed int64 `json:"nb_runs_analyzed"` }
EventRetentionWorkflowDryRun represents the vent when execution dry run on workflow retention
type EventRunWorkflow ¶
type EventRunWorkflow struct { ID int64 `json:"id"` Number int64 `json:"num"` Status string `json:"status"` Start int64 `json:"start"` LastExecution int64 `json:"last_execution"` LastModified int64 `json:"last_modified"` LastModifiedNano int64 `json:"last_modified_nano"` Tags []WorkflowRunTag `json:"tags"` ToDelete bool `json:"to_delete"` }
EventRunWorkflow contains event data for a workflow run
type EventRunWorkflowJob ¶
type EventRunWorkflowJob struct { ID int64 `json:"id,omitempty"` Status string `json:"status,omitempty"` Start int64 `json:"start,omitempty"` Done int64 `json:"done,omitempty"` }
EventRunWorkflowJob contains event data for a workflow job node run
type EventRunWorkflowNode ¶
type EventRunWorkflowNode struct { ID int64 `json:"id,omitempty"` NodeID int64 `json:"node_id,omitempty"` RunID int64 `json:"run_id,omitempty"` Number int64 `json:"num,omitempty"` SubNumber int64 `json:"subnum,omitempty"` Status string `json:"status,omitempty"` Start int64 `json:"start,omitempty"` Done int64 `json:"done,omitempty"` Payload interface{} `json:"payload,omitempty"` HookEvent *WorkflowNodeRunHookEvent `json:"hook_event"` Manual *WorkflowNodeRunManual `json:"manual"` SourceNodeRuns []int64 `json:"source_node_runs"` WorkflowRunID int64 `json:"workflow_run_id"` RepositoryManagerName string `json:"repository_manager_name"` RepositoryFullName string `json:"repository_full_name"` Hash string `json:"hash"` Tag string `json:"tag"` BranchName string `json:"branch_name"` NodeName string `json:"node_name"` StagesSummary []StageSummary `json:"stages_summary"` HookUUID string `json:"hook_uuid"` HookLog string `json:"log,omitempty"` NodeType string `json:"node_type,omitempty"` GerritChange *GerritChangeEvent `json:"gerrit_change,omitempty"` EventIntegrations []int64 `json:"event_integrations_id,omitempty"` }
EventRunWorkflowNode contains event data for a workflow node run
type EventRunWorkflowOutgoingHook ¶
type EventRunWorkflowOutgoingHook struct { HookID int64 `json:"hook_id"` ID string `json:"id"` Status string `json:"status,omitempty"` Start int64 `json:"start,omitempty"` Done int64 `json:"done,omitempty"` Log string `json:"log,omitempty"` WorkflowRunID int64 `json:"workflow_run_id"` WorkflowRunNumber *int64 `json:"workflow_run_number,omitempty"` }
EventRunWorkflowOutgoingHook contains event data for a workflow outgoing hook run
type EventSubscription ¶
type EventSubscription struct { UUID string `json:"uuid"` ProjectKey string `json:"key"` WorkflowName string `json:"workflow_name"` WorkflowNum int64 `json:"num"` WorkflowRuns bool `json:"runs"` Overwrite bool `json:"overwrite"` }
EventSubscription data send to api to subscribe to an event
type EventWarningAdd ¶
type EventWarningAdd struct {
Warning
}
EventWarningAdd represents the event when adding a warning
type EventWarningDelete ¶
EventWarningDelete represents the event when deleting a warning
type EventWarningUpdate ¶
type EventWarningUpdate struct {
Warning
}
EventWarningUpdate represents the event when updating a warning
type EventWorkflowAdd ¶
type EventWorkflowAdd struct {
Workflow Workflow `json:"workflow"`
}
EventWorkflowAdd represents the event when adding a workflow
type EventWorkflowDelete ¶
type EventWorkflowDelete struct {
Workflow Workflow `json:"workflow"`
}
EventWorkflowDelete represents the event when deleting a workflow
type EventWorkflowPermissionAdd ¶
type EventWorkflowPermissionAdd struct { WorkflowID int64 `json:"workflow_id"` Permission GroupPermission `json:"group_permission"` }
EventWorkflowPermissionAdd represents the event when adding a workflow permission
type EventWorkflowPermissionDelete ¶
type EventWorkflowPermissionDelete struct { WorkflowID int64 `json:"workflow_id"` Permission GroupPermission `json:"group_permission"` }
EventWorkflowPermissionDelete represents the event when deleting a workflow permission
type EventWorkflowPermissionUpdate ¶
type EventWorkflowPermissionUpdate struct { WorkflowID int64 `json:"workflow_id"` OldPermission GroupPermission `json:"old_group_permission"` NewPermission GroupPermission `json:"new_group_permission"` }
EventWorkflowPermissionUpdate represents the event when updating a workflow permission
type EventWorkflowTemplateAdd ¶
type EventWorkflowTemplateAdd struct {
WorkflowTemplate WorkflowTemplate `json:"workflow_template"`
}
EventWorkflowTemplateAdd represents the event when adding a workflow template.
type EventWorkflowTemplateInstanceAdd ¶
type EventWorkflowTemplateInstanceAdd struct {
WorkflowTemplateInstance WorkflowTemplateInstance `json:"workflow_template_instance"`
}
EventWorkflowTemplateInstanceAdd represents the event when adding a workflow template instance.
type EventWorkflowTemplateInstanceUpdate ¶
type EventWorkflowTemplateInstanceUpdate struct { OldWorkflowTemplateInstance WorkflowTemplateInstance `json:"old_workflow_template_instance"` NewWorkflowTemplateInstance WorkflowTemplateInstance `json:"new_workflow_template_instance"` }
EventWorkflowTemplateInstanceUpdate represents the event when updating a workflow template instance.
type EventWorkflowTemplateUpdate ¶
type EventWorkflowTemplateUpdate struct { OldWorkflowTemplate WorkflowTemplate `json:"old_workflow_template"` NewWorkflowTemplate WorkflowTemplate `json:"new_workflow_template"` ChangeMessage string `json:"change_message"` }
EventWorkflowTemplateUpdate represents the event when updating a workflow template.
type EventWorkflowUpdate ¶
type EventWorkflowUpdate struct { NewWorkflow Workflow `json:"new_workflow"` OldWorkflow Workflow `json:"old_workflow"` }
EventWorkflowUpdate represents the event when updating a workflow
type ExecutedJob ¶
type ExecutedJob struct { Job StepStatus []StepStatus `json:"step_status" db:"-"` Reason string `json:"reason" db:"-"` WorkerName string `json:"worker_name" db:"-"` WorkerID string `json:"worker_id" db:"-"` }
ExecutedJob represents a running job
func (ExecutedJob) ToSummary ¶
func (j ExecutedJob) ToSummary() ExecutedJobSummary
ToSummary transforms an ExecutedJob to an ExecutedJobSummary
type ExecutedJobSummary ¶
type ExecutedJobSummary struct { StepStatusSummary []StepStatusSummary `json:"step_status"` Reason string `json:"reason"` WorkerName string `json:"worker_name"` WorkerID string `json:"worker_id"` JobName string `json:"job_name"` PipelineActionID int64 `json:"pipeline_action_id"` PipelineStageID int64 `json:"pipeline_stage_id"` Steps []ActionSummary `json:"steps"` }
ExecutedJobSummary is a light representation of ExecutedJob for CDS event
type Favorite ¶
type Favorite struct { ProjectIDs []int64 `json:"project_ids" yaml:"project_ids"` WorkflowIDs []int64 `json:"workflow_ids" yaml:"workflow_ids"` }
Favorite represent the favorites workflow or project of the user
type FavoriteParams ¶
type FavoriteParams struct { Type string `json:"type"` ProjectKey string `json:"project_key"` WorkflowName string `json:"workflow_name,omitempty"` }
FavoriteParams represents a project or workflow user's bookmark
type Feature ¶
type Feature struct { ID int64 `json:"id" db:"id" cli:"-" yaml:"-"` Name FeatureName `json:"name" db:"name" cli:"name" yaml:"name"` Rule string `json:"rule" db:"rule" cli:"-" yaml:"rule"` }
type FeatureEnabledResponse ¶
type FeatureEnabledResponse struct { Name FeatureName `json:"name"` Enabled bool `json:"enabled"` Exists bool `json:"exists"` }
type FeatureName ¶
type FeatureName string
const ( FeatureMFARequired FeatureName = "mfa_required" FeaturePurgeName FeatureName = "workflow-retention-policy" FeaturePurgeMaxRuns FeatureName = "workflow-retention-maxruns" FeatureTracing FeatureName = "tracing" FeatureWorkflowV3 FeatureName = "workflow-v3" FeatureRegion FeatureName = "region" FeatureCDSAsCode FeatureName = "all-as-code" )
type FileChildren ¶ added in v0.52.0
type FileInfo ¶
type FileInfo struct { Checksums *FileInfoChecksum `json:"checksums,omitempty"` Created time.Time `json:"created"` CreatedBy string `json:"createdBy"` DownloadURI string `json:"downloadUri"` LastModified time.Time `json:"lastModified"` LastUpdated time.Time `json:"lastUpdated"` MimeType string `json:"mimeType"` ModifiedBy string `json:"modifiedBy"` OriginalChecksums *FileInfoChecksum `json:"originalChecksums,omitempty"` Path string `json:"path"` RemoteURL string `json:"remoteUrl"` Repo string `json:"repo"` SizeString string `json:"size"` Size int64 URI string `json:"uri"` }
type FileInfoChecksum ¶ added in v0.52.0
type FullEventV2 ¶ added in v0.53.1
type FullEventV2 struct { ID string `json:"id"` Type string `json:"type"` Payload json.RawMessage `json:"payload"` ProjectKey string `json:"project_key,omitempty"` VCSName string `json:"vcs_name,omitempty"` Repository string `json:"repository,omitempty"` Workflow string `json:"workflow,omitempty"` WorkflowRunID string `json:"workflow_run_id,omitempty"` RunJobID string `json:"run_job_id,omitempty"` RunNumber int64 `json:"run_number,omitempty"` RunAttempt int64 `json:"run_attempt,omitempty"` Region string `json:"region,omitempty"` Hatchery string `json:"hatchery,omitempty"` ModelType string `json:"model_type,omitempty"` JobID string `json:"job_id,omitempty"` Status string `json:"status,omitempty"` UserID string `json:"user_id,omitempty"` Username string `json:"username,omitempty"` RunResult string `json:"run_result,omitempty"` Entity string `json:"entity,omitempty"` Organization string `json:"organization,omitempty"` Permission string `json:"permission,omitempty"` Plugin string `json:"plugin,omitempty"` GPGKey string `json:"gpg_key,omitempty"` IntegrationModel string `json:"integration_model,omitempty"` Integration string `json:"integration,omitempty"` KeyName string `json:"key_name,omitempty"` KeyType string `json:"key_type,omitempty"` Variable string `json:"variable,omitempty"` Notification string `json:"notification,omitempty"` VariableSet string `json:"variable_set,omitempty"` Item string `json:"item,omitempty"` }
FullEventV2 uses to process event
type GRPCPlugin ¶
type GRPCPlugin struct { ID int64 `json:"id" yaml:"id" cli:"id" db:"id"` Name string `json:"name" yaml:"name" cli:"name,key" db:"name"` Type string `json:"type" yaml:"type" cli:"type" db:"type"` Author string `json:"author" yaml:"author" cli:"author" db:"author"` Description string `json:"description" yaml:"description" cli:"description" db:"description"` Inputs PluginInputs `json:"inputs,omitempty" yaml:"inputs,omitempty" cli:"inputs" db:"inputs"` Binaries GRPCPluginBinaries `json:"binaries" yaml:"binaries" cli:"-" db:"binaries"` IntegrationModelID *int64 `json:"-" db:"integration_model_id" yaml:"-" cli:"-"` Integration string `json:"integration" db:"-" yaml:"integration" cli:"integration"` }
GRPCPlugin is the type representing a plugin over GRPC
func (GRPCPlugin) GetBinary ¶
func (p GRPCPlugin) GetBinary(os, arch string) *GRPCPluginBinary
GetBinary returns the binary for a specific os and arch
func (*GRPCPlugin) Validate ¶
func (p *GRPCPlugin) Validate() error
type GRPCPluginBinaries ¶
type GRPCPluginBinaries []GRPCPluginBinary
func (*GRPCPluginBinaries) Scan ¶
func (b *GRPCPluginBinaries) Scan(src interface{}) error
Scan plugin binaries.
type GRPCPluginBinary ¶
type GRPCPluginBinary struct { OS string `json:"os,omitempty" yaml:"os"` Arch string `json:"arch,omitempty" yaml:"arch"` Name string `json:"name,omitempty" yaml:"-"` ObjectPath string `json:"object_path,omitempty" yaml:"-"` Size int64 `json:"size,omitempty" yaml:"-"` Perm uint32 `json:"perm,omitempty" yaml:"-"` MD5sum string `json:"md5sum,omitempty" yaml:"-"` SHA512sum string `json:"sha512sum,omitempty" yaml:"-"` TempURL string `json:"temp_url,omitempty" yaml:"-"` TempURLSecretKey string `json:"-" yaml:"-"` Entrypoints []string `json:"entrypoints,omitempty" yaml:"entrypoints"` Cmd string `json:"cmd,omitempty" yaml:"cmd"` Args []string `json:"args,omitempty" yaml:"args"` Requirements RequirementList `json:"requirements,omitempty" yaml:"requirements"` FileContent []byte `json:"file_content,omitempty" yaml:"-"` //only used for upload PluginName string `json:"plugin_name,omitempty" yaml:"-"` }
GRPCPluginBinary represents a binary file (for a specific os and arch) serving a GRPCPlugin
func (GRPCPluginBinary) GetName ¶
func (b GRPCPluginBinary) GetName() string
GetName is a part of the objectstore.Object interface implementation
func (GRPCPluginBinary) GetPath ¶
func (b GRPCPluginBinary) GetPath() string
GetPath is a part of the objectstore.Object interface implementation
type GateInputs ¶ added in v0.53.1
type GateInputs map[string]interface{}
func (*GateInputs) Scan ¶ added in v0.53.1
func (gi *GateInputs) Scan(src interface{}) error
type GenerateRepositoryWebhook ¶ added in v0.53.1
type GenerateRepositoryWebhook struct {
Key string `json:"key"`
}
type GerritChangeEvent ¶
type GerritChangeEvent struct { ID string `json:"id,omitempty"` Project string `json:"project,omitempty"` DestBranch string `json:"dest_branch,omitempty"` Revision string `json:"revision,omitempty"` Report string `json:"report,omitempty"` URL string `json:"url,omitempty"` }
GerritChangeEvent Gerrit information that are needed on event
type GerritEventExecution ¶
type GerritEventExecution struct {
Message []byte `json:"message"`
}
GerritEventExecution contains specific data for a gerrit event execution
type GitContext ¶ added in v0.53.0
type GitContext struct { Server string `json:"server,omitempty"` Repository string `json:"repository,omitempty"` RepositoryURL string `json:"repositoryUrl,omitempty"` Ref string `json:"ref,omitempty"` RefName string `json:"ref_name,omitempty"` Sha string `json:"sha,omitempty"` RefType string `json:"ref_type,omitempty"` Connection string `json:"connection,omitempty"` SSHKey string `json:"ssh_key,omitempty"` SSHPrivate string `json:"ssh_private,omitempty"` Username string `json:"username,omitempty"` Token string `json:"token,omitempty"` SemverCurrent string `json:"semver_current,omitempty"` SemverNext string `json:"semver_next,omitempty"` }
type GlobalEventV2 ¶ added in v0.53.1
type GlobalEventV2 struct { ID string `json:"id"` Type string `json:"type"` Payload json.RawMessage `json:"payload"` }
type GoRoutines ¶
type GoRoutines struct {
// contains filtered or unexported fields
}
GoRoutines contains list of routines that have to stay up
func NewGoRoutines ¶
func NewGoRoutines(ctx context.Context) *GoRoutines
NewGoRoutines instanciates a new GoRoutineManager
func (*GoRoutines) GetStatus ¶
func (m *GoRoutines) GetStatus() []MonitoringStatusLine
GetStatus returns the monitoring status of goroutines that should be running
func (*GoRoutines) GoRoutine ¶
func (m *GoRoutines) GoRoutine(name string) *GoRoutine
func (*GoRoutines) Run ¶
Run runs the function within a goroutine with a panic recovery, and keep GoRoutine status.
func (*GoRoutines) RunWithRestart ¶
RunWithRestart runs the function within a goroutine with a panic recovery, and keep GoRoutine status. if the goroutine is stopped, it will ne restarted
func (*GoRoutines) Stop ¶ added in v0.53.1
func (m *GoRoutines) Stop(name string)
type Group ¶
type Group struct { ID int64 `json:"id" yaml:"-" db:"id"` Name string `json:"name" yaml:"name" cli:"name,key" db:"name"` // aggregate Members GroupMembers `json:"members,omitempty" yaml:"members,omitempty" db:"-"` Admin bool `json:"admin,omitempty" yaml:"admin,omitempty" db:"-"` Organization string `json:"organization,omitempty" yaml:"organization,omitempty" cli:"organization" db:"-"` }
Group represent a group of user.
func (Group) IsAdmin ¶
func (g Group) IsAdmin(u AuthentifiedUser) bool
IsAdmin checks if given authentified user is admin for current group, group should have members aggregated.
type GroupMember ¶
type GroupMember struct { ID string `json:"id" yaml:"id" cli:"id,key"` Username string `json:"username" yaml:"username" cli:"username"` Fullname string `json:"fullname" yaml:"fullname,omitempty" cli:"fullname"` Admin bool `json:"admin,omitempty" yaml:"admin,omitempty" cli:"admin"` Organization string `json:"organization,omitempty" yaml:"organization,omitempty" cli:"organization"` }
GroupMember struct.
type GroupMembers ¶
type GroupMembers []GroupMember
func (GroupMembers) CheckAdminExists ¶
func (m GroupMembers) CheckAdminExists() error
func (GroupMembers) ComputeOrganization ¶
func (m GroupMembers) ComputeOrganization() (string, error)
func (GroupMembers) DiffUserIDs ¶
func (m GroupMembers) DiffUserIDs(o GroupMembers) []string
func (GroupMembers) IsValid ¶
func (m GroupMembers) IsValid() error
func (GroupMembers) UserIDs ¶
func (m GroupMembers) UserIDs() []string
type GroupPermission ¶
GroupPermission represent a group and his role in the project
func (GroupPermission) IsValid ¶
func (g GroupPermission) IsValid() error
IsValid returns an error if group permission is not valid.
type GroupPermissions ¶
type GroupPermissions []GroupPermission
func (GroupPermissions) ComputeOrganization ¶
func (g GroupPermissions) ComputeOrganization() (string, error)
func (GroupPermissions) GetByGroupID ¶ added in v0.52.0
func (g GroupPermissions) GetByGroupID(groupID int64) *GroupPermission
type Groups ¶
type Groups []Group
Groups type provides useful func on group list.
type Hatchery ¶ added in v0.53.0
type Hatchery struct { ID string `json:"id" db:"id" cli:"id,key"` Name string `json:"name" db:"name" cli:"name"` ModelType string `json:"model_type" db:"model_type" cli:"model_type"` Config ServiceConfig `json:"config" db:"config"` LastHeartbeat time.Time `json:"last_heartbeat,omitempty" db:"last_heartbeat" cli:"last_heartbeat"` PublicKey []byte `json:"public_key" db:"public_key"` HTTPURL string `json:"http_url" db:"http_url"` }
type HatcheryConfig ¶ added in v0.53.0
type HatcheryConfig map[string]interface{}
func (*HatcheryConfig) Scan ¶ added in v0.53.0
func (hc *HatcheryConfig) Scan(src interface{}) error
type HatcheryEvent ¶ added in v0.53.1
type HatcheryEvent struct { GlobalEventV2 Hatchery string `json:"hatchery"` UserID string `json:"user_id,omitempty"` Username string `json:"username,omitempty"` }
type HatcheryGetResponse ¶ added in v0.53.1
type HatcheryMetrics ¶ added in v0.53.1
type HatcheryMetrics struct { Jobs *stats.Int64Measure JobsWebsocket *stats.Int64Measure JobsProcessed *stats.Int64Measure SpawningWorkers *stats.Int64Measure SpawnedWorkers *stats.Int64Measure SpawningWorkersErrors *stats.Int64Measure JobReceivedInQueuePollingWSv1 *stats.Int64Measure JobReceivedInQueuePollingWSv2 *stats.Int64Measure ChanV1JobAdd *stats.Int64Measure ChanV2JobAdd *stats.Int64Measure ChanWorkerStarterPop *stats.Int64Measure PendingWorkers *stats.Int64Measure RegisteringWorkers *stats.Int64Measure CheckingWorkers *stats.Int64Measure WaitingWorkers *stats.Int64Measure BuildingWorkers *stats.Int64Measure DisabledWorkers *stats.Int64Measure }
type HatcheryPendingWorkerCreation ¶ added in v0.53.1
type HatcheryPendingWorkerCreation struct {
// contains filtered or unexported fields
}
func (*HatcheryPendingWorkerCreation) Init ¶ added in v0.53.1
func (c *HatcheryPendingWorkerCreation) Init()
func (*HatcheryPendingWorkerCreation) IsJobAlreadyPendingWorkerCreation ¶ added in v0.53.1
func (c *HatcheryPendingWorkerCreation) IsJobAlreadyPendingWorkerCreation(id string) bool
func (*HatcheryPendingWorkerCreation) NbJobInPendingWorkerCreation ¶ added in v0.53.1
func (c *HatcheryPendingWorkerCreation) NbJobInPendingWorkerCreation() int
func (*HatcheryPendingWorkerCreation) RemoveJobFromPendingWorkerCreation ¶ added in v0.53.1
func (c *HatcheryPendingWorkerCreation) RemoveJobFromPendingWorkerCreation(id string)
func (*HatcheryPendingWorkerCreation) SetJobInPendingWorkerCreation ¶ added in v0.53.1
func (c *HatcheryPendingWorkerCreation) SetJobInPendingWorkerCreation(id string) int
type HatcheryStatus ¶ added in v0.53.0
type HatcheryStatus struct { ID int64 `json:"id" db:"id" cli:"id,key"` HatcheryID string `json:"hatchery_id" db:"hatchery_id" cli:"hatchery_id"` SessionID string `json:"session_id" db:"session_id" cli:"session_id"` Status MonitoringStatus `json:"monitoring_status" db:"monitoring_status"` }
type Hook ¶ added in v0.52.0
type Hook struct { UUID string `json:"uuid"` HookType string `json:"hook_type"` Configuration HookConfiguration `json:"configuration"` HookSignKey string `json:"hook_sign_key,omitempty"` }
type HookAccessData ¶ added in v0.52.0
type HookAnalysisCallback ¶ added in v0.53.1
type HookAnalysisCallback struct { AnalysisID string `json:"analysis_id"` AnalysisStatus string `json:"analysis_status"` Error string `json:"error"` Models []EntityFullName `json:"models"` Workflows []EntityFullName `json:"workflows"` }
type HookConfigValue ¶ added in v0.52.0
type HookConfigValue struct { Value string `json:"value"` Configurable bool `json:"configurable"` Type string `json:"type"` MultipleChoiceList []string `json:"multiple_choice_list"` }
HookConfigValue represents the value of a node hook config
type HookConfiguration ¶ added in v0.52.0
type HookConfiguration map[string]WorkflowNodeHookConfigValue
func (*HookConfiguration) Scan ¶ added in v0.52.0
func (hc *HookConfiguration) Scan(src interface{}) error
type HookEventCallback ¶ added in v0.53.1
type HookEventCallback struct { AnalysisCallback *HookAnalysisCallback `json:"analysis_callback"` SigningKeyCallback *HookSigninKeyCallback `json:"signing_key_callback"` HookEventUUID string `json:"hook_event_uuid"` VCSServerType string `json:"vcs_server_type"` VCSServerName string `json:"vcs_server_name"` RepositoryName string `json:"repository_name"` }
type HookListWorkflowRequest ¶ added in v0.53.1
type HookListWorkflowRequest struct { HookEventUUID string `json:"hook_event_uuid"` VCSName string `json:"vcs_name"` RepositoryName string `json:"repository_name"` Ref string `json:"ref"` Sha string `json:"sha"` Paths []string `json:"paths"` RepositoryEventName string `json:"repository_event"` RepositoryEventType string `json:"repository_event_type"` AnayzedProjectKeys StringSlice `json:"project_keys"` Models []EntityFullName `json:"models"` Workflows []EntityFullName `json:"workflows"` }
type HookManualWorkflowRun ¶ added in v0.53.1
type HookRepository ¶ added in v0.53.1
type HookRepositoryEvent ¶ added in v0.53.1
type HookRepositoryEvent struct { UUID string `json:"uuid"` Created int64 `json:"created"` EventName string `json:"event_name"` // WorkflowHookEventPush, sdk.WorkflowHookEventPullRequest EventType string `json:"event_type"` // created, deleted, edited, opened VCSServerType string `json:"vcs_server_type"` VCSServerName string `json:"vcs_server_name"` RepositoryName string `json:"repository_name"` Body []byte `json:"body"` ExtractData HookRepositoryEventExtractData `json:"extracted_data"` Status string `json:"status"` ProcessingTimestamp int64 `json:"processing_timestamp"` LastUpdate int64 `json:"last_update"` LastError string `json:"last_error"` NbErrors int64 `json:"nb_errors"` Analyses []HookRepositoryEventAnalysis `json:"analyses"` ModelUpdated []EntityFullName `json:"model_updated"` WorkflowUpdated []EntityFullName `json:"workflow_updated"` WorkflowHooks []HookRepositoryEventWorkflow `json:"workflows"` UserID string `json:"user_id"` Username string `json:"username"` SignKey string `json:"sign_key"` SigningKeyOperation string `json:"signing_key_operation"` SigningKeyOperationStatus OperationStatus `json:"signing_key_operation_status"` SemverCurrent string `json:"semver_current"` SemverNext string `json:"semver_next"` }
func (*HookRepositoryEvent) GetFullName ¶ added in v0.53.1
func (h *HookRepositoryEvent) GetFullName() string
type HookRepositoryEventAnalysis ¶ added in v0.53.1
type HookRepositoryEventExtractData ¶ added in v0.53.1
type HookRepositoryEventExtractData struct { CDSEventName string `json:"cds_event_name"` CDSEventType string `json:"cds_event_type"` Commit string `json:"commit"` Paths []string `json:"paths"` Ref string `json:"ref"` ProjectManual string `json:"manual_project"` WorkflowManual string `json:"manual_workflow"` }
type HookRepositoryEventWorkflow ¶ added in v0.53.1
type HookRepositoryEventWorkflow struct { ProjectKey string `json:"project_key"` VCSIdentifier string `json:"vcs_identifier"` RepositoryIdentifier string `json:"repository_identifier"` WorkflowName string `json:"workflow_name"` EntityID string `json:"entity_id"` Ref string `json:"ref"` Type string `json:"type"` Status string `json:"status"` TargetBranch string `json:"target_branch,omitempty"` TargetCommit string `json:"target_commit,omitempty"` ModelFullName string `json:"model,omitempty"` RunID string `json:"run_id,omitempty"` RunNumber int64 `json:"run_number,omitempty"` }
type HookRetrieveSignKeyRequest ¶ added in v0.53.1
type HookRetrieveSignKeyRequest struct { ProjectKey string `json:"projectKey"` VCSServerType string `json:"vcs_server_type"` VCSServerName string `json:"vcs_server_name"` RepositoryName string `json:"repository_name"` Commit string `json:"commit"` Ref string `json:"ref"` HookEventUUID string `json:"hook_event_uuid"` }
type HookRetrieveUserRequest ¶ added in v0.53.1
type HookRetrieveUserRequest struct { ProjectKey string `json:"projectKey"` VCSServerType string `json:"vcs_server_type"` VCSServerName string `json:"vcs_server_name"` RepositoryName string `json:"repository_name"` Commit string `json:"commit"` SignKey string `json:"sign_key"` HookEventUUID string `json:"hook_event_uuid"` }
type HookRetrieveUserResponse ¶ added in v0.53.1
type HookSigninKeyCallback ¶ added in v0.53.1
type HookSigninKeyCallback struct { Status OperationStatus `json:"status"` SignKey string `json:"sign_key"` SemverCurrent string `json:"semver_current"` SemverNext string `json:"semver_next"` Error string `json:"error"` }
type IDName ¶
type IDName struct { ID int64 `json:"id" db:"id"` Name string `json:"name" db:"name"` Description string `json:"description,omitempty" db:"description"` Icon string `json:"icon,omitempty" db:"icon"` Labels []Label `json:"labels,omitempty" db:"-"` }
IDName is generally used when you want to get basic informations from db
type Identifiable ¶
type Int64Slice ¶
type Int64Slice []int64
Int64Slice type used for database json storage.
func (*Int64Slice) Contains ¶
func (s *Int64Slice) Contains(v int64) bool
Contains return true if given value is in the slice.
func (*Int64Slice) Remove ¶
func (s *Int64Slice) Remove(v int64)
Remove all occurrences of given value from the slice.
type IntegrationConfig ¶
type IntegrationConfig map[string]IntegrationConfigValue
IntegrationConfig represent the configuration of an integration
func (IntegrationConfig) Blur ¶
func (config IntegrationConfig) Blur()
func (IntegrationConfig) Clone ¶
func (config IntegrationConfig) Clone() IntegrationConfig
Clone return a copy of the config (with a copy of the underlying data structure)
func (IntegrationConfig) DecryptSecrets ¶
func (config IntegrationConfig) DecryptSecrets(decryptFunc func(string) (string, error)) error
DecryptSecrets decrypt secrets given a cypher func
func (IntegrationConfig) EncryptSecrets ¶
func (config IntegrationConfig) EncryptSecrets(encryptFunc func(string) (string, error)) error
EncryptSecrets encrypt secrets given a cypher func
func (*IntegrationConfig) HideSecrets ¶
func (config *IntegrationConfig) HideSecrets()
HideSecrets replaces password with a placeholder
func (IntegrationConfig) MergeWith ¶
func (config IntegrationConfig) MergeWith(cfg IntegrationConfig)
MergeWith set new values from new config and update existing values if not default.
func (*IntegrationConfig) Scan ¶
func (config *IntegrationConfig) Scan(src interface{}) error
Scan IntegrationConfig.
func (IntegrationConfig) SetValue ¶
func (config IntegrationConfig) SetValue(name string, value string)
Set value
type IntegrationConfigMap ¶
type IntegrationConfigMap map[string]IntegrationConfig
func (IntegrationConfigMap) Blur ¶
func (config IntegrationConfigMap) Blur()
func (IntegrationConfigMap) Clone ¶
func (config IntegrationConfigMap) Clone() IntegrationConfigMap
func (*IntegrationConfigMap) Scan ¶
func (config *IntegrationConfigMap) Scan(src interface{}) error
Scan IntegrationConfig.
type IntegrationConfigValue ¶
type IntegrationConfigValue struct { Value string `json:"value" yaml:"value"` Type string `json:"type" yaml:"type"` Description string `json:"description,omitempty" yaml:"description,omitempty"` Static bool `json:"static,omitempty" yaml:"static,omitempty"` }
IntegrationConfigValue represent a configuration value for a integration
type IntegrationModel ¶
type IntegrationModel struct { ID int64 `json:"id" db:"id" yaml:"-" cli:"-"` Name string `json:"name" db:"name" yaml:"name" cli:"name,key"` Author string `json:"author" db:"author" yaml:"author" cli:"author"` Identifier string `json:"identifier" db:"identifier" yaml:"identifier,omitempty"` Icon string `json:"icon" db:"icon" yaml:"icon"` DefaultConfig IntegrationConfig `json:"default_config" db:"default_config" yaml:"default_config"` AdditionalDefaultConfig IntegrationConfig `json:"additional_default_config" db:"additional_default_config" yaml:"additional_default_config"` PublicConfigurations IntegrationConfigMap `json:"public_configurations,omitempty" db:"cipher_public_configurations" yaml:"public_configurations"` Disabled bool `json:"disabled" db:"disabled" yaml:"disabled"` Hook bool `json:"hook" db:"hook" yaml:"hook" cli:"hooks_supported"` Storage bool `json:"storage" db:"storage" yaml:"storage" cli:"storage supported"` Deployment bool `json:"deployment" db:"deployment" yaml:"deployment" cli:"deployment_supported"` Compute bool `json:"compute" db:"compute" yaml:"compute" cli:"compute_supported"` Event bool `json:"event" db:"event" yaml:"event" cli:"event_supported"` ArtifactManager bool `json:"artifact_manager" db:"artifact_manager" yaml:"artifact_manager" cli:"artifact_manager_supported"` Public bool `json:"public,omitempty" db:"public" yaml:"public,omitempty"` }
IntegrationModel represent a integration model with its default configuration
func (*IntegrationModel) Blur ¶
func (p *IntegrationModel) Blur()
func (IntegrationModel) IsBuiltin ¶
func (p IntegrationModel) IsBuiltin() bool
IsBuiltin checks is the model is builtin or not
type IntegrationModelEvent ¶ added in v0.53.1
type IntegrationModelEvent struct { GlobalEventV2 IntegrationModel string `json:"integration_model"` UserID string `json:"user_id"` Username string `json:"username"` }
type IntegrationType ¶
type IntegrationType string
IntegrationType represents all different type of integrations
type ItemProperty ¶ added in v0.53.0
type JUnitInnerResult ¶ added in v0.52.0
type JUnitInnerResult struct {
Value string `xml:",cdata" json:"value,omitempty" mapstructure:"value"`
}
type JUnitTestCase ¶ added in v0.52.0
type JUnitTestCase struct { XMLName xml.Name `xml:"testcase" json:"-"` Classname string `xml:"classname,attr,omitempty" json:"classname,omitempty" mapstructure:"classname"` Errors []JUnitTestFailure `xml:"error,omitempty" json:"errors,omitempty" mapstructure:"errors"` Failures []JUnitTestFailure `xml:"failure,omitempty" json:"failures,omitempty" mapstructure:"failures"` Name string `xml:"name,attr" json:"name,omitempty" mapstructure:"name"` Skipped []JUnitTestSkipped `xml:"skipped,omitempty" json:"skipped,omitempty" mapstructure:"skipped"` Status string `xml:"status,attr,omitempty" json:"status,omitempty" mapstructure:"status"` Systemerr JUnitInnerResult `xml:"system-err,omitempty" json:"systemerr,omitempty" mapstructure:"systemerr"` Systemout JUnitInnerResult `xml:"system-out,omitempty" json:"systemout,omitempty" mapstructure:"systemout"` Time string `xml:"time,attr,omitempty" json:"time,omitempty" mapstructure:"time"` }
type JUnitTestFailure ¶ added in v0.52.0
type JUnitTestSkipped ¶ added in v0.52.0
type JUnitTestSuite ¶ added in v0.52.0
type JUnitTestSuite struct { XMLName xml.Name `xml:"testsuite" json:"-"` Disabled int `xml:"disabled,attr,omitempty" json:"disabled,omitempty" mapstructure:"disabled"` Errors int `xml:"errors,attr,omitempty" json:"errors,omitempty" mapstructure:"errors"` Failures int `xml:"failures,attr,omitempty" json:"failures,omitempty" mapstructure:"failures"` ID string `xml:"id,attr" json:"id,omitempty" mapstructure:"id"` Name string `xml:"name,attr" json:"name,omitempty" mapstructure:"name"` Package string `xml:"package,attr,omitempty" json:"package,omitempty" mapstructure:"package"` Skipped int `xml:"skipped,attr,omitempty" json:"skipped,omitempty" mapstructure:"skipped"` TestCases []JUnitTestCase `xml:"testcase" json:"tests,omitempty" mapstructure:"tests"` Time string `xml:"time,attr,omitempty" json:"time,omitempty" mapstructure:"time"` Timestamp string `xml:"timestamp,attr,omitempty" json:"timestamp,omitempty" mapstructure:"timestamp"` Total int `xml:"tests,attr" json:"total,omitempty" mapstructure:"total"` }
type JUnitTestsSuites ¶ added in v0.52.0
type JUnitTestsSuites struct { XMLName xml.Name `xml:"testsuites" json:"-"` TestSuites []JUnitTestSuite `xml:"testsuite" json:"test_suites" mapstructure:"test_suites"` }
func (JUnitTestsSuites) ComputeStats ¶ added in v0.52.0
func (s JUnitTestsSuites) ComputeStats() TestsStats
func (JUnitTestsSuites) EnsureData ¶ added in v0.52.0
func (s JUnitTestsSuites) EnsureData() JUnitTestsSuites
EnsureData add missing names on test cases and suites also compute test suites total values from test cases data.
type Job ¶
type Job struct { PipelineActionID int64 `json:"pipeline_action_id"` PipelineStageID int64 `json:"pipeline_stage_id"` Enabled bool `json:"enabled"` LastModified int64 `json:"last_modified"` Action Action `json:"action"` Warnings []PipelineBuildWarning `json:"warnings"` }
Job is the element of a stage
type JobContext ¶ added in v0.53.0
type JobContext struct { // Update by worker Status string `json:"status"` // Set by hatchery Services map[string]JobContextService `json:"services"` }
type JobContextService ¶ added in v0.53.0
type JobIntegrationsContext ¶ added in v0.53.1
type JobIntegrationsContext struct { ArtifactManager string `json:"artifact_manager,omitempty"` Deployment string `json:"deployment,omitempty"` }
func (JobIntegrationsContext) All ¶ added in v0.53.1
func (c JobIntegrationsContext) All() []string
type JobResultContext ¶ added in v0.53.0
type JobResultContext struct { Result V2WorkflowRunJobStatus `json:"result"` Outputs JobResultOutput `json:"outputs"` }
type JobResultOutput ¶ added in v0.53.0
func (*JobResultOutput) Scan ¶ added in v0.53.0
func (jro *JobResultOutput) Scan(src interface{}) error
type JobRunContext ¶ added in v0.53.0
type JobRunContext struct { NodeRunContext Job JobContext `json:"job,omitempty"` Secrets map[string]string `json:"secrets,omitempty"` }
func (*JobRunContext) Scan ¶ added in v0.53.0
func (m *JobRunContext) Scan(src interface{}) error
type JobStepStatus ¶ added in v0.53.1
type JobStepStatus struct { Conclusion V2WorkflowRunJobStatus `json:"conclusion"` // result of a step after 'continue-on-error' Outcome V2WorkflowRunJobStatus `json:"outcome"` // result of a step before 'continue-on-error' Outputs JobResultOutput `json:"outputs"` Started time.Time `json:"started"` Ended time.Time `json:"ended"` }
type JobStepsStatus ¶ added in v0.53.1
type JobStepsStatus map[string]JobStepStatus
func (*JobStepsStatus) Scan ¶ added in v0.53.1
func (sc *JobStepsStatus) Scan(src interface{}) error
func (JobStepsStatus) ToStepContext ¶ added in v0.53.1
func (s JobStepsStatus) ToStepContext() StepsContext
type JobsResultContext ¶ added in v0.53.0
type JobsResultContext map[string]JobResultContext
type KafkaTaskExecution ¶
type KafkaTaskExecution struct {
Message []byte `json:"message"`
}
KafkaTaskExecution contains specific data for a kafka hook
type Key ¶
type Key struct { ID int64 `json:"id" db:"id" cli:"-"` Name string `json:"name" db:"name" cli:"name"` Public string `json:"public" db:"public" cli:"publickey"` Private string `json:"private" db:"private" cli:"-"` KeyID string `json:"keyID" db:"key_id" cli:"-"` Type KeyType `json:"type" db:"type" cli:"type"` }
Key represent a key of type SSH or GPG.
type KeyEvent ¶ added in v0.53.1
type KeyEvent struct { ProjectEventV2 KeyName string `json:"key_name"` KeyType string `json:"key_type"` UserID string `json:"user_id"` Username string `json:"username"` }
type Label ¶
type Label struct { ID int64 `json:"id" db:"id"` Name string `json:"name" db:"name" cli:"label,key"` Color string `json:"color" db:"color"` ProjectID int64 `json:"project_id" db:"project_id"` WorkflowID int64 `json:"workflow_id,omitempty" db:"-"` }
Label represent a label linked to a workflow
type LastModification ¶
type LastModification struct { Key string `json:"key,omitempty"` Name string `json:"name"` Username string `json:"username"` LastModified int64 `json:"last_modified"` Type string `json:"type,omitempty"` }
LastModification is stored in cache and used for ProjectLastUpdates computing
type MergeCommitProperty ¶
type Message ¶
Message represent a struc format translated messages
func ErrorToMessage ¶
ErrorToMessage returns message from an error if possible
func NewMessage ¶
NewMessage instanciantes a new message
func (Message) ToSpawnMsg ¶
type Metric ¶
type Metric struct { ProjectKey string `json:"project_key"` ApplicationID int64 `json:"application_id"` WorkflowID int64 `json:"workflow_id"` Key string `json:"key"` Value map[string]float64 `json:"value"` Date time.Time `json:"timestamp"` Num int64 `json:"run"` }
Metric represent a CDS metric
type MetricRequest ¶
type MetricRequest struct { ProjectKey string `json:"project_key"` ApplicationID int64 `json:"application_id"` WorkflowID int64 `json:"workflow_id"` Key string `json:"key"` }
MetricRequest represents the request to retrieve metrics
type Migration ¶
type Migration struct { ID int64 `json:"id" db:"id" cli:"id"` Name string `json:"name" db:"name" cli:"name"` Status string `json:"status" db:"status" cli:"status"` Progress string `json:"progress" db:"progress" cli:"progress"` Error string `json:"error" db:"error" cli:"error"` Automatic bool `json:"automatic" db:"mandatory" cli:"automatic"` Created time.Time `json:"created" db:"created" cli:"created"` Done time.Time `json:"done" db:"done" cli:"done"` Release string `json:"release" db:"release" cli:"release"` Major uint64 `json:"major" db:"major" cli:"major"` Minor uint64 `json:"minor" db:"minor" cli:"minor"` Patch uint64 `json:"patch" db:"patch" cli:"patch"` Blocker bool `json:"-" db:"-" cli:"-"` ExecFunc func(ctx context.Context) error `json:"-" db:"-" cli:"-" yaml:"-"` }
Migration represent a CDS migration
type Model ¶
type Model struct { ID int64 `json:"id" db:"id" cli:"-"` Name string `json:"name" db:"name" cli:"name,key"` Description string `json:"description" db:"description" cli:"description"` Type string `json:"type" db:"type" cli:"type"` Disabled bool `json:"disabled" db:"disabled" cli:"disabled"` Restricted bool `json:"restricted" db:"restricted" cli:"restricted"` RegisteredOS *string `json:"registered_os" db:"registered_os" cli:"-"` RegisteredArch *string `json:"registered_arch" db:"registered_arch" cli:"-"` NeedRegistration bool `json:"need_registration" db:"need_registration" cli:"-"` LastRegistration time.Time `json:"last_registration" db:"last_registration" cli:"-"` CheckRegistration bool `json:"check_registration" db:"check_registration" cli:"-"` UserLastModified time.Time `json:"user_last_modified" db:"user_last_modified" cli:"-"` Author Author `json:"created_by" db:"created_by" cli:"-"` GroupID int64 `json:"group_id" db:"group_id" cli:"-"` NbSpawnErr int64 `json:"nb_spawn_err" db:"nb_spawn_err" cli:"nb_spawn_err"` LastSpawnErr *string `json:"last_spawn_err" db:"last_spawn_err" cli:"-"` LastSpawnErrLogs *string `json:"last_spawn_err_log" db:"last_spawn_err_log" cli:"-"` DateLastSpawnErr *time.Time `json:"date_last_spawn_err" db:"date_last_spawn_err" cli:"-"` IsDeprecated bool `json:"is_deprecated" db:"is_deprecated" cli:"deprecated"` ModelVirtualMachine ModelVirtualMachine `json:"model_virtual_machine,omitempty" db:"model_virtual_machine" cli:"-"` ModelDocker ModelDocker `json:"model_docker,omitempty" db:"model_docker" cli:"-"` // aggregates Editable bool `json:"editable,omitempty" db:"-"` Group *Group `json:"group" db:"-" cli:"-"` RegisteredCapabilities []Requirement `json:"registered_capabilities" db:"-" cli:"-"` IsOfficial bool `json:"is_official" db:"-" cli:"official"` PatternName string `json:"pattern_name,omitempty" db:"-" cli:"-"` }
Model represents a worker model (ex: Go 1.5.1 Docker Images) with specified capabilities (ex: go, golint and go2xunit binaries)
func (Model) IsValidType ¶
type ModelCmds ¶
type ModelCmds struct { Envs map[string]string `json:"envs,omitempty"` Shell string `json:"shell,omitempty"` PreCmd string `json:"pre_cmd,omitempty"` Cmd string `json:"cmd,omitempty"` PostCmd string `json:"post_cmd,omitempty"` }
ModelCmds is the struct to represent a pattern
type ModelDocker ¶
type ModelDocker struct { Image string `json:"image,omitempty"` Private bool `json:"private,omitempty"` Registry string `json:"registry,omitempty"` Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` Memory int64 `json:"memory,omitempty"` Envs map[string]string `json:"envs,omitempty"` Shell string `json:"shell,omitempty"` Cmd string `json:"cmd,omitempty"` }
ModelDocker for swarm and kubernetes.
type ModelPattern ¶
type ModelPattern struct { ID int64 `json:"id" db:"id"` Name string `json:"name" db:"name"` Type string `json:"type" db:"type"` Model ModelCmds `json:"model" db:"model"` }
ModelPattern represent patterns for users and admin when creating a worker model
type ModelVirtualMachine ¶
type ModelVirtualMachine struct { Image string `json:"image,omitempty"` Flavor string `json:"flavor,omitempty"` PreCmd string `json:"pre_cmd,omitempty"` Cmd string `json:"cmd,omitempty"` PostCmd string `json:"post_cmd,omitempty"` User string `json:"user,omitempty"` Password string `json:"password,omitempty"` }
ModelVirtualMachine for openstack or vsphere.
func (*ModelVirtualMachine) Scan ¶
func (m *ModelVirtualMachine) Scan(src interface{}) error
Scan model virtual machine.
type MonDBMigrate ¶
type MonDBMigrate struct { ID string `db:"id" cli:"id"` AppliedAt time.Time `db:"applied_at" cli:"applied_at"` }
MonDBMigrate is used by /mon/db/migrate
type MonitoringStatus ¶
type MonitoringStatus struct { Now time.Time `json:"now"` Lines []MonitoringStatusLine `json:"lines"` ServiceType string `json:"-"` ServiceName string `json:"-"` ServiceHostname string `json:"-"` }
MonitoringStatus contains status of CDS Component
func (*MonitoringStatus) AddLine ¶
func (m *MonitoringStatus) AddLine(lines ...MonitoringStatusLine)
AddLine adds line to MonitoringStatus, including the Type of component
func (MonitoringStatus) HTTPStatusCode ¶
func (m MonitoringStatus) HTTPStatusCode() int
HTTPStatusCode returns the http status code
func (*MonitoringStatus) Scan ¶
func (m *MonitoringStatus) Scan(src interface{}) error
Scan workflow template request.
type MonitoringStatusLine ¶
type MonitoringStatusLine struct { Status string `json:"status" cli:"status"` Component string `json:"component" cli:"component"` Value string `json:"value" cli:"value"` Type string `json:"type" cli:"type"` Service string `json:"service" cli:"service"` Hostname string `json:"hostname" cli:"hostname"` SessionID string `json:"session,omitempty" cli:"session"` ConsumerID string `json:"consumer,omitempty" cli:"consumer"` }
MonitoringStatusLine represents a CDS Component Status
func (MonitoringStatusLine) String ¶
func (l MonitoringStatusLine) String() string
type MultiError ¶
type MultiError []error
MultiError is just an array of error
func (*MultiError) Append ¶
func (e *MultiError) Append(err error)
Append appends an error to a MultiError
func (*MultiError) Error ¶
func (e *MultiError) Error() string
func (*MultiError) IsEmpty ¶
func (e *MultiError) IsEmpty() bool
IsEmpty return true if MultiError is empty, false otherwise
func (*MultiError) Join ¶
func (e *MultiError) Join(j MultiError)
Join joins errors from MultiError to another errors MultiError
type NavbarProjectData ¶
type NavbarProjectData struct {}
NavbarProjectData is the sub struct returned by getNavbarHandler
type NeedContext ¶ added in v0.53.1
type NeedContext struct { Result V2WorkflowRunJobStatus `json:"result"` Outputs JobResultOutput `json:"outputs"` }
type NeedsContext ¶ added in v0.53.1
type NeedsContext map[string]NeedContext
type Node ¶
type Node struct { ID int64 `json:"id" db:"id"` WorkflowID int64 `json:"workflow_id" db:"workflow_id"` Name string `json:"name" db:"name"` Ref string `json:"ref" db:"ref"` Type string `json:"type" db:"type"` Triggers []NodeTrigger `json:"triggers" db:"-"` TriggerID int64 `json:"-" db:"-"` Context *NodeContext `json:"context" db:"-"` OutGoingHookContext *NodeOutGoingHook `json:"outgoing_hook" db:"-"` JoinContext []NodeJoin `json:"parents" db:"-"` Hooks []NodeHook `json:"hooks" db:"-"` Groups GroupPermissions `json:"groups,omitempty" db:"-"` }
Node represents a node in a workflow
func (*Node) AddTrigger ¶
AddTrigger adds a trigger to the destination node from the node found by its name
func (*Node) Ancestors ¶
func (n *Node) Ancestors(w WorkflowData) []int64
func (*Node) CheckApplicationDeploymentStrategies ¶
CheckApplicationDeploymentStrategies checks application deployment strategies
func (*Node) FilterHooksConfig ¶
FilterHooksConfig filter all hooks configuration and remove somme configuration key
func (*Node) IsLinkedToRepo ¶
IsLinkedToRepo returns boolean to know if the node is linked to an application which is also linked to a repository
type NodeContext ¶
type NodeContext struct { ID int64 `json:"id" db:"id"` NodeID int64 `json:"node_id" db:"node_id"` PipelineID int64 `json:"pipeline_id" db:"pipeline_id"` PipelineName string `json:"pipeline_name" db:"-"` ApplicationID int64 `json:"application_id" db:"application_id"` ApplicationName string `json:"application_name" db:"-"` EnvironmentID int64 `json:"environment_id" db:"environment_id"` EnvironmentName string `json:"environment_name" db:"-"` ProjectIntegrationID int64 `json:"project_integration_id" db:"project_integration_id"` ProjectIntegrationName string `json:"project_integration_name" db:"-"` DefaultPayload interface{} `json:"default_payload,omitempty" db:"-"` DefaultPipelineParameters []Parameter `json:"default_pipeline_parameters" db:"-"` Conditions WorkflowNodeConditions `json:"conditions" db:"-"` Mutex bool `json:"mutex" db:"mutex"` }
NodeContext represents a node linked to a pipeline
func (*NodeContext) DefaultPayloadToMap ¶
func (c *NodeContext) DefaultPayloadToMap() (map[string]string, error)
func (*NodeContext) HasDefaultPayload ¶
func (c *NodeContext) HasDefaultPayload() bool
type NodeHook ¶
type NodeHook struct { ID int64 `json:"id" db:"id"` UUID string `json:"uuid" db:"uuid"` NodeID int64 `json:"node_id" db:"node_id"` HookModelID int64 `json:"hook_model_id" db:"hook_model_id"` HookModelName string `json:"hook_model_name" db:"-"` Config WorkflowNodeHookConfig `json:"config" db:"config"` Conditions WorkflowNodeConditions `json:"conditions" db:"conditions"` }
NodeHook represents a hook which cann trigger the workflow from a given node
func (NodeHook) ConfigValueContainsEventsDefault ¶
func (NodeHook) IsRepositoryWebHook ¶
type NodeJoin ¶
type NodeJoin struct { ID int64 `json:"id" db:"id"` NodeID int64 `json:"node_id" db:"node_id"` ParentName string `json:"parent_name,omitempty" db:"-"` ParentID int64 `json:"parent_id,omitempty" db:"parent_id"` }
NodeJoin represents a join type node
type NodeOutGoingHook ¶
type NodeOutGoingHook struct { ID int64 `json:"id" db:"id"` NodeID int64 `json:"node_id" db:"node_id"` HookModelID int64 `json:"hook_model_id" db:"hook_model_id"` HookModelName string `json:"-" db:"-"` Config WorkflowNodeHookConfig `json:"config" db:"-"` }
NodeOutGoingHook represents the link between a node a its outgoings hooks
type NodeRunContext ¶ added in v0.53.0
type NodeRunContext struct { Git GitContext `json:"git,omitempty"` Vars map[string]string `json:"vars,omitempty"` Jobs JobsResultContext `json:"jobs,omitempty"` }
DEPRECATED - Only use on old workflow
func (*NodeRunContext) Scan ¶ added in v0.53.0
func (m *NodeRunContext) Scan(src interface{}) error
type NodeTrigger ¶
type NodeTrigger struct { ID int64 `json:"id" db:"id"` ParentNodeID int64 `json:"parent_node_id" db:"parent_node_id"` ChildNodeID int64 `json:"child_node_id" db:"child_node_id"` ParentNodeName string `json:"parent_node_name" db:"-"` ChildNode Node `json:"child_node" db:"-"` }
NodeTrigger represents the link between 2 nodes
type NotificationEvent ¶ added in v0.53.1
type NotificationEvent struct { ProjectEventV2 Notification string `json:"notification"` UserID string `json:"user_id"` Username string `json:"username"` }
type Operation ¶
type Operation struct { UUID string `json:"uuid"` VCSServer string `json:"vcs_server,omitempty"` RepoFullName string `json:"repo_fullname,omitempty"` URL string `json:"url"` RepositoryStrategy RepositoryStrategy `json:"strategy,omitempty"` Setup OperationSetup `json:"setup,omitempty"` LoadFiles OperationLoadFiles `json:"load_files,omitempty"` Status OperationStatus `json:"status"` Error *OperationError `json:"error_details,omitempty"` DeprecatedError string `json:"error,omitempty"` RepositoryInfo *OperationRepositoryInfo `json:"repository_info,omitempty"` Date *time.Time `json:"date,omitempty"` User struct { Username string `json:"username,omitempty" db:"-" cli:"-"` Fullname string `json:"fullname,omitempty" db:"-" cli:"-"` Email string `json:"email,omitempty" db:"-" cli:"-"` } `json:"user,omitempty"` RequestID string `json:"request_id,omitempty"` NbRetries int `json:"nb_retries,omitempty"` }
Operation is the main business object use in repositories service
type OperationCheckout ¶
type OperationCheckout struct { Tag string `json:"tag,omitempty"` Branch string `json:"branch,omitempty"` Commit string `json:"commit,omitempty"` CheckSignature bool `json:"check_signature,omitempty"` ProcessSemver bool `json:"process_semver,omitempty"` Result struct { SignKeyID string `json:"sign_key_id"` CommitVerified bool `json:"verified"` Msg string `json:"msg"` Semver struct { Current string `json:"current"` Next string `json:"next"` } `json:"semver"` } `json:"result"` }
OperationCheckout represents a smart git checkout
type OperationError ¶
type OperationError struct { ID int `json:"id"` Status int `json:"status,omitempty"` Message string `json:"message"` StackTrace string `json:"stack_trace,omitempty"` From string `json:"from,omitempty"` }
func ToOperationError ¶
func ToOperationError(err error) *OperationError
func (*OperationError) ToError ¶
func (opError *OperationError) ToError() error
type OperationLoadFiles ¶
type OperationLoadFiles struct { Pattern string `json:"pattern,omitempty"` Results map[string][]byte `json:"results,omitempty"` }
OperationLoadFiles represents files loading from a globbing pattern
type OperationPush ¶
type OperationPush struct { FromBranch string `json:"from_branch,omitempty"` ToBranch string `json:"to_branch,omitempty"` Message string `json:"message,omitempty"` PRLink string `json:"pr_link,omitempty"` Update bool `json:"update,omitempty"` }
OperationPush represents information about push operation
type OperationRepo ¶
type OperationRepo struct { Basedir string URL string RepositoryStrategy RepositoryStrategy }
OperationRepo is an operation
func (OperationRepo) ID ¶
func (r OperationRepo) ID() string
ID returns a generated ID for a Operation
type OperationRepositoryInfo ¶
type OperationRepositoryInfo struct { Name string `json:"name,omitempty"` FetchURL string `json:"fetch_url,omitempty"` DefaultBranch string `json:"default_branch,omitempty"` }
OperationRepositoryInfo represents global information about the repository
type OperationSetup ¶
type OperationSetup struct { Checkout OperationCheckout `json:"checkout,omitempty"` Push OperationPush `json:"push,omitempty"` }
OperationSetup is the setup for an operation basically its a checkout
type OperationStatus ¶
type OperationStatus int
OperationStatus is the status of an operation
const ( OperationStatusPending OperationStatus = iota OperationStatusProcessing OperationStatusDone OperationStatusError )
There are the different OperationStatus values
type Organization ¶ added in v0.52.0
type OrganizationEvent ¶ added in v0.53.1
type OrganizationEvent struct { GlobalEventV2 Organization string `json:"organization"` UserID string `json:"user_id"` Username string `json:"username"` }
type Parameter ¶
type Parameter struct { ID int64 `json:"id" yaml:"-"` Name string `json:"name"` Type string `json:"type"` Value string `json:"value"` Description string `json:"description,omitempty" yaml:"desc,omitempty"` Advanced bool `json:"advanced,omitempty" yaml:"advanced,omitempty"` }
Parameter can be a String/Date/Script/URL...
func ApplicationVariablesToParameters ¶
func ApplicationVariablesToParameters(prefix string, variables []ApplicationVariable) []Parameter
func EnvironmentVariablesToParameters ¶
func EnvironmentVariablesToParameters(prefix string, variables []EnvironmentVariable) []Parameter
func NewStringParameter ¶
NewStringParameter creates a Parameter from a string with <name>=<value> format
func ParameterFind ¶
ParameterFind return a parameter given its name if it exists in array
func ParametersFromMap ¶
ParametersFromMap returns an array of parameters from a map
func ParametersMerge ¶
ParametersMerge merges two slices of parameters
func ProjectVariablesToParameters ¶
func ProjectVariablesToParameters(prefix string, variables []ProjectVariable) []Parameter
func VariablesToParameters ¶
type ParserErrorListener ¶ added in v0.53.0
type ParserErrorListener struct { *antlr.DiagnosticErrorListener Errors []string }
func NewParserErrorListener ¶ added in v0.53.0
func NewParserErrorListener() *ParserErrorListener
func (*ParserErrorListener) SyntaxError ¶ added in v0.53.0
func (c *ParserErrorListener) SyntaxError(recognizer antlr.Recognizer, offendingSymbol interface{}, line, column int, msg string, e antlr.RecognitionException)
type PermissionEvent ¶ added in v0.53.1
type PermissionEvent struct { GlobalEventV2 Permission string `json:"permission"` UserID string `json:"user_id"` Username string `json:"username"` }
type Permissions ¶
type Permissions struct { Readable bool `json:"readable"` Writable bool `json:"writable"` Executable bool `json:"executable"` }
func (Permissions) IsMaxLevel ¶
func (p Permissions) IsMaxLevel() bool
IsMaxLevel returns true if permissions has level 7 (writable + readable + executable)
func (Permissions) Level ¶
func (p Permissions) Level() int
type Pipeline ¶
type Pipeline struct { ID int64 `json:"id" yaml:"-" db:"id"` Name string `json:"name" cli:"name,key" db:"name"` Description string `json:"description" cli:"description" db:"description"` ProjectKey string `json:"projectKey" db:"projectKey"` ProjectID int64 `json:"-" db:"project_id"` Stages []Stage `json:"stages"` Parameter []Parameter `json:"parameters,omitempty"` Usage *Usage `json:"usage,omitempty"` LastModified int64 `json:"last_modified" cli:"modified"` FromRepository string `json:"from_repository" cli:"from_repository" db:"from_repository"` AsCodeEvents []AsCodeEvent `json:"ascode_events" cli:"-" db:"-"` // aggregate WorkflowAscodeHolder *Workflow `json:"workflow_ascode_holder,omitempty" cli:"-" db:"-"` }
Pipeline represents the complete behavior of CDS for each projects
type PipelineAction ¶
type PipelineAction struct { ActionName string `json:"actionName"` Args []Parameter `json:"args"` PipelineStageID int64 `json:"pipeline_stage_id"` }
PipelineAction represents an action in a pipeline
type PipelineAudit ¶
type PipelineAudit struct { ID int64 `json:"id" db:"id"` PipelineID int64 `json:"pipeline_id" db:"pipeline_id"` UserName string `json:"username" db:"username"` Versionned time.Time `json:"versionned" db:"versionned"` Pipeline *Pipeline `json:"pipeline" db:"-"` Action string `json:"action" db:"action"` }
PipelineAudit represents pipeline audit
type PipelineBuildWarning ¶
PipelineBuildWarning Struct for display warnings about build
type PipelineTemplate ¶
type PipelineTemplate struct {
Value string `json:"value"`
}
PipelineTemplate struct.
func (*PipelineTemplate) IsValid ¶
func (p *PipelineTemplate) IsValid() error
IsValid returns pipeline template validity.
type PipelineTemplates ¶
type PipelineTemplates []PipelineTemplate
PipelineTemplates struct.
func (*PipelineTemplates) Scan ¶
func (p *PipelineTemplates) Scan(src interface{}) error
Scan pipeline templates.
type PluginEvent ¶ added in v0.53.1
type PluginEvent struct { GlobalEventV2 Plugin string `json:"plugin"` UserID string `json:"user_id"` Username string `json:"username"` }
type PluginInput ¶ added in v0.53.0
type PluginInputs ¶ added in v0.53.0
type PluginInputs map[string]PluginInput
func (*PluginInputs) Scan ¶ added in v0.53.0
func (p *PluginInputs) Scan(src interface{}) error
Scan plugin inputs.
type Prerequisite ¶
type Prerequisite struct { Parameter string `json:"parameter"` ExpectedValue string `json:"expected_value"` }
Prerequisite defines a expected value to one triggering pipeline parameter
type Project ¶
type Project struct { ID int64 `json:"-" yaml:"-" db:"id" cli:"-"` Key string `json:"key" yaml:"key" db:"projectkey" cli:"key,key"` Name string `json:"name" yaml:"name" db:"name" cli:"name"` Description string `json:"description" yaml:"description" db:"description" cli:"description"` Icon string `json:"icon" yaml:"icon" db:"icon" cli:"-"` Created time.Time `json:"created" yaml:"created" db:"created" ` LastModified time.Time `json:"last_modified" yaml:"last_modified" db:"last_modified"` // aggregates Workflows []Workflow `json:"workflows,omitempty" yaml:"workflows,omitempty" db:"-" cli:"-"` WorkflowNames IDNames `json:"workflow_names,omitempty" yaml:"workflow_names,omitempty" db:"-" cli:"-"` Pipelines []Pipeline `json:"pipelines,omitempty" yaml:"pipelines,omitempty" db:"-" cli:"-"` PipelineNames IDNames `json:"pipeline_names,omitempty" yaml:"pipeline_names,omitempty" db:"-" cli:"-"` Applications []Application `json:"applications,omitempty" yaml:"applications,omitempty" db:"-" cli:"-"` ApplicationNames IDNames `json:"application_names,omitempty" yaml:"application_names,omitempty" db:"-" cli:"-"` ProjectGroups GroupPermissions `json:"groups,omitempty" yaml:"permissions,omitempty" db:"-" cli:"-"` Variables []ProjectVariable `json:"variables,omitempty" yaml:"variables,omitempty" db:"-" cli:"-"` Environments []Environment `json:"environments,omitempty" yaml:"environments,omitempty" db:"-" cli:"-"` EnvironmentNames IDNames `json:"environment_names,omitempty" yaml:"environment_names,omitempty" db:"-" cli:"-"` Labels []Label `json:"labels,omitempty" yaml:"labels,omitempty" db:"-" cli:"-"` Permissions Permissions `json:"permissions" yaml:"-" db:"-" cli:"-"` Metadata Metadata `json:"metadata" yaml:"metadata" db:"metadata" cli:"-"` Keys []ProjectKey `json:"keys,omitempty" yaml:"keys" db:"-" cli:"-"` VCSServers []VCSProject `json:"vcs_servers" yaml:"vcs_servers" db:"-" cli:"-"` Integrations []ProjectIntegration `json:"integrations" yaml:"integrations" db:"-" cli:"-"` Features map[string]bool `json:"features" yaml:"features" db:"-" cli:"-"` Favorite bool `json:"favorite,omitempty" yaml:"favorite" db:"-" cli:"favorite"` URLs URL `json:"urls" yaml:"-" db:"-" cli:"-"` Organization string `json:"organization" yaml:"-" db:"-" cli:"-"` }
Project represent a team with group of users and pipelines
func (Project) GetIntegration ¶
func (proj Project) GetIntegration(pfName string) (ProjectIntegration, bool)
GetIntegration returns the ProjectIntegration given a name
func (Project) GetIntegrationByID ¶
func (proj Project) GetIntegrationByID(id int64) *ProjectIntegration
GetIntegrationByID returns the ProjectIntegration given a name
func (Project) GetSSHKey ¶
func (proj Project) GetSSHKey(name string) *ProjectKey
GetSSHKey returns a ssh key given his name
func (Project) PGPKeys ¶
func (proj Project) PGPKeys() []ProjectKey
PGPKeys returns the slice of pgp key for a project
func (Project) SSHKeys ¶
func (proj Project) SSHKeys() []ProjectKey
SSHKeys returns the slice of ssh key for an application
func (*Project) SetApplication ¶
func (proj *Project) SetApplication(app Application)
SetApplication data on project
func (*Project) SetEnvironment ¶
func (proj *Project) SetEnvironment(env Environment)
SetEnvironment data on project
func (*Project) SetPipeline ¶
SetPipeline data on project
type ProjectEvent ¶ added in v0.53.1
type ProjectEvent struct { ProjectEventV2 UserID string `json:"user_id"` Username string `json:"username"` }
type ProjectEventV2 ¶ added in v0.53.1
type ProjectEventV2 struct { ID string `json:"id"` Type string `json:"type"` ProjectKey string `json:"project_key"` Payload json.RawMessage `json:"payload"` }
type ProjectFilter ¶
type ProjectFilter struct { Key string `json:"key"` WorkflowNames []string `json:"workflow_names"` }
ProjectFilter represents filter on a project
type ProjectGroup ¶
ProjectGroup represent a link with a project
type ProjectIdentifiers ¶ added in v0.52.0
type ProjectIntegration ¶
type ProjectIntegration struct { ID int64 `json:"id" db:"id" yaml:"-"` ProjectID int64 `json:"project_id" db:"project_id" yaml:"-"` Name string `json:"name" db:"name" cli:"name,key" yaml:"name"` IntegrationModelID int64 `json:"integration_model_id" db:"integration_model_id" yaml:"-"` Model IntegrationModel `json:"model" db:"-" yaml:"model"` Config IntegrationConfig `json:"config" db:"cipher_config" yaml:"config" gorpmapping:"encrypted,ProjectID,IntegrationModelID"` // GRPCPlugin field is used to get all plugins associatied to an integration // when we GET /project/{permProjectKey}/integrations/{integrationName} GRPCPlugins []GRPCPlugin `json:"integration_plugins,omitempty" db:"-" yaml:"-"` }
ProjectIntegration is an instanciation of a integration model
func (*ProjectIntegration) Blur ¶
func (pf *ProjectIntegration) Blur()
Blur replaces password with a placeholder
type ProjectIntegrationEvent ¶ added in v0.53.1
type ProjectIntegrationEvent struct { ProjectEventV2 Integration string `json:"integration"` IntegrationModel string `json:"integration_model"` UserID string `json:"user_id"` Username string `json:"username"` }
type ProjectKey ¶
type ProjectKey struct { ID int64 `json:"id" db:"id" cli:"-"` Name string `json:"name" db:"name" cli:"name"` Public string `json:"public" db:"public" cli:"publickey"` Private string `json:"private" db:"private" cli:"-" gorpmapping:"encrypted,ID,Name"` KeyID string `json:"key_id" db:"key_id" cli:"-"` Type KeyType `json:"type" db:"type" cli:"type"` ProjectID int64 `json:"project_id" db:"project_id" cli:"-"` Builtin bool `json:"-" db:"builtin" cli:"-"` Disabled bool `json:"disabled" db:"disabled" cli:"disabled"` }
ProjectKey represent a key attach to a project
type ProjectLastUpdates ¶
type ProjectLastUpdates struct { LastModification Applications []LastModification `json:"applications"` Pipelines []LastModification `json:"pipelines"` Environments []LastModification `json:"environments"` Workflows []LastModification `json:"workflows"` }
ProjectLastUpdates update times of project, application and pipelines Deprecated
type ProjectNotification ¶ added in v0.53.1
type ProjectNotification struct { ID string `json:"id" db:"id"` ProjectKey string `json:"project_key" db:"project_key"` Name string `json:"name" db:"name" cli:"name"` LastModified time.Time `json:"last_modified" db:"last_modified" cli:"last_modified"` WebHookURL string `json:"webhook_url" db:"webhook_url" cli:"webhook_url"` Filters ProjectNotificationFilters `json:"filters" db:"filters" cli:"filters"` Auth ProjectNotificationAuth `json:"auth" db:"auth" gorpmapping:"encrypted,ID,ProjectKey"` }
type ProjectNotificationAuth ¶ added in v0.53.1
type ProjectNotificationFilter ¶ added in v0.53.1
type ProjectNotificationFilter struct {
Events []string `json:"event"`
}
type ProjectNotificationFilters ¶ added in v0.53.1
type ProjectNotificationFilters map[string]ProjectNotificationFilter
func (*ProjectNotificationFilters) Scan ¶ added in v0.53.1
func (s *ProjectNotificationFilters) Scan(src interface{}) error
type ProjectRepository ¶ added in v0.52.0
type ProjectRepository struct { ID string `json:"id" db:"id"` ProjectKey string `json:"project_key" db:"project_key"` Name string `json:"name" db:"name" cli:"name,key"` Created time.Time `json:"created" db:"created"` CreatedBy string `json:"created_by" db:"created_by"` VCSProjectID string `json:"-" db:"vcs_project_id"` CloneURL string `json:"clone_url" db:"clone_url"` }
type ProjectRepositoryAnalysis ¶ added in v0.52.0
type ProjectRepositoryAnalysis struct { ID string `json:"id" db:"id" cli:"id"` Created time.Time `json:"created" db:"created" cli:"created"` LastModified time.Time `json:"last_modified" db:"last_modified"` ProjectRepositoryID string `json:"project_repository_id" db:"project_repository_id"` VCSProjectID string `json:"vcs_project_id" db:"vcs_project_id"` ProjectKey string `json:"project_key" db:"project_key"` Status string `json:"status" db:"status" cli:"status"` Ref string `json:"ref" db:"ref" cli:"ref"` Commit string `json:"commit" db:"commit" cli:"commit"` Data ProjectRepositoryData `json:"data" db:"data"` }
type ProjectRepositoryData ¶ added in v0.52.0
type ProjectRepositoryData struct { HookEventUUID string `json:"hook_event_uuid"` OperationUUID string `json:"operation_uuid"` CommitCheck bool `json:"commit_check"` SignKeyID string `json:"sign_key_id"` CDSUserName string `json:"cds_username"` CDSUserID string `json:"cds_username_id"` Error string `json:"error"` Entities []ProjectRepositoryDataEntity `json:"entities"` }
func (*ProjectRepositoryData) Scan ¶ added in v0.52.0
func (prd *ProjectRepositoryData) Scan(src interface{}) error
type ProjectRepositoryDataEntity ¶ added in v0.52.0
type ProjectVariable ¶
type ProjectVariableAudit ¶
type ProjectVariableAudit struct { ID int64 `json:"id" yaml:"-" db:"id"` ProjectID int64 `json:"project_id" yaml:"-" db:"project_id"` VariableID int64 `json:"variable_id" yaml:"-" db:"variable_id"` Type string `json:"type" yaml:"-" db:"type"` VariableBefore *ProjectVariable `json:"variable_before,omitempty" yaml:"-" db:"-"` VariableAfter ProjectVariable `json:"variable_after,omitempty" yaml:"-" db:"-"` Versionned time.Time `json:"versionned" yaml:"-" db:"versionned"` Author string `json:"author" yaml:"-" db:"author"` }
ProjectVariableAudit represents an audit on a project variable
type ProjectVariableSet ¶ added in v0.53.1
type ProjectVariableSetEvent ¶ added in v0.53.1
type ProjectVariableSetEvent struct { ProjectEventV2 VariableSet string `json:"variable_set"` UserID string `json:"user_id"` Username string `json:"username"` }
type ProjectVariableSetItem ¶ added in v0.53.1
type ProjectVariableSetItem struct { ID string `json:"id" db:"id"` ProjectVariableSetID string `json:"project_variable_set_id"` LastModified time.Time `json:"last_modified" cli:"last_modified"` Name string `json:"name" cli:"name"` Type string `json:"type" cli:"type"` Value string `json:"value" cli:"value"` }
type ProjectVariableSetItemEvent ¶ added in v0.53.1
type ProjectVariableSetItemEvent struct { ProjectEventV2 VariableSet string `json:"variable_set"` Item string `json:"item"` UserID string `json:"user_id"` Username string `json:"username"` }
type PullRequestProperties ¶
type PullRequestProperties struct {
MergeCommit MergeCommitProperty `json:"mergeCommit"`
}
type PurgeDryRunRequest ¶
type PurgeDryRunRequest struct {
RetentionPolicy string `json:"retention_policy"`
}
type PurgeDryRunResponse ¶
type PurgeDryRunResponse struct {
NbRunsToAnalize int64 `json:"nb_runs_to_analyze"`
}
type RBAC ¶ added in v0.52.0
type RBAC struct { ID string `json:"id" db:"id"` Name string `json:"name" db:"name" cli:"name"` Created time.Time `json:"created" db:"created"` LastModified time.Time `json:"last_modified" db:"last_modified" cli:"last_modified"` Global []RBACGlobal `json:"global,omitempty" db:"-"` Projects []RBACProject `json:"projects,omitempty" db:"-"` Regions []RBACRegion `json:"regions,omitempty" db:"-"` Hatcheries []RBACHatchery `json:"hatcheries,omitempty" db:"-"` Workflows []RBACWorkflow `json:"workflows,omitempty" db:"-"` }
type RBACGlobal ¶ added in v0.52.0
type RBACHatchery ¶ added in v0.53.0
type RBACProject ¶ added in v0.52.0
type RBACProject struct { AllUsers bool `json:"all_users" db:"all_users"` Role string `json:"role" db:"role"` RBACProjectKeys []string `json:"projects,omitempty" db:"-"` RBACUsersName []string `json:"users,omitempty" db:"-"` RBACGroupsName []string `json:"groups,omitempty" db:"-"` RBACUsersIDs []string `json:"-" db:"-"` RBACGroupsIDs []int64 `json:"-" db:"-"` }
type RBACRegion ¶ added in v0.53.0
type RBACRegion struct { ID int64 `json:"-" db:"id"` RbacID string `json:"-" db:"rbac_id"` Role string `json:"role" db:"role"` RegionID string `json:"region_id" db:"region_id"` AllUsers bool `json:"all_users,omitempty" db:"all_users"` RBACOrganizations []string `json:"organizations,omitempty" db:"-"` RBACUsersName []string `json:"users,omitempty" db:"-"` RBACGroupsName []string `json:"groups,omitempty" db:"-"` RegionName string `json:"region" db:"-"` RBACUsersIDs []string `json:"-" db:"-"` RBACGroupsIDs []int64 `json:"-" db:"-"` RBACOrganizationIDs []string `json:"-" db:"-"` }
type RBACWorkflow ¶ added in v0.53.0
type RBACWorkflow struct { AllUsers bool `json:"all_users" db:"all_users"` Role string `json:"role" db:"role"` ProjectKey string `json:"project" db:"project_key"` RBACUsersName []string `json:"users,omitempty" db:"-"` RBACGroupsName []string `json:"groups,omitempty" db:"-"` RBACWorkflowsNames RBACWorkflowNames `json:"workflows,omitempty" db:"workflows"` AllWorkflows bool `json:"all_workflows" db:"all_workflows"` RBACUsersIDs []string `json:"-" db:"-"` RBACGroupsIDs []int64 `json:"-" db:"-"` }
type RBACWorkflowNames ¶ added in v0.53.0
type RBACWorkflowNames []string
func (*RBACWorkflowNames) Scan ¶ added in v0.53.0
func (rwn *RBACWorkflowNames) Scan(src interface{}) error
Scan action.
type RabbitMQTaskExecution ¶
type RabbitMQTaskExecution struct {
Message []byte `json:"message"`
}
RabbitMQTaskExecution contains specific data for a kafka hook
type RegionEvent ¶ added in v0.53.1
type RegionEvent struct { GlobalEventV2 Region string `json:"region"` UserID string `json:"user_id"` Username string `json:"username"` }
type ReleaseAsset ¶
type ReleaseAsset struct { ID *int `json:"id,omitempty"` URL *string `json:"url,omitempty"` Name *string `json:"name,omitempty"` Label *string `json:"label,omitempty"` State *string `json:"state,omitempty"` ContentType *string `json:"content_type,omitempty"` Size *int `json:"size,omitempty"` DownloadCount *int `json:"download_count,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` UpdatedAt *Timestamp `json:"updated_at,omitempty"` BrowserDownloadURL *string `json:"browser_download_url,omitempty"` }
ReleaseAsset represents a GitHub release asset in a repository.
type Repository ¶
Repository structs contains all needed information about a single repository
type RepositoryEvent ¶ added in v0.53.1
type RepositoryEvent struct { ProjectEventV2 VCSName string `json:"vcs_name"` Repository string `json:"repository"` UserID string `json:"user_id"` Username string `json:"username"` }
type RepositoryEvents ¶
type RepositoryEvents struct { PushEvents []VCSPushEvent `json:"push_events" db:"-"` CreateEvents []VCSCreateEvent `json:"create_events" db:"-"` DeleteEvents []VCSDeleteEvent `json:"delete_events" db:"-"` PullRequestEvents []VCSPullRequestEvent `json:"pullrequest_events" db:"-"` }
RepositoryEvents group all repository events
type RepositoryPollerExecution ¶
type RepositoryPollerExecution struct { ID int64 `json:"id" db:"id"` ApplicationID int64 `json:"-" db:"application_id"` PipelineID int64 `json:"-" db:"pipeline_id"` ExecutionPlannedDate time.Time `json:"execution_planned_date,omitempty" db:"execution_planned_date"` ExecutionDate *time.Time `json:"execution_date" db:"execution_date"` Executed bool `json:"executed" db:"executed"` PipelineBuildVersions map[string]int64 `json:"pipeline_build_version" db:"-"` Error string `json:"error" db:"error"` RepositoryEvents }
RepositoryPollerExecution is a polling execution
type RepositoryRelease ¶
type RepositoryRelease struct { ID *int `json:"id,omitempty"` TagName *string `json:"tag_name,omitempty"` TargetCommitish *string `json:"target_commitish,omitempty"` Name *string `json:"name,omitempty"` Body *string `json:"body,omitempty"` Draft *bool `json:"draft,omitempty"` Prerelease *bool `json:"prerelease,omitempty"` CreatedAt *Timestamp `json:"created_at,omitempty"` PublishedAt *Timestamp `json:"published_at,omitempty"` URL *string `json:"url,omitempty"` HTMLURL *string `json:"html_url,omitempty"` AssetsURL *string `json:"assets_url,omitempty"` Assets []ReleaseAsset `json:"assets,omitempty"` UploadURL *string `json:"upload_url,omitempty"` ZipballURL *string `json:"zipball_url,omitempty"` TarballURL *string `json:"tarball_url,omitempty"` }
RepositoryRelease represents a GitHub release in a repository.
type RepositoryStrategy ¶
type RepositoryStrategy struct { ConnectionType string `json:"connection_type"` SSHKey string `json:"ssh_key"` SSHKeyContent string `json:"ssh_key_content,omitempty"` User string `json:"user"` Password string `json:"password"` Branch string `json:"branch,omitempty"` DefaultBranch string `json:"default_branch,omitempty"` PGPKey string `json:"pgp_key"` }
RepositoryStrategy represents the way to use the repository
type ReqHostMatcher ¶ added in v0.53.1
type ReqHostMatcher struct {
Host string
}
func (ReqHostMatcher) Matches ¶ added in v0.53.1
func (m ReqHostMatcher) Matches(x interface{}) bool
func (ReqHostMatcher) String ¶ added in v0.53.1
func (m ReqHostMatcher) String() string
type ReqMatcher ¶ added in v0.53.1
func (ReqMatcher) Matches ¶ added in v0.53.1
func (m ReqMatcher) Matches(x interface{}) bool
func (ReqMatcher) String ¶ added in v0.53.1
func (m ReqMatcher) String() string
type ReqNotHostMatcher ¶ added in v0.53.1
type ReqNotHostMatcher struct {
NotHost string
}
func (ReqNotHostMatcher) Matches ¶ added in v0.53.1
func (m ReqNotHostMatcher) Matches(x interface{}) bool
func (ReqNotHostMatcher) String ¶ added in v0.53.1
func (m ReqNotHostMatcher) String() string
type Requirement ¶
type Requirement struct { ID int64 `json:"id" db:"id"` ActionID int64 `json:"action_id" db:"action_id"` Name string `json:"name" yaml:"name" db:"name"` Type string `json:"type" yaml:"type" db:"type"` Value string `json:"value" yaml:"value" db:"value"` }
Requirement can be : - a binary "which /usr/bin/docker"
type RequirementList ¶
type RequirementList []Requirement
RequirementList is a list of requirement
func RequirementListDeduplicate ¶
func RequirementListDeduplicate(l RequirementList) RequirementList
RequirementListDeduplicate returns requirements list without duplicate values.
func (RequirementList) FilterByType ¶ added in v0.52.0
func (l RequirementList) FilterByType(requirementType string) RequirementList
FilterByType returns all requirements that match given type.
func (RequirementList) IsValid ¶
func (l RequirementList) IsValid() error
IsValid returns requirement list validity.
func (RequirementList) Values ¶
func (l RequirementList) Values() []string
Values returns all Requirement.Value
type Result ¶
type Result struct { ID int64 `json:"id,omitempty"` BuildID int64 `json:"buildID,omitempty"` Status string `json:"status,omitempty"` Version int64 `json:"version,omitempty"` Reason string `json:"reason,omitempty"` RemoteTime time.Time `json:"remoteTime,omitempty"` Duration string `json:"duration,omitempty"` NewVariables []Variable `json:"new_variables,omitempty"` }
type ScheduledTaskExecution ¶
type ScheduledTaskExecution struct {
DateScheduledExecution string `json:"date_scheduled_execution"`
}
ScheduledTaskExecution contains specific data for a scheduled task execution
type Schema ¶ added in v0.53.1
type Schema []byte
Schema is the string representation of the JSON schema
type SchemaResponse ¶
type SchemaResponse struct { Workflow string `json:"workflow"` Application string `json:"application"` Pipeline string `json:"pipeline"` Environment string `json:"environment"` }
SchemaResponse contains all json schema for a user.
type Service ¶
type Service struct { CanonicalService LastHeartbeat time.Time `json:"last_heartbeat" db:"last_heartbeat" cli:"heartbeat" mapstructure:"-"` MonitoringStatus MonitoringStatus `json:"monitoring_status" db:"-" cli:"-" mapstructure:"-"` Version string `json:"version" db:"-" cli:"version" mapstructure:"version"` Uptodate bool `json:"up_to_date" db:"-" mapstructure:"up_to_date"` }
Service is a µService registered on CDS API.
type ServiceConfig ¶
type ServiceConfig map[string]interface{}
func (*ServiceConfig) Scan ¶
func (c *ServiceConfig) Scan(src interface{}) error
Scan workflow template request.
type ServiceConfiguration ¶
type ServiceConfiguration struct { Name string `toml:"name" json:"name"` URL string `toml:"url" json:"url"` Port string `toml:"port" json:"port"` Path string `toml:"path" json:"path"` HealthURL string `toml:"healthUrl" json:"health_url"` HealthPort string `toml:"healthPort" json:"health_port"` HealthPath string `toml:"healthPath" json:"health_path"` Type string `toml:"type" json:"type"` PublicKey string `json:"publicKey"` ID int64 `json:"id"` }
ServiceConfiguration is the configuration of service
type ServiceStatus ¶
type ServiceStatus struct { ID int64 `json:"-" db:"id"` MonitoringStatus MonitoringStatus `json:"monitoring_status" db:"monitoring_status" cli:"-"` ServiceID int64 `json:"-" db:"service_id"` SessionID *string `json:"-" db:"auth_session_id"` }
ServiceStatus contains the status for a service. The status can be attached to a sesion_id : all services except api or a serviceId for API instance.
type ShortEntity ¶ added in v0.53.0
type SpawnErrorForm ¶
SpawnErrorForm represents the arguments needed to add error registration on worker model
type SpawnInfo ¶
type SpawnInfo struct { APITime time.Time `json:"api_time,omitempty" db:"-" mapstructure:"-"` RemoteTime time.Time `json:"remote_time,omitempty" db:"-" mapstructure:"-"` Message SpawnMsg `json:"message,omitempty" db:"-"` // UserMessage contains msg translated for end user UserMessage string `json:"user_message,omitempty" db:"-"` }
SpawnInfo contains an information about spawning
type SpawnMsg ¶
type SpawnMsg struct { ID string `json:"id,omitempty" db:"-"` Args []interface{} `json:"args,omitempty" db:"-"` Type string `json:"type,omitempty" db:"-"` }
SpawnMsg represents a msg for spawnInfo
func SpawnMsgNew ¶
func (SpawnMsg) DefaultUserMessage ¶
type Stage ¶
type Stage struct { ID int64 `json:"id" yaml:"pipeline_stage_id"` Name string `json:"name"` PipelineID int64 `json:"-" yaml:"-"` BuildOrder int `json:"build_order"` Enabled bool `json:"enabled"` RunJobs []WorkflowNodeJobRun `json:"run_jobs"` Prerequisites []Prerequisite `json:"prerequisites"` //TODO: to delete Conditions WorkflowNodeConditions `json:"conditions"` LastModified time.Time `json:"last_modified"` Jobs []Job `json:"jobs"` Status string `json:"status"` Warnings []PipelineBuildWarning `json:"warnings"` }
Stage Pipeline step that parallelize actions by order
func (*Stage) PlainConditions ¶
func (s *Stage) PlainConditions() []WorkflowNodeCondition
Conditions returns stage prerequisites as a set of WorkflowTriggerCondition regex
func (Stage) ToSummary ¶
func (s Stage) ToSummary() StageSummary
ToSummary transforms a Stage into a StageSummary
func (*Stage) UnmarshalJSON ¶
type StageSummary ¶
type StageSummary struct { ID int64 `json:"id"` Name string `json:"name"` BuildOrder int `json:"build_order"` Enabled bool `json:"enabled"` Status string `json:"status"` Jobs []Job `json:"jobs"` RunJobsSummary []WorkflowNodeJobRunSummary `json:"run_jobs_summary"` }
StageSummary is a light representation of stage for CDS event
type StepContext ¶ added in v0.53.0
type StepContext struct { Conclusion V2WorkflowRunJobStatus `json:"conclusion"` // result of a step after 'continue-on-error' Outcome V2WorkflowRunJobStatus `json:"outcome"` // result of a step before 'continue-on-error' Outputs JobResultOutput `json:"outputs"` }
type StepStatus ¶
type StepStatus struct { StepOrder int `json:"step_order" db:"-"` Status string `json:"status" db:"-"` Start time.Time `json:"start" db:"-"` Done time.Time `json:"done" db:"-"` }
StepStatus Represent a step and his status
func (StepStatus) ToSummary ¶
func (ss StepStatus) ToSummary() StepStatusSummary
ToSummary transform a StepStatus into a StepStatusSummary
type StepStatusSummary ¶
type StepStatusSummary struct { StepOrder int `json:"step_order" db:"-"` Status string `json:"status" db:"-"` Start int64 `json:"start" db:"-"` Done int64 `json:"done" db:"-"` }
StepStatusSummary Represent a step and his status for CDS event
type StepsContext ¶ added in v0.53.0
type StepsContext map[string]StepContext
func (*StepsContext) Scan ¶ added in v0.53.0
func (sc *StepsContext) Scan(src interface{}) error
type StringSlice ¶
type StringSlice []string
StringSlice type used for database json storage.
func (StringSlice) Contains ¶
func (s StringSlice) Contains(value string) bool
func (*StringSlice) Unique ¶ added in v0.53.0
func (s *StringSlice) Unique()
Remove duplicated value from slice.
type TCPServer ¶
type TCPServer struct { Addr string `toml:"addr" default:"" comment:"Listen address without port, example: 127.0.0.1" json:"addr"` Port int `toml:"port" default:"8090" json:"port"` GlobalTCPRateLimit int64 `toml:"globalTCPRateLimit" default:"2097152" comment:"Rate limit (B/s) for incoming logs" json:"globalTCPRateLimit"` }
type TarOptions ¶
type TarOptions struct {
TrimDirName string
}
TarOptions useful to indicate some options when we want to tar directory or files
type Task ¶
type Task struct { UUID string `json:"uuid" cli:"UUID,key"` Type string `json:"type" cli:"Type"` Conditions WorkflowNodeConditions `json:"conditions" cli:"Conditions"` Stopped bool `json:"stopped" cli:"Stopped"` Executions []TaskExecution `json:"executions"` NbExecutionsTotal int `json:"nb_executions_total" cli:"nb_executions_total"` NbExecutionsTodo int `json:"nb_executions_todo" cli:"nb_executions_todo"` Configuration HookConfiguration `json:"configuration" cli:"configuration"` // DEPRECATED Config WorkflowNodeHookConfig `json:"config" cli:"Config"` }
Task is a generic hook tasks such as webhook, scheduler,... which will be started and wait for execution
type TaskExecution ¶
type TaskExecution struct { UUID string `json:"uuid" cli:"uuid,key"` Type string `json:"type" cli:"type"` Timestamp int64 `json:"timestamp" cli:"timestamp"` NbErrors int64 `json:"nb_errors" cli:"nb_errors"` LastError string `json:"last_error,omitempty" cli:"last_error"` ProcessingTimestamp int64 `json:"processing_timestamp" cli:"processing_timestamp"` WorkflowRun int64 `json:"workflow_run" cli:"workflow_run"` WebHook *WebHookExecution `json:"webhook,omitempty" cli:"-"` Kafka *KafkaTaskExecution `json:"kafka,omitempty" cli:"-"` RabbitMQ *RabbitMQTaskExecution `json:"rabbitmq,omitempty" cli:"-"` ScheduledTask *ScheduledTaskExecution `json:"scheduled_task,omitempty" cli:"-"` GerritEvent *GerritEventExecution `json:"gerrit,omitempty" cli:"-"` Status string `json:"status" cli:"status"` Configuration HookConfiguration `json:"configuration" cli:"-"` // DEPRECATED Config WorkflowNodeHookConfig `json:"config" cli:"-"` }
TaskExecution represents an execution instance of a task. It the task is a webhook; this represents the call of the webhook
type TemplateParameterType ¶
type TemplateParameterType string
TemplateParameterType used for template parameter.
const ( ParameterTypeString TemplateParameterType = "string" ParameterTypeBoolean TemplateParameterType = "boolean" ParameterTypeRepository TemplateParameterType = "repository" ParameterTypeSSHKey TemplateParameterType = "ssh-key" ParameterTypePGPKey TemplateParameterType = "pgp-key" ParameterTypeJSON TemplateParameterType = "json" )
Parameter types.
func (TemplateParameterType) IsValid ¶
func (t TemplateParameterType) IsValid() bool
IsValid returns parameter type validity.
type TestsResults ¶ added in v0.52.0
type TestsResults struct { JUnitTestsSuites TestsStats }
type TestsStats ¶ added in v0.52.0
type TimelineFilter ¶
type TimelineFilter struct {
Projects []ProjectFilter `json:"projects"`
}
TimelineFilter represents a user filter for the cds timeline
type Timestamp ¶
Timestamp represents a time that can be unmarshalled from a JSON string formatted as either an RFC3339 or Unix timestamp. This is necessary for some fields since the GitHub API is inconsistent in how it represents times. All exported methods of time.Time can be called on Timestamp.
func (*Timestamp) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaler interface. Time is expected in RFC3339 or Unix format.
type Token ¶
type Token struct { ID int64 `json:"id" cli:"id,key"` GroupID int64 `json:"group_id"` GroupName string `json:"group_name" cli:"group_name"` Token string `json:"token" cli:"token"` Description string `json:"description" cli:"description"` Creator string `json:"creator" cli:"creator"` Expiration Expiration `json:"expiration" cli:"expiration"` Created time.Time `json:"created" cli:"created"` }
Token describes tokens used by worker to access the API on behalf of a group.
type UpdateMaxRunRequest ¶
type UpdateMaxRunRequest struct {
MaxRuns int64 `json:"max_runs"`
}
type Usage ¶
type Usage struct { Workflows []WorkflowName `json:"workflows,omitempty"` Environments []Environment `json:"environments,omitempty"` Pipelines []Pipeline `json:"pipelines,omitempty"` Applications []Application `json:"applications,omitempty"` }
Usage is type to represent usage of each type
type UsageAction ¶
type UsageAction struct { GroupID int64 `json:"group_id"` GroupName string `json:"group_name"` ParentActionID int64 `json:"parent_action_id"` ParentActionName string `json:"parent_action_name"` ActionID int64 `json:"action_id"` ActionName string `json:"action_name"` Warning bool `json:"warning"` }
UsageAction represent a action using an action.
type UsagePipeline ¶
type UsagePipeline struct { ProjectID int64 `json:"project_id"` ProjectKey string `json:"project_key"` ProjectName string `json:"project_name"` PipelineID int64 `json:"pipeline_id"` PipelineName string `json:"pipeline_name"` StageID int64 `json:"stage_id"` StageName string `json:"stage_name"` JobID int64 `json:"job_id"` JobName string `json:"job_name"` ActionID int64 `json:"action_id"` ActionName string `json:"action_name"` Warning bool `json:"warning"` }
UsagePipeline represent a pipeline using an action.
type UserContact ¶
type UserContact struct { ID int64 `json:"id" cli:"id,key" db:"id"` Created time.Time `json:"created" cli:"created" db:"created"` UserID string `json:"user_id" db:"user_id"` Type string `json:"type" cli:"type" db:"type"` Value string `json:"value" cli:"value" db:"value"` Primary bool `json:"primary" cli:"primary" db:"primary_contact"` Verified bool `json:"verified" cli:"verified" db:"verified"` }
UserContact struct
type UserContacts ¶
type UserContacts []UserContact
func (UserContacts) Filter ¶
func (u UserContacts) Filter(t string) UserContacts
func (UserContacts) Find ¶
func (u UserContacts) Find(contactType, contactValue string) *UserContact
func (UserContacts) Primary ¶
func (u UserContacts) Primary() *UserContact
type UserEvent ¶ added in v0.53.1
type UserEvent struct { GlobalEventV2 UserID string `json:"user_id"` Username string `json:"username"` }
type UserGPGEvent ¶ added in v0.53.1
type UserGPGEvent struct { GlobalEventV2 UserID string `json:"user_id"` Username string `json:"username"` GPGKey string `json:"gpg_key"` }
type UserGPGKey ¶ added in v0.52.0
type UserLink ¶ added in v0.53.0
type UserLink struct { ID string `json:"id" db:"id"` AuthentifiedUserID string `json:"authentified_user_id" db:"authentified_user_id"` Type string `json:"type" db:"type"` ExternalID string `json:"external_id" db:"external_id"` Username string `json:"username" db:"username"` Created time.Time `json:"created" db:"created"` }
type UserLoginRequest ¶
type UserLoginRequest struct { RequestToken string `json:"request_token"` Username string `json:"username"` Password string `json:"password"` }
UserLoginRequest login request
type UserNotification ¶
type UserNotification struct { ApplicationPipelineID int64 `json:"application_pipeline_id"` Pipeline Pipeline `json:"pipeline"` Environment Environment `json:"environment"` Notifications map[string]UserNotificationSettings `json:"notifications"` }
UserNotification is a settings on application_pipeline/env to trigger notification on pipeline event
type UserNotificationSettings ¶
type UserNotificationSettings struct { OnSuccess string `json:"on_success,omitempty" yaml:"on_success,omitempty"` // default is "onChange", empty means onChange OnFailure string `json:"on_failure,omitempty" yaml:"on_failure,omitempty"` // default is "always", empty means always OnStart *bool `json:"on_start,omitempty" yaml:"on_start,omitempty"` // default is false, nil is false SendToGroups *bool `json:"send_to_groups,omitempty" yaml:"send_to_groups,omitempty"` // default is false, nil is false SendToAuthor *bool `json:"send_to_author,omitempty" yaml:"send_to_author,omitempty"` // default is true, nil is true Recipients []string `json:"recipients,omitempty" yaml:"recipients,omitempty"` Template *UserNotificationTemplate `json:"template,omitempty" yaml:"template,omitempty"` Conditions WorkflowNodeConditions `json:"conditions,omitempty" yaml:"conditions,omitempty"` }
UserNotificationSettings --> email settings
func (*UserNotificationSettings) Scan ¶
func (a *UserNotificationSettings) Scan(src interface{}) error
Scan UserNotificationSettings.
type UserNotificationTemplate ¶
type UserNotificationTemplate struct { Subject string `json:"subject,omitempty" yaml:"subject,omitempty"` Body string `json:"body,omitempty" yaml:"body,omitempty"` // For VCS DisableComment *bool `json:"disable_comment,omitempty" yaml:"disable_comment,omitempty"` DisableStatus *bool `json:"disable_status,omitempty" yaml:"disable_status,omitempty"` }
UserNotificationTemplate is the notification content
type UserRegistration ¶
type UserRegistration struct { ID string `json:"id" db:"id"` Created time.Time `json:"created" db:"created"` Username string `json:"username" db:"username"` Fullname string `json:"fullname" db:"fullname"` Email string `json:"email" db:"email"` Hash string `json:"-" db:"hash"` // do no return hash in json }
type UserResetRequest ¶
type UserResponse ¶
type UserResponse struct { AuthentifiedUser VerifyToken string `json:"verify_token"` }
type UserTimelineFilter ¶
type UserTimelineFilter struct { AuthenticatedUserID string `json:"-" db:"authentified_user_id"` Filter TimelineFilter `json:"filter" db:"-"` }
UserTimelineFilter represents user_timeline table
type V2Action ¶ added in v0.53.0
type V2Action struct { Name string `json:"name" jsonschema_extras:"order=1" jsonschema_description:"Name of the action"` Description string `json:"description,omitempty" jsonschema_extras:"order=2"` Inputs map[string]ActionInput `json:"inputs,omitempty" jsonschema_extras:"order=3,mode=edit" jsonschema_description:"Inputs of the action"` Outputs map[string]ActionOutput `json:"outputs,omitempty" jsonschema_extras:"order=4,mode=edit" jsonschema_description:"Outputs compute by the action"` Runs ActionRuns `json:"runs" jsonschema_extras:"order=5"` }
type V2Job ¶ added in v0.53.0
type V2Job struct { Name string `json:"name,omitempty" jsonschema_extras:"order=1" jsonschema_description:"Name of the job"` If string `json:"if,omitempty" jsonschema_extras:"order=5,textarea=true" jsonschema_description:"Condition to execute the job"` Gate string `json:"gate,omitempty" jsonschema_extras:"order=5" jsonschema_description:"Gate allows to trigger manually a job"` Inputs map[string]string `json:"inputs,omitempty" jsonschema_extras:"order=8,mode=edit" jsonschema_description:"Input of thejob"` Steps []ActionStep `json:"steps,omitempty" jsonschema_extras:"order=11" jsonschema_description:"List of steps"` Needs []string `json:"needs,omitempty" jsonschema_extras:"order=6,mode=tags" jsonschema_description:"Job dependencies"` Stage string `json:"stage,omitempty" jsonschema_extras:"order=2"` Region string `json:"region,omitempty" jsonschema_extras:"order=3"` ContinueOnError bool `json:"continue-on-error,omitempty" jsonschema_extras:"order=4"` RunsOnRaw json.RawMessage `json:"runs-on,omitempty" jsonschema_extras:"required,order=5,mode=split"` RunsOn V2JobRunsOn `json:"-"` Strategy *V2JobStrategy `json:"strategy,omitempty" jsonschema_extras:"order=7"` Integrations []string `json:"integrations,omitempty" jsonschema_extras:"required,order=9" jsonschema_description:"Job integrations"` VariableSets []string `json:"vars,omitempty" jsonschema_extras:"required,order=10" jsonschema_description:"VariableSet linked to the job"` Env map[string]string `` /* 127-byte string literal not displayed */ Services map[string]V2JobService `json:"services,omitempty"` // TODO Concurrency V2JobConcurrency `json:"-"` }
func (V2Job) MarshalJSON ¶ added in v0.53.1
func (*V2Job) UnmarshalJSON ¶ added in v0.53.1
type V2JobConcurrency ¶ added in v0.53.0
type V2JobConcurrency struct { }
type V2JobGate ¶ added in v0.53.1
type V2JobGate struct { If string `json:"if,omitempty" jsonschema_extras:"order=1,textarea=true" jsonschema_description:"Condition to execute the gate"` Inputs map[string]V2JobGateInput `` /* 128-byte string literal not displayed */ Reviewers V2JobGateReviewers `json:"reviewers,omitempty" jsonschema_extras:"order=3" jsonschema_description:"Restrict the gate to a list of reviewers"` }
type V2JobGateInput ¶ added in v0.53.1
type V2JobGateReviewers ¶ added in v0.53.1
type V2JobRunsOn ¶ added in v0.53.1
type V2JobService ¶ added in v0.53.1
type V2JobService struct { Image string `json:"image" jsonschema_extras:"order=1,required" jsonschema_description:"Docker Image"` Env map[string]string `json:"env,omitempty" jsonschema_extras:"order=2" jsonschema_description:"Environment variables"` Readiness V2JobServiceReadiness `json:"readiness,omitempty" jsonschema_extras:"order=3" jsonschema_description:"Service readiness"` }
type V2JobServiceReadiness ¶ added in v0.53.1
type V2JobServiceReadiness struct { Command string `` /* 126-byte string literal not displayed */ Interval string `json:"interval" jsonschema_extras:"order=2,required" jsonschema_description:"Internal, example: 10s"` Retries int `json:"retries" jsonschema_extras:"order=4,required" jsonschema_description:"Nb of retries, example: 5"` Timeout string `json:"timeout" jsonschema_extras:"order=3,required" jsonschema_description:"Timeout, example: 3s"` }
type V2JobStrategy ¶ added in v0.53.0
type V2QueueJobInfo ¶ added in v0.53.1
type V2QueueJobInfo struct { RunJob V2WorkflowRunJob `json:"runjob"` Model V2WorkerModel `json:"model"` }
type V2SendJobRunInfo ¶ added in v0.53.0
type V2TakeJobResponse ¶ added in v0.53.0
type V2TakeJobResponse struct { RunJob V2WorkflowRunJob `json:"run_job"` AsCodeActions map[string]V2Action `json:"actions"` SigningKey string `json:"signing_key"` Contexts WorkflowRunJobsContext `json:"contexts"` SensitiveDatas []string `json:"sensitive_datas"` }
type V2Worker ¶ added in v0.53.0
type V2Worker struct { ID string `json:"id" cli:"-" db:"id"` Name string `json:"name" cli:"name,key" db:"name"` LastBeat time.Time `json:"last_beat" cli:"last_beat" db:"last_beat"` ModelName string `json:"model_name" cli:"-" db:"model_name"` JobRunID string `json:"run_job_id" cli:"-" db:"run_job_id"` Status string `json:"status" cli:"status" db:"status"` // Waiting, Building, Disabled, Unknown HatcheryID string `json:"hatchery_id,omitempty" cli:"-" db:"hatchery_id"` HatcheryName string `json:"hatchery_name" cli:"-" db:"hatchery_name"` // If the hatchery service was deleted we will keep its name in the worker ConsumerID string `json:"-" cli:"-" db:"auth_consumer_id"` Version string `json:"version" cli:"version" db:"version"` OS string `json:"os" cli:"os" db:"os"` Arch string `json:"arch" cli:"arch" db:"arch"` PrivateKey []byte `json:"cypher_private_key,omitempty" cli:"-" db:"cypher_private_key" gorpmapping:"encrypted,ID,JobRunID,HatcheryID,ConsumerID"` }
V2Worker represents instances of CDS workers living to serve.
type V2WorkerModel ¶ added in v0.52.0
type V2WorkerModel struct { Name string `json:"name" cli:"name" jsonschema:"minLength=1" jsonschema_extras:"order=1" jsonschema_description:"Name of the worker model"` Description string `json:"description,omitempty" jsonschema_extras:"order=2" jsonschema_description:"Description of the worker model"` OSArch string `json:"osarch" jsonschema_extras:"order=3" jsonschema_description:"OS/Arch of the worker model"` Type string `` /* 177-byte string literal not displayed */ Spec json.RawMessage `` /* 262-byte string literal not displayed */ }
func (V2WorkerModel) GetName ¶ added in v0.52.0
func (wm V2WorkerModel) GetName() string
func (V2WorkerModel) Lint ¶ added in v0.52.0
func (wm V2WorkerModel) Lint() []error
type V2WorkerModelDockerSpec ¶ added in v0.52.0
type V2WorkerModelDockerSpec struct { Image string `json:"image" jsonschema:"minLength=1" jsonschema_extras:"order=1" jsonschema_description:"Docker image name"` Username string `json:"username,omitempty" jsonschema_extras:"order=2" jsonschema_description:"Username to login to the registry"` Password string `json:"password,omitempty" jsonschema_extras:"order=3" jsonschema_description:"User password to login to the registry"` Envs map[string]string `` /* 133-byte string literal not displayed */ }
type V2WorkerModelOpenstackSpec ¶ added in v0.52.0
type V2WorkerModelOpenstackSpec struct {
Image string `json:"image" jsonschema_description:"Name of the openstack image"`
}
type V2WorkerModelVSphereSpec ¶ added in v0.52.0
type V2WorkerModelVSphereSpec struct { Image string `json:"image" jsonschema_description:"Name of the vsphere template"` Username string `json:"username,omitempty" jsonschema_description:"Username to connect to the VM"` Password string `json:"password,omitempty" jsonschema_description:"Username password to connect to the VM"` }
type V2Workflow ¶ added in v0.53.0
type V2Workflow struct { Name string `json:"name"` Repository *WorkflowRepository `json:"repository,omitempty"` OnRaw json.RawMessage `json:"on,omitempty"` CommitStatus *CommitStatus `json:"commit-status,omitempty"` On *WorkflowOn `json:"-" yaml:"-"` Stages map[string]WorkflowStage `json:"stages,omitempty"` Gates map[string]V2JobGate `json:"gates,omitempty"` Jobs map[string]V2Job `json:"jobs"` Env map[string]string `json:"env,omitempty"` Integrations []string `json:"integrations,omitempty"` VariableSets []string `json:"vars,omitempty"` }
func (V2Workflow) CheckGates ¶ added in v0.53.1
func (w V2Workflow) CheckGates() []error
func (V2Workflow) CheckStageAndJobNeeds ¶ added in v0.53.0
func (w V2Workflow) CheckStageAndJobNeeds() []error
func (V2Workflow) GetName ¶ added in v0.53.0
func (w V2Workflow) GetName() string
func (V2Workflow) Lint ¶ added in v0.53.0
func (w V2Workflow) Lint() []error
func (V2Workflow) MarshalJSON ¶ added in v0.53.1
func (w V2Workflow) MarshalJSON() ([]byte, error)
func (*V2Workflow) UnmarshalJSON ¶ added in v0.53.1
func (w *V2Workflow) UnmarshalJSON(data []byte) error
type V2WorkflowHook ¶ added in v0.53.1
type V2WorkflowHook struct { ID string `json:"id" db:"id"` ProjectKey string `json:"project_key" db:"project_key"` VCSName string `json:"vcs_name" db:"vcs_name"` RepositoryName string `json:"repository_name" db:"repository_name"` EntityID string `json:"entity_id" db:"entity_id"` WorkflowName string `json:"workflow_name" db:"workflow_name"` Ref string `json:"ref" db:"ref"` Commit string `json:"commit" db:"commit"` Type string `json:"type" db:"type"` Data V2WorkflowHookData `json:"data" db:"data"` }
type V2WorkflowHookData ¶ added in v0.53.1
type V2WorkflowHookData struct { VCSServer string `json:"vcs_server,omitempty"` RepositoryName string `json:"repository_name,omitempty"` RepositoryEvent string `json:"repository_event,omitempty"` Model string `json:"model,omitempty"` BranchFilter []string `json:"branch_filter,omitempty"` TagFilter []string `json:"tag_filter,omitempty"` PathFilter []string `json:"path_filter,omitempty"` TypesFilter []string `json:"types_filter,omitempty"` TargetBranch string `json:"target_branch,omitempty"` }
func (*V2WorkflowHookData) Scan ¶ added in v0.53.1
func (w *V2WorkflowHookData) Scan(src interface{}) error
type V2WorkflowRun ¶ added in v0.53.0
type V2WorkflowRun struct { ID string `json:"id" db:"id" cli:"id"` ProjectKey string `json:"project_key" db:"project_key"` VCSServerID string `json:"vcs_server_id" db:"vcs_server_id"` VCSServer string `json:"vcs_server" db:"vcs_server"` RepositoryID string `json:"repository_id" db:"repository_id"` Repository string `json:"repository" db:"repository"` WorkflowName string `json:"workflow_name" db:"workflow_name" cli:"workflow_name"` WorkflowSha string `json:"workflow_sha" db:"workflow_sha"` WorkflowRef string `json:"workflow_ref" db:"workflow_ref"` Status V2WorkflowRunStatus `json:"status" db:"status" cli:"status"` RunNumber int64 `json:"run_number" db:"run_number" cli:"run_number"` RunAttempt int64 `json:"run_attempt" db:"run_attempt"` Started time.Time `json:"started" db:"started" cli:"started"` LastModified time.Time `json:"last_modified" db:"last_modified" cli:"last_modified"` ToDelete bool `json:"to_delete" db:"to_delete"` WorkflowData V2WorkflowRunData `json:"workflow_data" db:"workflow_data"` UserID string `json:"user_id" db:"user_id"` Username string `json:"username" db:"username" cli:"username"` Contexts WorkflowRunContext `json:"contexts" db:"contexts"` RunEvent V2WorkflowRunEvent `json:"event" db:"event"` RunJobEvent V2WorkflowRunJobEvents `json:"job_events" db:"job_event"` }
func (V2WorkflowRun) GetStages ¶ added in v0.53.1
func (w V2WorkflowRun) GetStages() WorkflowRunStages
type V2WorkflowRunData ¶ added in v0.53.0
type V2WorkflowRunData struct { Workflow V2Workflow `json:"workflow"` WorkerModels map[string]V2WorkerModel `json:"worker_models"` Actions map[string]V2Action `json:"actions"` }
func (*V2WorkflowRunData) Scan ¶ added in v0.53.0
func (w *V2WorkflowRunData) Scan(src interface{}) error
type V2WorkflowRunEnqueue ¶ added in v0.53.0
type V2WorkflowRunEnqueue struct { RunID string `json:"run_id"` UserID string `json:"user_id"` Gate V2WorkflowRunEnqueueGate `json:"gate"` }
type V2WorkflowRunEnqueueGate ¶ added in v0.53.1
type V2WorkflowRunEvent ¶ added in v0.53.0
type V2WorkflowRunEvent struct { HookType string `json:"hook_type"` EventName string `json:"event_name"` Ref string `json:"ref"` Sha string `json:"sha"` SemverCurrent string `json:"semver_current"` SemverNext string `json:"semver_next"` Payload map[string]interface{} `json:"payload,omitempty"` EntityUpdated string `json:"entity_updated,omitempty"` Cron string `json:"cron,omitempty"` }
func (*V2WorkflowRunEvent) Scan ¶ added in v0.53.0
func (w *V2WorkflowRunEvent) Scan(src interface{}) error
type V2WorkflowRunHookRequest ¶ added in v0.53.1
type V2WorkflowRunHookRequest struct { HookEventID string `json:"hook_event_id"` UserID string `json:"user_id"` EventName string `json:"event_name"` Ref string `json:"ref,omitempty"` Sha string `json:"sha,omitempty"` Payload map[string]interface{} `json:"payload"` HookType string `json:"hook_type"` EntityUpdated string `json:"entity_updated"` SemverCurrent string `json:"semver_current"` SemverNext string `json:"semver_next"` }
type V2WorkflowRunInfo ¶ added in v0.53.0
type V2WorkflowRunInfo struct { ID string `json:"id" db:"id"` WorkflowRunID string `json:"workflow_run_id" db:"workflow_run_id"` IssuedAt time.Time `json:"issued_at" db:"issued_at" cli:"issue_at"` Level string `json:"level" db:"level" cli:"level"` Message string `json:"message" db:"message" cli:"message"` }
type V2WorkflowRunJob ¶ added in v0.53.0
type V2WorkflowRunJob struct { ID string `json:"id" db:"id"` JobID string `json:"job_id" db:"job_id" cli:"job_id"` WorkflowRunID string `json:"workflow_run_id" db:"workflow_run_id"` ProjectKey string `json:"project_key" db:"project_key"` WorkflowName string `json:"workflow_name" db:"workflow_name"` RunNumber int64 `json:"run_number" db:"run_number"` RunAttempt int64 `json:"run_attempt" db:"run_attempt"` Status V2WorkflowRunJobStatus `json:"status" db:"status" cli:"status"` Queued time.Time `json:"queued" db:"queued"` Scheduled *time.Time `json:"scheduled,omitempty" db:"scheduled"` Started *time.Time `json:"started,omitempty" db:"started"` Ended *time.Time `json:"ended,omitempty" db:"ended"` Job V2Job `json:"job" db:"job"` WorkerID string `json:"worker_id,omitempty" db:"worker_id"` WorkerName string `json:"worker_name" db:"worker_name"` HatcheryName string `json:"hatchery_name" db:"hatchery_name"` StepsStatus JobStepsStatus `json:"steps_status" db:"steps_status"` UserID string `json:"user_id" db:"user_id"` Username string `json:"username" db:"username"` Region string `json:"region,omitempty" db:"region"` ModelType string `json:"model_type,omitempty" db:"model_type"` Matrix JobMatrix `json:"matrix,omitempty" db:"matrix"` GateInputs GateInputs `json:"gate_inputs,omitempty" db:"gate_inputs"` }
type V2WorkflowRunJobEvent ¶ added in v0.53.1
type V2WorkflowRunJobEvents ¶ added in v0.53.1
type V2WorkflowRunJobEvents []V2WorkflowRunJobEvent
func (*V2WorkflowRunJobEvents) Scan ¶ added in v0.53.1
func (w *V2WorkflowRunJobEvents) Scan(src interface{}) error
type V2WorkflowRunJobInfo ¶ added in v0.53.0
type V2WorkflowRunJobInfo struct { ID string `json:"id" db:"id"` WorkflowRunID string `json:"workflow_run_id" db:"workflow_run_id"` WorkflowRunJobID string `json:"workflow_run_job_id" db:"workflow_run_job_id"` IssuedAt time.Time `json:"issued_at" db:"issued_at" cli:"date"` Level string `json:"level" db:"level" cli:"level"` Message string `json:"message" db:"message" cli:"message"` }
type V2WorkflowRunJobResult ¶ added in v0.53.0
type V2WorkflowRunJobResult struct { Status V2WorkflowRunJobStatus `json:"status"` Error string `json:"error,omitempty"` Time time.Time `json:"time"` }
type V2WorkflowRunJobStatus ¶ added in v0.53.1
type V2WorkflowRunJobStatus string
const ( V2WorkflowRunJobStatusUnknown V2WorkflowRunJobStatus = "" V2WorkflowRunJobStatusWaiting V2WorkflowRunJobStatus = "Waiting" V2WorkflowRunJobStatusBuilding V2WorkflowRunJobStatus = "Building" V2WorkflowRunJobStatusFail V2WorkflowRunJobStatus = "Fail" V2WorkflowRunJobStatusStopped V2WorkflowRunJobStatus = "Stopped" V2WorkflowRunJobStatusSuccess V2WorkflowRunJobStatus = "Success" V2WorkflowRunJobStatusScheduling V2WorkflowRunJobStatus = "Scheduling" V2WorkflowRunJobStatusSkipped V2WorkflowRunJobStatus = "Skipped" )
func NewV2WorkflowRunJobStatusFromString ¶ added in v0.53.1
func NewV2WorkflowRunJobStatusFromString(s string) (V2WorkflowRunJobStatus, error)
func (V2WorkflowRunJobStatus) IsTerminated ¶ added in v0.53.1
func (s V2WorkflowRunJobStatus) IsTerminated() bool
type V2WorkflowRunManualRequest ¶ added in v0.53.1
type V2WorkflowRunResult ¶ added in v0.53.1
type V2WorkflowRunResult struct { ID string `json:"id" db:"id"` WorkflowRunID string `json:"workflow_run_id" db:"workflow_run_id"` WorkflowRunJobID string `json:"workflow_run_job_id" db:"workflow_run_job_id"` RunAttempt int64 `json:"run_attempt" db:"run_attempt"` IssuedAt time.Time `json:"issued_at" db:"issued_at"` Type V2WorkflowRunResultType `json:"type" db:"type"` ArtifactManagerIntegrationName *string `json:"artifact_manager_integration_name" db:"artifact_manager_integration_name"` ArtifactManagerMetadata *V2WorkflowRunResultArtifactManagerMetadata `json:"artifact_manager_metadata" db:"artifact_manager_metadata"` Detail V2WorkflowRunResultDetail `json:"detail" db:"artifact_manager_detail"` DataSync *WorkflowRunResultSync `json:"sync" db:"sync"` Status string `json:"status" db:"status"` }
func (*V2WorkflowRunResult) GetDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetail() (any, error)
func (*V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultArsenalDeploymentDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultArsenalDeploymentDetail() (*V2WorkflowRunResultArsenalDeploymentDetail, error)
func (*V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultDebianDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultDebianDetail() (*V2WorkflowRunResultDebianDetail, error)
func (*V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultDockerDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultDockerDetail() (*V2WorkflowRunResultDockerDetail, error)
func (*V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultGenericDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultGenericDetail() (*V2WorkflowRunResultGenericDetail, error)
func (*V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultHelmDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultHelmDetail() (*V2WorkflowRunResultHelmDetail, error)
func (*V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultPythonDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultPythonDetail() (*V2WorkflowRunResultPythonDetail, error)
func (*V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultReleaseDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultReleaseDetail() (*V2WorkflowRunResultReleaseDetail, error)
func (*V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultTestDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultTestDetail() (*V2WorkflowRunResultTestDetail, error)
func (*V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultVariableDetail ¶ added in v0.53.1
func (r *V2WorkflowRunResult) GetDetailAsV2WorkflowRunResultVariableDetail() (*V2WorkflowRunResultVariableDetail, error)
func (*V2WorkflowRunResult) Name ¶ added in v0.53.1
func (r *V2WorkflowRunResult) Name() string
func (*V2WorkflowRunResult) Typ ¶ added in v0.53.1
func (r *V2WorkflowRunResult) Typ() string
type V2WorkflowRunResultArsenalDeploymentDetail ¶ added in v0.53.1
type V2WorkflowRunResultArsenalDeploymentDetail struct { IntegrationName string `json:"integration_name" mapstructure:"integration_name"` DeploymentID string `json:"deployment_id" mapstructure:"deployment_id"` DeploymentName string `json:"deployment_name" mapstructure:"deployment_name"` StackID string `json:"stack_id" mapstructure:"stack_id"` StackName string `json:"stack_name" mapstructure:"stack_name"` StackPlatform string `json:"stack_platform" mapstructure:"stack_platform"` Namespace string `json:"namespace" mapstructure:"namespace"` Version string `json:"version" mapstructure:"version"` Alternative *ArsenalDeploymentDetailAlternative `json:"alternative" mapstructure:"alternative"` }
type V2WorkflowRunResultArtifactManagerMetadata ¶ added in v0.53.1
func (*V2WorkflowRunResultArtifactManagerMetadata) Get ¶ added in v0.53.1
func (m *V2WorkflowRunResultArtifactManagerMetadata) Get(k string) string
func (*V2WorkflowRunResultArtifactManagerMetadata) Scan ¶ added in v0.53.1
func (x *V2WorkflowRunResultArtifactManagerMetadata) Scan(src interface{}) error
func (*V2WorkflowRunResultArtifactManagerMetadata) Set ¶ added in v0.53.1
func (m *V2WorkflowRunResultArtifactManagerMetadata) Set(k, v string)
type V2WorkflowRunResultDebianDetail ¶ added in v0.53.1
type V2WorkflowRunResultDebianDetail struct { Name string `json:"name" mapstructure:"name"` Size int64 `json:"size" mapstructure:"size"` MD5 string `json:"md5" mapstructure:"md5"` SHA1 string `json:"sha1" mapstructure:"sha1"` SHA256 string `json:"sha256" mapstructure:"sha256"` Components []string `json:"components" mapstructure:"components"` Distributions []string `json:"distributions" mapstructure:"distributions"` Architectures []string `json:"architectures" mapstructure:"architectures"` }
type V2WorkflowRunResultDetail ¶ added in v0.53.1
type V2WorkflowRunResultDetail struct { Data interface{} `json:"data"` Type string `json:"type"` }
func (*V2WorkflowRunResultDetail) MarshalJSON ¶ added in v0.53.1
func (s *V2WorkflowRunResultDetail) MarshalJSON() ([]byte, error)
MarshalJSON implements json.Marshaler.
func (*V2WorkflowRunResultDetail) Scan ¶ added in v0.53.1
func (s *V2WorkflowRunResultDetail) Scan(src interface{}) error
Scan V2WorkflowRunResultDetail
func (*V2WorkflowRunResultDetail) UnmarshalJSON ¶ added in v0.53.1
func (s *V2WorkflowRunResultDetail) UnmarshalJSON(source []byte) error
UnmarshalJSON implements json.Unmarshaler.
type V2WorkflowRunResultDockerDetail ¶ added in v0.53.1
type V2WorkflowRunResultGenericDetail ¶ added in v0.53.1
type V2WorkflowRunResultGenericDetail struct { Name string `json:"name" mapstructure:"name"` Size int64 `json:"size" mapstructure:"size"` Mode os.FileMode `json:"mode" mapstructure:"mode"` MD5 string `json:"md5" mapstructure:"md5"` SHA1 string `json:"sha1" mapstructure:"sha1"` SHA256 string `json:"sha256" mapstructure:"sha256"` }
type V2WorkflowRunResultHelmDetail ¶ added in v0.53.1
type V2WorkflowRunResultPythonDetail ¶ added in v0.53.1
type V2WorkflowRunResultReleaseDetail ¶ added in v0.53.1
type V2WorkflowRunResultReleaseDetail struct { Name string `json:"name" mapstructure:"name"` Version string `json:"version" mapstructure:"version"` SBOM json.RawMessage `json:"sbom" mapstructure:"sbom"` }
type V2WorkflowRunResultTestDetail ¶ added in v0.53.1
type V2WorkflowRunResultTestDetail struct { Name string `json:"name" mapstructure:"name"` Size int64 `json:"size" mapstructure:"size"` Mode os.FileMode `json:"mode" mapstructure:"mode"` MD5 string `json:"md5" mapstructure:"md5"` SHA1 string `json:"sha1" mapstructure:"sha1"` SHA256 string `json:"sha256" mapstructure:"sha256"` TestsSuites JUnitTestsSuites `json:"tests_suites" mapstructure:"tests_suites"` TestStats TestsStats `json:"tests_stats" mapstructure:"tests_stats"` }
type V2WorkflowRunResultType ¶ added in v0.53.1
type V2WorkflowRunResultType string
type V2WorkflowRunResultVariableDetail ¶ added in v0.53.1
type V2WorkflowRunSearchFilter ¶ added in v0.53.1
type V2WorkflowRunStatus ¶ added in v0.53.1
type V2WorkflowRunStatus string
const ( V2WorkflowRunStatusSkipped V2WorkflowRunStatus = "Skipped" V2WorkflowRunStatusFail V2WorkflowRunStatus = "Fail" V2WorkflowRunStatusSuccess V2WorkflowRunStatus = "Success" V2WorkflowRunStatusStopped V2WorkflowRunStatus = "Stopped" V2WorkflowRunStatusBuilding V2WorkflowRunStatus = "Building" V2WorkflowRunStatusCrafting V2WorkflowRunStatus = "Crafting" )
func (V2WorkflowRunStatus) IsTerminated ¶ added in v0.53.1
func (s V2WorkflowRunStatus) IsTerminated() bool
type VCSArchiveRequest ¶ added in v0.52.0
type VCSAuth ¶ added in v0.52.0
type VCSAuth struct { Type string URL string URLApi string // optional Username string Token string SSHUsername string SSHPort int }
VCSAuth contains tokens (oauth2 tokens or personalAccessToken)
type VCSAuthProject ¶ added in v0.52.0
type VCSAuthProject struct { // VCS Authentication Username string `json:"username,omitempty" db:"-"` Token string `json:"token,omitempty" db:"-"` SSHKeyName string `json:"sshKeyName,omitempty" db:"-"` // Used by gerrit SSHUsername string `json:"sshUsername,omitempty" db:"-"` SSHPort int `json:"sshPort,omitempty" db:"-"` SSHPrivateKey string `json:"sshPrivateKey,omitempty" db:"-"` }
type VCSAuthor ¶
type VCSAuthor struct { Name string `json:"name"` DisplayName string `json:"displayName"` Email string `json:"emailAddress"` Avatar string `json:"avatar"` Slug string `json:"slug"` ID string `json:"id"` }
VCSAuthor represents the auhor for every commit
type VCSAuthorizedClient ¶
type VCSAuthorizedClient interface { VCSAuthorizedClientCommon PullRequests(ctx context.Context, repo string, opts VCSPullRequestOptions) ([]VCSPullRequest, error) }
type VCSAuthorizedClientCommon ¶
type VCSAuthorizedClientCommon interface { //Repos Repos(context.Context) ([]VCSRepo, error) RepoByFullname(ctx context.Context, fullname string) (VCSRepo, error) //Branches Branches(context.Context, string, VCSBranchesFilter) ([]VCSBranch, error) Branch(ctx context.Context, repo string, filters VCSBranchFilters) (*VCSBranch, error) //Tags Tags(ctx context.Context, repo string) ([]VCSTag, error) Tag(ctx context.Context, repo string, tagName string) (VCSTag, error) //Commits Commits(ctx context.Context, repo, branch, since, until string) ([]VCSCommit, error) Commit(ctx context.Context, repo, hash string) (VCSCommit, error) CommitsBetweenRefs(ctx context.Context, repo, base, head string) ([]VCSCommit, error) // PullRequests PullRequest(ctx context.Context, repo string, id string) (VCSPullRequest, error) PullRequestComment(ctx context.Context, repo string, c VCSPullRequestCommentRequest) error PullRequestCreate(ctx context.Context, repo string, pr VCSPullRequest) (VCSPullRequest, error) //Hooks CreateHook(ctx context.Context, repo string, hook *VCSHook) error UpdateHook(ctx context.Context, repo string, hook *VCSHook) error GetHook(ctx context.Context, repo, url string) (VCSHook, error) DeleteHook(ctx context.Context, repo string, hook VCSHook) error //Events GetEvents(ctx context.Context, repo string, dateRef time.Time) ([]interface{}, time.Duration, error) PushEvents(context.Context, string, []interface{}) ([]VCSPushEvent, error) CreateEvents(context.Context, string, []interface{}) ([]VCSCreateEvent, error) DeleteEvents(context.Context, string, []interface{}) ([]VCSDeleteEvent, error) PullRequestEvents(context.Context, string, []interface{}) ([]VCSPullRequestEvent, error) // Set build status on repository SetStatus(ctx context.Context, buildStatus VCSBuildStatus) error ListStatuses(ctx context.Context, repo string, ref string) ([]VCSCommitStatus, error) // Release Release(ctx context.Context, repo, tagName, releaseTitle, releaseDescription string) (*VCSRelease, error) UploadReleaseFile(ctx context.Context, repo string, releaseName string, uploadURL string, artifactName string, r io.Reader, length int) error // Forks ListForks(ctx context.Context, repo string) ([]VCSRepo, error) // File GetArchive(ctx context.Context, repo string, dir string, format string, commit string) (io.Reader, http.Header, error) ListContent(ctx context.Context, repo string, commit, dir string) ([]VCSContent, error) GetContent(ctx context.Context, repo string, commit, dir string) (VCSContent, error) // Search SearchPullRequest(ctx context.Context, repoFullName, commit, state string) (*VCSPullRequest, error) }
VCSAuthorizedClientCommon is an interface for a connected client on a VCS Server.
type VCSAuthorizedClientService ¶
type VCSAuthorizedClientService interface { VCSAuthorizedClientCommon PullRequests(ctx context.Context, repo string, mods ...VCSRequestModifier) ([]VCSPullRequest, error) IsGerrit(ctx context.Context, db gorp.SqlExecutor) (bool, error) IsBitbucketCloud() bool }
type VCSBranch ¶
type VCSBranch struct { ID string `json:"id"` DisplayID string `json:"display_id"` LatestCommit string `json:"latest_commit"` Default bool `json:"default"` Parents []string `json:"parents"` }
VCSBranch represents branches known by the repositories manager
func GetDefaultBranch ¶
GetDefaultBranch return the default branch
type VCSBranchFilters ¶
type VCSBranchesFilter ¶
type VCSBranchesFilter struct {
Limit int64
}
type VCSBuildStatus ¶ added in v0.53.1
type VCSBuildStatus struct { // v2: fmt.Sprintf("%s-%s", event.ProjectKey, event.WorkflowName) Title string `json:"title"` // v1:eventNR.NodeName + ": " + eventNR.Status // v2: Workflow.Name + ": " +Status Description string `json:"description"` // v1: fmt.Sprintf("%s/project/%s/workflow/%s/run/%d", cdsUIURL, event.ProjectKey, event.WorkflowName, eventNR.Number) // v2: TODO URLCDS string `json:"url_cds"` // // v1: fmt.Sprintf("%s-%s-%s", event.ProjectKey, event.WorkflowName, eventNR.NodeName) // v2: fmt.Sprintf("%s-%s", event.ProjectKey, event.WorkflowName) Context string `json:"context"` Status string `json:"status"` RepositoryFullname string `json:"repository_fullname"` GitHash string `json:"git_hash"` // from v1 workflow only GerritChange *GerritChangeEvent `json:"gerrit_change,omitempty"` }
type VCSCommit ¶
type VCSCommit struct { Hash string `json:"id"` Author VCSAuthor `json:"author"` Committer VCSAuthor `json:"committer"` Timestamp int64 `json:"authorTimestamp"` Message string `json:"message"` URL string `json:"url"` Verified bool `json:"verified"` Signature string `json:"signature"` }
VCSCommit represents the commit in the repository
type VCSCommitStatus ¶
type VCSCommitStatus struct { Ref string `json:"ref"` CreatedAt time.Time `json:"created_at"` State string `json:"state"` Decription string `json:"description"` }
VCSCommitStatus represents a status on a VCS repository
type VCSConfiguration ¶
VCSConfiguration represent a small vcs configuration
type VCSContent ¶ added in v0.52.0
type VCSCreateEvent ¶
type VCSCreateEvent VCSPushEvent
VCSCreateEvent represents a push events for polling
type VCSDeleteEvent ¶
type VCSDeleteEvent struct {
Branch VCSBranch `json:"branch"`
}
VCSDeleteEvent represents a push events for polling
type VCSEvent ¶ added in v0.53.1
type VCSEvent struct { ProjectEventV2 VCSName string `json:"vcs_name"` UserID string `json:"user_id"` Username string `json:"username"` }
type VCSGerritConfiguration ¶ added in v0.52.0
type VCSHook ¶
type VCSHook struct { ID string `json:"id"` Name string `json:"name"` Events []string `json:"events"` Method string `json:"method"` URL string `json:"url"` ContentType string `json:"content_type"` Body string `json:"body"` Disable bool `json:"disable"` InsecureSSL bool `json:"insecure_ssl"` }
VCSHook represents a hook on a VCS repository
type VCSOptionsProject ¶ added in v0.52.0
type VCSOptionsProject struct { DisableWebhooks bool `json:"disableWebhooks,omitempty" db:"-"` DisableStatus bool `json:"disableStatus,omitempty" db:"-"` DisableStatusDetails bool `json:"disableStatusDetails,omitempty" db:"-"` DisablePolling bool `json:"disablePolling,omitempty" db:"-"` URLAPI string `json:"urlApi,omitempty" db:"-"` // optional }
func (*VCSOptionsProject) Scan ¶ added in v0.52.0
func (v *VCSOptionsProject) Scan(src interface{}) error
type VCSProject ¶ added in v0.52.0
type VCSProject struct { ID string `json:"id" db:"id"` Name string `json:"name" db:"name" cli:"name,key"` Type string `json:"type" db:"type"` Created time.Time `json:"created" db:"created"` LastModified time.Time `json:"last_modified" db:"last_modified"` CreatedBy string `json:"created_by" db:"created_by"` ProjectID int64 `json:"-" db:"project_id"` Description string `json:"description" db:"description"` URL string `json:"url" db:"url"` Auth VCSAuthProject `json:"auth" db:"auth" gorpmapping:"encrypted,ProjectID"` Options VCSOptionsProject `json:"options" db:"options"` }
func (VCSProject) Lint ¶ added in v0.53.0
func (v VCSProject) Lint(prj Project) error
type VCSPullRequest ¶
type VCSPullRequest struct { ID int `json:"id"` ChangeID string `json:"change_id"` URL string `json:"url"` User VCSAuthor `json:"user"` Head VCSPushEvent `json:"head"` Base VCSPushEvent `json:"base"` Title string `json:"title"` Merged bool `json:"merged"` Closed bool `json:"closed"` Revision string `json:"revision"` Updated time.Time `json:"updated"` MergeBy VCSAuthor `json:"merge_by"` State string `json:"state"` }
VCSPullRequest represents a pull request
type VCSPullRequestEvent ¶
type VCSPullRequestEvent struct { Action string `json:"action"` // opened | closed URL string `json:"url"` Repo string `json:"repo"` User VCSAuthor `json:"user"` Head VCSPushEvent `json:"head"` Base VCSPushEvent `json:"base"` Branch VCSBranch `json:"branch"` }
VCSPullRequestEvent represents a push events for polling
type VCSPullRequestOptions ¶
type VCSPullRequestOptions struct {
State VCSPullRequestState
}
type VCSPullRequestState ¶
type VCSPullRequestState string
const ( VCSPullRequestStateAll VCSPullRequestState = "all" VCSPullRequestStateOpen VCSPullRequestState = "open" VCSPullRequestStateClosed VCSPullRequestState = "closed" VCSPullRequestStateMerged VCSPullRequestState = "merged" )
func (VCSPullRequestState) IsValid ¶
func (s VCSPullRequestState) IsValid() bool
type VCSPushEvent ¶
type VCSPushEvent struct { Repo string `json:"repo"` Branch VCSBranch `json:"branch"` Commit VCSCommit `json:"commit"` CloneURL string `json:"clone_url"` }
VCSPushEvent represents a push events for polling
type VCSRelease ¶
VCSRelease represents data about release on github, etc..
type VCSRepo ¶
type VCSRepo struct { ID string `json:"id"` Name string `json:"name"` //On Github: Name = Slug Slug string `json:"slug"` //On Github: Slug = Name Fullname string `json:"fullname"` //On Stash : projectkey/slug, on Github : owner/slug URL string `json:"url"` //Web URL HTTPCloneURL string `json:"http_url"` //Git clone URL "https://<baseURL>/scm/PRJ/my-repo.git" SSHCloneURL string `json:"ssh_url"` //Git clone URL "ssh://git@<baseURL>/PRJ/my-repo.git" }
VCSRepo represents data about repository even on stash, or github, etc...
type VCSRequestModifier ¶
func VCSRequestModifierWithState ¶
func VCSRequestModifierWithState(state VCSPullRequestState) VCSRequestModifier
type VCSServer ¶
type VCSServer interface {
GetAuthorizedClient(context.Context, VCSAuth) (VCSAuthorizedClient, error)
}
VCSServer is an interface for a OAuth VCS Server. The goal of this interface is to return a VCSAuthorizedClient.
type VCSTag ¶
type VCSTag struct { Tag string `json:"tag"` Sha string `json:"sha"` // Represent sha of tag Message string `json:"message"` Tagger VCSAuthor `json:"tagger"` Hash string `json:"hash"` // Represent hash of commit }
VCSTag represents branches known by the repositories manager
type Variable ¶
type Variable struct { ID int64 `json:"id,omitempty" cli:"-"` Name string `json:"name" cli:"name,key"` Value string `json:"value" cli:"value"` Type string `json:"type" cli:"type"` }
Variable represent a variable for a project or pipeline
func FromAplicationVariables ¶
func FromAplicationVariables(appVars []ApplicationVariable) []Variable
func FromEnvironmentVariables ¶
func FromEnvironmentVariables(envVars []EnvironmentVariable) []Variable
func FromProjectVariables ¶
func FromProjectVariables(appVars []ProjectVariable) []Variable
func VariableFind ¶
VariableFind return a variable given its name if it exists in array
func VariablesFilter ¶
VariablesFilter return a slice of variables filtered by type
func VariablesPrefix ¶
VariablesPrefix add a prefix on all the variable in the slice
func (*Variable) ToApplicationVariable ¶
func (v *Variable) ToApplicationVariable(appID int64) *ApplicationVariable
func (Variable) ToParameter ¶
type VariableAudit ¶
type VariableAudit struct { ID int `json:"id"` Variables []Variable `json:"variables"` Versionned time.Time `json:"versionned"` Author string `json:"author"` }
VariableAudit represent audit for a variable
type VariableEvent ¶ added in v0.53.1
type VariableEvent struct { ProjectEventV2 Variable string `json:"variable"` UserID string `json:"user_id"` Username string `json:"username"` }
type Version ¶
type Version struct { Version string `json:"version" yaml:"version"` Architecture string `json:"architecture" yaml:"architecture"` OS string `json:"os" yaml:"os"` GitHash string `json:"git_hash" yaml:"git_hash"` BuildTime string `json:"build_time" yaml:"build_time"` DBMigrate string `json:"db_migrate,omitempty" yaml:"db_migrate,omitempty"` }
Version is used by /mon/version
type Warning ¶
type Warning struct { ID int64 `json:"id" db:"id"` Key string `json:"key" db:"project_key"` AppName string `json:"application_name" db:"application_name"` PipName string `json:"pipeline_name" db:"pipeline_name"` WorkflowName string `json:"workflow_name" db:"workflow_name"` EnvName string `json:"environment_name" db:"environment_name"` Type string `json:"type" db:"type"` Element string `json:"element" db:"element"` Created time.Time `json:"created" db:"created"` MessageParams map[string]string `json:"message_params" db:"-"` Message string `json:"message" db:"-"` Hash string `json:"hash" db:"hash"` Ignored bool `json:"ignored" db:"ignored"` }
Warning Represents warning database structure
type WebHookExecution ¶
type WebHookExecution struct { RequestURL string `json:"request_url"` RequestBody []byte `json:"request_body"` RequestHeader map[string][]string `json:"request_header"` RequestMethod string `json:"request_method"` }
WebHookExecution contains specific data for a webhook execution
type WebsocketEvent ¶
type WebsocketFilter ¶
type WebsocketFilter struct { Type WebsocketFilterType `json:"type"` ProjectKey string `json:"project_key"` ApplicationName string `json:"application_name"` PipelineName string `json:"pipeline_name"` EnvironmentName string `json:"environment_name"` WorkflowName string `json:"workflow_name"` WorkflowRunNumber int64 `json:"workflow_run_num"` WorkflowNodeRunID int64 `json:"workflow_node_run_id"` OperationUUID string `json:"operation_uuid"` HatcheryType string `json:"hatchery_type"` }
func (WebsocketFilter) IsValid ¶
func (f WebsocketFilter) IsValid() error
IsValid return an error if given filter is not valid.
func (WebsocketFilter) Key ¶
func (f WebsocketFilter) Key() string
Key generates the unique key associated to given filter.
type WebsocketFilterType ¶
type WebsocketFilterType string
const ( WebsocketFilterTypeGlobal WebsocketFilterType = "global" WebsocketFilterTypeProject WebsocketFilterType = "project" WebsocketFilterTypeWorkflow WebsocketFilterType = "workflow" WebsocketFilterTypeWorkflowRun WebsocketFilterType = "workflow-run" WebsocketFilterTypeWorkflowNodeRun WebsocketFilterType = "workflow-node-run" WebsocketFilterTypePipeline WebsocketFilterType = "pipeline" WebsocketFilterTypeApplication WebsocketFilterType = "application" WebsocketFilterTypeEnvironment WebsocketFilterType = "environment" WebsocketFilterTypeQueue WebsocketFilterType = "queue" WebsocketFilterTypeOperation WebsocketFilterType = "operation" WebsocketFilterTypeAscodeEvent WebsocketFilterType = "ascode-event" WebsocketFilterTypeDryRunRetentionWorkflow WebsocketFilterType = "workflow-retention-dryrun" )
func (WebsocketFilterType) IsValid ¶
func (f WebsocketFilterType) IsValid() bool
type WebsocketFilters ¶
type WebsocketFilters []WebsocketFilter
type WebsocketHatcheryFilter ¶ added in v0.53.0
type WebsocketJobQueueEvent ¶ added in v0.53.0
type Worker ¶
type Worker struct { ID string `json:"id" cli:"-" db:"id"` Name string `json:"name" cli:"name,key" db:"name"` LastBeat time.Time `json:"lastbeat" cli:"lastbeat" db:"last_beat"` ModelID *int64 `json:"model_id" cli:"-" db:"model_id"` ModelName *string `json:"model_name" cli:"-" db:"model_name"` JobRunID *int64 `json:"job_run_id" cli:"-" db:"job_run_id"` Status string `json:"status" cli:"status" db:"status"` // Waiting, Building, Disabled, Unknown HatcheryID *int64 `json:"hatchery_id,omitempty" cli:"-" db:"hatchery_id"` HatcheryName string `json:"hatchery_name" cli:"-" db:"hatchery_name"` // If the hatchery service was deleted we will keep its name in the worker Uptodate bool `json:"uptodate" cli:"-" db:"-"` ConsumerID string `json:"-" cli:"-" db:"auth_consumer_id"` Version string `json:"version" cli:"version" db:"version"` OS string `json:"os" cli:"os" db:"os"` Arch string `json:"arch" cli:"arch" db:"arch"` PrivateKey []byte `json:"private_key,omitempty" cli:"-" db:"cypher_private_key" gorpmapping:"encrypted,ID,Name,JobRunID"` }
Worker represents instances of CDS workers living to serve.
type WorkerDirectories ¶ added in v0.53.0
type WorkerHookProjectIntegrationModel ¶
type WorkerHookProjectIntegrationModel struct { ID int64 `json:"id" db:"id" cli:"id,key"` ProjectIntegrationID int64 `json:"project_integration_id" db:"project_integration_id" cli:"-"` Configuration WorkerHookSetupTeardownConfig `json:"configuration" db:"configuration" cli:"configuration"` Disable bool `json:"disable" db:"disable" cli:"disable"` }
type WorkerHookSetupTeardownConfig ¶
type WorkerHookSetupTeardownConfig struct { DisableOnRegions []string `json:"disable_on_regions" yaml:"disable_on_regions"` ByCapabilities map[string]WorkerHookSetupTeardownScripts `json:"by_capabilities" yaml:"by_capabilities"` }
func (*WorkerHookSetupTeardownConfig) Scan ¶
func (w *WorkerHookSetupTeardownConfig) Scan(src interface{}) error
Scan action.
type WorkerModelSecret ¶
type WorkerModelSecret struct { ID string `json:"id" db:"id"` Created time.Time `json:"created" cli:"created" db:"created"` WorkerModelID int64 `json:"worker_model_id" db:"worker_model_id"` Name string `json:"name" db:"name"` Value string `json:"value" db:"cipher_value" gorpmapping:"encrypted,WorkerModelID,Name"` }
type WorkerModelSecrets ¶
type WorkerModelSecrets []WorkerModelSecret
func (WorkerModelSecrets) ToMap ¶
func (w WorkerModelSecrets) ToMap() map[string]string
type WorkerRegistrationForm ¶
type WorkerRegistrationForm struct { BinaryCapabilities []string Version string OS string Arch string }
WorkerRegistrationForm represents the arguments needed to register a worker
type WorkerStarterWorkerModel ¶ added in v0.53.0
type WorkerStarterWorkerModel struct { ModelV1 *Model // Worker model v2 ModelV2 *V2WorkerModel PreCmd string Cmd string Shell string PostCmd string DockerSpec V2WorkerModelDockerSpec OpenstackSpec V2WorkerModelOpenstackSpec VSphereSpec V2WorkerModelVSphereSpec Commit string Flavor string Memory int64 }
func (WorkerStarterWorkerModel) GetCmd ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetCmd() string
func (WorkerStarterWorkerModel) GetDockerEnvs ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetDockerEnvs() map[string]string
func (WorkerStarterWorkerModel) GetDockerImage ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetDockerImage() string
func (WorkerStarterWorkerModel) GetDockerPassword ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetDockerPassword() string
func (WorkerStarterWorkerModel) GetDockerUsername ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetDockerUsername() string
func (WorkerStarterWorkerModel) GetFlavor ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetFlavor(reqs RequirementList, defaultFlavor string) string
func (WorkerStarterWorkerModel) GetFullPath ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetFullPath() string
func (WorkerStarterWorkerModel) GetLastModified ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetLastModified() string
func (WorkerStarterWorkerModel) GetName ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetName() string
func (WorkerStarterWorkerModel) GetOpenstackImage ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetOpenstackImage() string
func (WorkerStarterWorkerModel) GetPath ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetPath() string
func (WorkerStarterWorkerModel) GetPostCmd ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetPostCmd() string
func (WorkerStarterWorkerModel) GetPreCmd ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetPreCmd() string
func (WorkerStarterWorkerModel) GetShell ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetShell() string
func (WorkerStarterWorkerModel) GetVSphereImage ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetVSphereImage() string
func (WorkerStarterWorkerModel) GetVSpherePassword ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetVSpherePassword() string
func (WorkerStarterWorkerModel) GetVSphereUsername ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) GetVSphereUsername() string
func (WorkerStarterWorkerModel) IsPrivate ¶ added in v0.53.0
func (w WorkerStarterWorkerModel) IsPrivate() bool
type Workflow ¶
type Workflow struct { ID int64 `json:"id" db:"id" cli:"-"` Name string `json:"name" db:"name" cli:"name,key"` Description string `json:"description,omitempty" db:"description" cli:"description"` Icon string `json:"icon,omitempty" db:"icon" cli:"-"` LastModified time.Time `json:"last_modified" db:"last_modified" mapstructure:"-"` ProjectID int64 `json:"project_id,omitempty" db:"project_id" cli:"-"` ProjectKey string `json:"project_key" db:"-" cli:"-"` Groups GroupPermissions `json:"groups,omitempty" db:"-" cli:"-"` Permissions Permissions `json:"permissions" db:"-" cli:"-"` Metadata Metadata `json:"metadata,omitempty" yaml:"metadata" db:"metadata"` Usage *Usage `json:"usage,omitempty" db:"-" cli:"-"` HistoryLength int64 `json:"history_length" db:"history_length" cli:"-"` PurgeTags PurgeTags `json:"purge_tags,omitempty" db:"purge_tags" cli:"-"` RetentionPolicy string `json:"retention_policy,omitempty" db:"retention_policy" cli:"-"` MaxRuns int64 `json:"max_runs,omitempty" db:"max_runs" cli:"-"` Notifications []WorkflowNotification `json:"notifications,omitempty" db:"-" cli:"-"` FromRepository string `json:"from_repository,omitempty" db:"from_repository" cli:"from"` DerivedFromWorkflowID int64 `json:"derived_from_workflow_id,omitempty" db:"derived_from_workflow_id" cli:"-"` DerivedFromWorkflowName string `json:"derived_from_workflow_name,omitempty" db:"derived_from_workflow_name" cli:"-"` DerivationBranch string `json:"derivation_branch,omitempty" db:"derivation_branch" cli:"-"` Audits []AuditWorkflow `json:"audits,omitempty" db:"-"` Pipelines map[int64]Pipeline `json:"pipelines,omitempty" db:"-" cli:"-" mapstructure:"-"` Applications map[int64]Application `json:"applications,omitempty" db:"-" cli:"-" mapstructure:"-"` Environments map[int64]Environment `json:"environments,omitempty" db:"-" cli:"-" mapstructure:"-"` ProjectIntegrations map[int64]ProjectIntegration `json:"project_integrations,omitempty" db:"-" cli:"-" mapstructure:"-"` HookModels map[int64]WorkflowHookModel `json:"hook_models,omitempty" db:"-" cli:"-" mapstructure:"-"` OutGoingHookModels map[int64]WorkflowHookModel `json:"outgoing_hook_models,omitempty" db:"-" cli:"-" mapstructure:"-"` AscodeActions map[string]V2Action `json:"action_as_code,omitempty" db:"-" cli:"-" mapstructure:"-"` Labels []Label `json:"labels,omitempty" db:"-" cli:"labels"` ToDelete bool `json:"to_delete" db:"to_delete" cli:"-"` ToDeleteWithDependencies *bool `json:"to_delete_with_dependencies" db:"to_delete_with_dependencies" cli:"-"` Favorite bool `json:"favorite" db:"-" cli:"favorite"` WorkflowData WorkflowData `json:"workflow_data" db:"workflow_data" cli:"-"` Integrations []WorkflowProjectIntegration `json:"integrations,omitempty" db:"-" cli:"-"` AsCodeEvent []AsCodeEvent `json:"as_code_events,omitempty" db:"-" cli:"-"` // aggregates TemplateInstance *WorkflowTemplateInstance `json:"template_instance,omitempty" db:"-" cli:"-"` FromTemplate string `json:"from_template,omitempty" db:"-" cli:"-"` TemplateUpToDate bool `json:"template_up_to_date,omitempty" db:"-" cli:"-"` URLs URL `json:"urls" yaml:"-" db:"-" cli:"-"` Runs []WorkflowRun `json:"runs,omitempty" yaml:"-" db:"-" cli:"-"` Organization string `json:"organization,omitempty" yaml:"-" db:"-" cli:"-"` }
Workflow represents a pipeline based workflow
func (*Workflow) AddTrigger ¶
AddTrigger adds a trigger to the destination node from the node found by its name
func (*Workflow) AssignEmptyType ¶
func (w *Workflow) AssignEmptyType()
AssignEmptyType fill node type field
func (*Workflow) FilterHooksConfig ¶
FilterHooksConfig filter all hooks configuration and remove some configuration key
func (*Workflow) GetApplication ¶
func (w *Workflow) GetApplication(ID int64) Application
GetApplication retrieve application from workflow
func (*Workflow) GetEventIntegration ¶
func (w *Workflow) GetEventIntegration() []WorkflowProjectIntegration
func (*Workflow) GetRepositories ¶
GetRepositories returns the list of repositories from applications
func (*Workflow) Normalize ¶
func (w *Workflow) Normalize()
AssignEmptyType fill node type field This function should be called after completing the maps
func (*Workflow) ResetIDs ¶
func (w *Workflow) ResetIDs()
ResetIDs resets all nodes, joins, integration ids
func (*Workflow) ValidateType ¶
ValidateType check if nodes have a correct nodeType
type WorkflowData ¶
type WorkflowData struct { Node Node `json:"node" db:"-" cli:"-"` Joins []Node `json:"joins" db:"-" cli:"-"` }
func (*WorkflowData) AncestorsNames ¶
func (w *WorkflowData) AncestorsNames(n Node) []string
func (*WorkflowData) Array ¶
func (w *WorkflowData) Array() []*Node
func (*WorkflowData) GetHooks ¶
func (w *WorkflowData) GetHooks() map[string]*NodeHook
GetHooks returns the list of all hooks in the workflow tree
func (*WorkflowData) GetHooksMapRef ¶
func (w *WorkflowData) GetHooksMapRef() map[string]NodeHook
GetHooksMapRef returns the list of all hooks in the workflow tree
func (*WorkflowData) Maps ¶
func (w *WorkflowData) Maps() map[int64]*Node
func (*WorkflowData) NodeByID ¶
func (w *WorkflowData) NodeByID(ID int64) *Node
func (*WorkflowData) NodeByName ¶
func (w *WorkflowData) NodeByName(s string) *Node
func (*WorkflowData) NodeByRef ¶
func (w *WorkflowData) NodeByRef(ref string) *Node
type WorkflowDeleteDependencies ¶
type WorkflowDeleteDependencies struct { DeletedDependencies WorkflowDependencies `json:"deleted_dependencies"` UnlinkedAsCodeDependencies WorkflowDependencies `json:"unlinked_as_code_dependencies"` }
type WorkflowDependencies ¶
type WorkflowGroup ¶
type WorkflowGroup struct { Workflow Workflow `json:"workflow"` Permission int `json:"permission"` }
WorkflowGroup represents the permission to a workflow
type WorkflowHookModel ¶
type WorkflowHookModel struct { ID int64 `json:"id" db:"id" cli:"-"` Name string `json:"name" db:"name" cli:"name"` Type string `json:"type" db:"type"` Author string `json:"author" db:"author"` Description string `json:"description" db:"description"` Identifier string `json:"identifier" db:"identifier"` Icon string `json:"icon" db:"icon"` Command string `json:"command" db:"command"` DefaultConfig WorkflowNodeHookConfig `json:"default_config" db:"-"` Disabled bool `json:"disabled" db:"disabled"` }
WorkflowHookModel represents a hook which can be used in workflows.
func GetBuiltinHookModelByName ¶
func GetBuiltinHookModelByName(name string) *WorkflowHookModel
GetBuiltinHookModelByName retrieve the hook model
func GetBuiltinOutgoingHookModelByName ¶
func GetBuiltinOutgoingHookModelByName(name string) *WorkflowHookModel
GetBuiltinOutgoingHookModelByName retrieve the outgoing hook model
func GetDefaultHookModel ¶
func GetDefaultHookModel(modelName string) WorkflowHookModel
GetDefaultHookModel return the workflow hook model by its name
type WorkflowName ¶
type WorkflowNodeCondition ¶
type WorkflowNodeCondition struct { Variable string `json:"variable" yaml:"variable"` Operator string `json:"operator" yaml:"operator"` Value string `json:"value" yaml:"value"` }
WorkflowNodeCondition represents a condition to trigger ot not a pipeline in a workflow. Operator can be =, !=, regex
type WorkflowNodeConditions ¶
type WorkflowNodeConditions struct { PlainConditions []WorkflowNodeCondition `json:"plain,omitempty" yaml:"check,omitempty"` LuaScript string `json:"lua_script,omitempty" yaml:"script,omitempty"` }
WorkflowNodeConditions is either an array of WorkflowNodeCondition or a lua script
func (*WorkflowNodeConditions) Scan ¶
func (w *WorkflowNodeConditions) Scan(src interface{}) error
Scan workflow template request.
type WorkflowNodeContextDefaultPayloadVCS ¶
type WorkflowNodeContextDefaultPayloadVCS struct { GitBranch string `json:"git.branch" db:"-"` GitTag string `json:"git.tag" db:"-"` GitHash string `json:"git.hash" db:"-"` GitAuthor string `json:"git.author" db:"-"` GitHashBefore string `json:"git.hash.before" db:"-"` GitRepository string `json:"git.repository" db:"-"` GitMessage string `json:"git.message" db:"-"` }
WorkflowNodeContextDefaultPayloadVCS represents a default payload when a workflow is attached to a repository Webhook
type WorkflowNodeHookConfig ¶
type WorkflowNodeHookConfig map[string]WorkflowNodeHookConfigValue
WorkflowNodeHookConfig represents the configguration for a WorkflowNodeHook
func (WorkflowNodeHookConfig) Clone ¶
func (cfg WorkflowNodeHookConfig) Clone() WorkflowNodeHookConfig
Clone returns a copied dinstance of cfg
func (WorkflowNodeHookConfig) Equals ¶
func (w WorkflowNodeHookConfig) Equals(o WorkflowNodeHookConfig) bool
func (WorkflowNodeHookConfig) Filter ¶
func (w WorkflowNodeHookConfig) Filter(f func(k string, v WorkflowNodeHookConfigValue) bool) WorkflowNodeHookConfig
func (WorkflowNodeHookConfig) MergeWith ¶
func (w WorkflowNodeHookConfig) MergeWith(cfg WorkflowNodeHookConfig)
func (*WorkflowNodeHookConfig) Scan ¶
func (w *WorkflowNodeHookConfig) Scan(src interface{}) error
Scan workflow template request.
func (WorkflowNodeHookConfig) Value ¶
func (w WorkflowNodeHookConfig) Value() (driver.Value, error)
Value returns driver.Value from WorkflowNodeHookConfig request.
func (WorkflowNodeHookConfig) Values ¶
func (cfg WorkflowNodeHookConfig) Values(model WorkflowNodeHookConfig) map[string]string
Values return values of the WorkflowNodeHookConfig
type WorkflowNodeHookConfigValue ¶
type WorkflowNodeHookConfigValue struct { Value string `json:"value"` Configurable bool `json:"configurable"` Type string `json:"type"` MultipleChoiceList []string `json:"multiple_choice_list"` }
WorkflowNodeHookConfigValue represents the value of a node hook config
type WorkflowNodeJobRun ¶
type WorkflowNodeJobRun struct { ProjectID int64 `json:"project_id"` ID int64 `json:"id"` WorkflowNodeRunID int64 `json:"workflow_node_run_id,omitempty"` Job ExecutedJob `json:"job"` Parameters []Parameter `json:"parameters,omitempty"` Status string `json:"status"` Retry int `json:"retry"` Queued time.Time `json:"queued,omitempty" cli:"queued"` QueuedSeconds int64 `json:"queued_seconds,omitempty"` Start time.Time `json:"start,omitempty"` Done time.Time `json:"done,omitempty"` Model string `json:"model,omitempty"` ModelType string `json:"model_type,omitempty"` Region *string `json:"region,omitempty"` BookedBy BookedBy `json:"bookedby,omitempty"` SpawnInfos []SpawnInfo `json:"spawninfos"` ExecGroups Groups `json:"exec_groups"` Header WorkflowRunHeaders `json:"header,omitempty"` ContainsService bool `json:"contains_service,omitempty"` HatcheryName string `json:"hatchery_name,omitempty"` WorkerName string `json:"worker_name,omitempty"` IntegrationPlugins []GRPCPlugin `json:"integration_plugin,omitempty"` Contexts JobRunContext `json:"-"` }
WorkflowNodeJobRun represents an job to be run
func (*WorkflowNodeJobRun) GetPuginBinary ¶
func (wnjr *WorkflowNodeJobRun) GetPuginBinary(pluginType string, os string, arch string) *GRPCPluginBinary
func (WorkflowNodeJobRun) ToSummary ¶
func (wnjr WorkflowNodeJobRun) ToSummary() WorkflowNodeJobRunSummary
ToSummary transforms a WorkflowNodeJobRun into a WorkflowNodeJobRunSummary
func (*WorkflowNodeJobRun) Translate ¶
func (wnjr *WorkflowNodeJobRun) Translate()
Translate translates messages in WorkflowNodeJobRun
type WorkflowNodeJobRunBooked ¶
type WorkflowNodeJobRunBooked struct { ProjectKey string `json:"project_key"` WorkflowName string `json:"workflow_name"` WorkflowID int64 `json:"workflow_id"` RunID int64 `json:"run_id"` NodeRunName string `json:"node_run_name"` NodeRunID int64 `json:"node_run_id"` JobName string `json:"job_name"` }
type WorkflowNodeJobRunCount ¶
type WorkflowNodeJobRunCount struct { Count int64 `json:"version"` Since time.Time `json:"since"` Until time.Time `json:"until"` }
WorkflowNodeJobRunCount return nb workflow run job since 'since'
type WorkflowNodeJobRunData ¶
type WorkflowNodeJobRunData struct { NodeJobRun WorkflowNodeJobRun Secrets []Variable Features map[FeatureName]bool AscodeActions map[string]V2Action Number int64 SubNumber int64 SigningKey string GelfServiceAddr string GelfServiceAddrEnableTLS bool CDNHttpAddr string ProjectKey string WorkflowName string WorkflowID int64 RunID int64 NodeRunName string }
WorkflowNodeJobRunData is returned to worker in answer to postTakeWorkflowJobHandler
type WorkflowNodeJobRunInfo ¶
type WorkflowNodeJobRunInfo struct { ID int64 `json:"id"` WorkflowNodeJobRunID int64 `json:"workflow_node_job_run_id,omitempty"` WorkflowNodeRunID int64 `json:"workflow_node_run_id,omitempty"` SpawnInfos []SpawnInfo `json:"info"` Created time.Time `json:"created"` }
WorkflowNodeJobRunInfo represents info on a job
type WorkflowNodeJobRunSummary ¶
type WorkflowNodeJobRunSummary struct { ID int64 `json:"id"` WorkflowNodeRunID int64 `json:"workflow_node_run_id,omitempty"` Status string `json:"status"` Queued int64 `json:"queued,omitempty"` Start int64 `json:"start,omitempty"` Done int64 `json:"done,omitempty"` Job ExecutedJobSummary `json:"job_summary,omitempty"` SpawnInfos []SpawnInfo `json:"spawninfos"` HatcheryName string `json:"hatchery_name,omitempty"` WorkerName string `json:"worker_name,omitempty"` WorkerModelName string `json:"worker_model_name,omitempty"` }
WorkflowNodeJobRunSummary is a light representation of WorkflowNodeJobRun for CDS event
type WorkflowNodeOutgoingHookRunCallback ¶
type WorkflowNodeOutgoingHookRunCallback struct { NodeHookID int64 `json:"workflow_node_outgoing_hook_id"` Start time.Time `json:"start"` Done time.Time `json:"done"` Status string `json:"status"` Log string `json:"log"` WorkflowRunNumber *int64 `json:"workflow_run_number"` }
WorkflowNodeOutgoingHookRunCallback is the callback coming from hooks uservice avec an outgoing hook execution
type WorkflowNodeRun ¶
type WorkflowNodeRun struct { WorkflowRunID int64 `json:"workflow_run_id"` WorkflowID int64 `json:"workflow_id"` ApplicationID int64 `json:"application_id"` ID int64 `json:"id"` WorkflowNodeID int64 `json:"workflow_node_id"` WorkflowNodeName string `json:"workflow_node_name"` Number int64 `json:"num"` SubNumber int64 `json:"subnumber"` Status string `json:"status"` Stages []Stage `json:"stages,omitempty"` Start time.Time `json:"start"` LastModified time.Time `json:"last_modified"` Done time.Time `json:"done"` HookEvent *WorkflowNodeRunHookEvent `json:"hook_event,omitempty"` Manual *WorkflowNodeRunManual `json:"manual,omitempty"` SourceNodeRuns []int64 `json:"source_node_runs,omitempty"` Payload interface{} `json:"payload,omitempty"` PipelineParameters []Parameter `json:"pipeline_parameters,omitempty"` BuildParameters []Parameter `json:"build_parameters,omitempty"` Contexts NodeRunContext `json:"contexts,omitempty"` Coverage WorkflowNodeRunCoverage `json:"coverage,omitempty"` Tests *TestsResults `json:"tests,omitempty"` Commits []VCSCommit `json:"commits,omitempty"` TriggersRun map[int64]WorkflowNodeTriggerRun `json:"triggers_run,omitempty"` VCSRepository string `json:"vcs_repository"` VCSTag string `json:"vcs_tag"` VCSBranch string `json:"vcs_branch"` VCSHash string `json:"vcs_hash"` VCSServer string `json:"vcs_server"` CanBeRun bool `json:"can_be_run"` Header WorkflowRunHeaders `json:"header,omitempty"` UUID string `json:"uuid,omitempty"` OutgoingHook *NodeOutGoingHook `json:"outgoinghook,omitempty"` HookExecutionTimeStamp int64 `json:"hook_execution_timestamp,omitempty"` HookExecutionID string `json:"execution_id,omitempty"` Callback *WorkflowNodeOutgoingHookRunCallback `json:"callback,omitempty"` VCSReport string `json:"vcs_report,omitempty"` }
WorkflowNodeRun is as execution instance of a node. This type is duplicated for database persistence in the engine/api/workflow package
func (*WorkflowNodeRun) GetStageIndex ¶
func (nodeRun *WorkflowNodeRun) GetStageIndex(job *WorkflowNodeJobRun) int
func (WorkflowNodeRun) Report ¶
func (nr WorkflowNodeRun) Report() (string, error)
func (*WorkflowNodeRun) Translate ¶
func (nr *WorkflowNodeRun) Translate()
Translate translates messages in WorkflowNodeRun
type WorkflowNodeRunCoverage ¶
type WorkflowNodeRunCoverage struct { WorkflowID int64 `json:"workflow_id" db:"workflow_id"` WorkflowNodeRunID int64 `json:"workflow_node_run_id" db:"workflow_node_run_id"` WorkflowRunID int64 `json:"workflow_run_id" db:"workflow_run_id"` ApplicationID int64 `json:"application_id" db:"application_id"` Num int64 `json:"run_number" db:"run_number"` Repository string `json:"repository" db:"repository"` Branch string `json:"branch" db:"branch"` Report coverage.Report `json:"report" db:"-"` Trend WorkflowNodeRunCoverageTrends `json:"trend" db:"-"` }
WorkflowNodeRunCoverage represents the code coverage report
type WorkflowNodeRunCoverageTrends ¶
type WorkflowNodeRunCoverageTrends struct { CurrentBranch coverage.Report `json:"current_branch_report"` DefaultBranch coverage.Report `json:"default_branch_report"` }
WorkflowNodeRunCoverageTrends represents code coverage trend with current branch and default branch
type WorkflowNodeRunHookEvent ¶
type WorkflowNodeRunHookEvent struct { Payload map[string]string `json:"payload" db:"-"` WorkflowNodeHookUUID string `json:"uuid" db:"-"` ParentWorkflow struct { Key string `json:"key" db:"-"` Name string `json:"name" db:"-"` Run int64 `json:"run" db:"-"` HookRunID string `hook_run_id:"uuid" db:"-"` } `json:"parent_workflow" db:"-"` }
WorkflowNodeRunHookEvent is an instanc of event received on a hook
type WorkflowNodeRunManual ¶
type WorkflowNodeRunManual struct { Payload interface{} `json:"payload" db:"-"` PipelineParameters []Parameter `json:"pipeline_parameter" db:"-"` OnlyFailedJobs bool `json:"only_failed_jobs" db:"-"` Resync bool `json:"resync" db:"-"` Username string `json:"username" db:"-"` Fullname string `json:"fullname" db:"-"` Email string `json:"email" db:"-"` }
WorkflowNodeRunManual is an instanc of event received on a hook
type WorkflowNodeRunRelease ¶
type WorkflowNodeRunRelease struct { TagName string `json:"tag_name"` ReleaseTitle string `json:"release_title"` ReleaseContent string `json:"release_content"` Artifacts []string `json:"artifacts,omitempty"` }
WorkflowNodeRunRelease represents the request struct use by release builtin action for workflow
type WorkflowNodeRunVulnerability ¶
type WorkflowNodeRunVulnerability struct { Summary map[string]int64 `json:"summary"` DefaultBranchSummary map[string]int64 `json:"default_branch_summary"` PreviousRunSummary map[string]int64 `json:"previous_run_summary"` }
WorkflowNodeRunVulnerability content of the workflow node run vulnerability report
type WorkflowNodeTriggerRun ¶
type WorkflowNodeTriggerRun struct { WorkflowDestNodeID int64 `json:"workflow_dest_node_id" db:"-"` Status string `json:"status" db:"-"` }
WorkflowNodeTriggerRun Represent the state of a trigger
type WorkflowNodeTriggerRuns ¶
type WorkflowNodeTriggerRuns map[int64]WorkflowNodeTriggerRun
func (*WorkflowNodeTriggerRuns) Scan ¶
func (a *WorkflowNodeTriggerRuns) Scan(src interface{}) error
type WorkflowNotification ¶
type WorkflowNotification struct { ID int64 `json:"id,omitempty" db:"id"` WorkflowID int64 `json:"workflow_id,omitempty" db:"workflow_id"` SourceNodeRefs []string `json:"source_node_ref,omitempty" db:"-"` NodeIDs []int64 `json:"node_id,omitempty" db:"-"` Type string `json:"type" db:"type"` Settings UserNotificationSettings `json:"settings" db:"-"` Integration string `json:"integration,omitempty" db:"-"` }
WorkflowNotification represents notifications on a workflow
type WorkflowOn ¶ added in v0.53.1
type WorkflowOn struct { Push *WorkflowOnPush `json:"push,omitempty"` PullRequest *WorkflowOnPullRequest `json:"pull-request,omitempty"` PullRequestComment *WorkflowOnPullRequestComment `json:"pull-request-comment,omitempty"` ModelUpdate *WorkflowOnModelUpdate `json:"model-update,omitempty"` WorkflowUpdate *WorkflowOnWorkflowUpdate `json:"workflow-update,omitempty"` }
type WorkflowOnModelUpdate ¶ added in v0.53.1
type WorkflowOnPullRequest ¶ added in v0.53.1
type WorkflowOnPullRequestComment ¶ added in v0.53.1
type WorkflowOnPush ¶ added in v0.53.1
type WorkflowOnWorkflowUpdate ¶ added in v0.53.1
type WorkflowOnWorkflowUpdate struct {
TargetBranch string `json:"target_branch,omitempty"`
}
type WorkflowProjectIntegration ¶
type WorkflowProjectIntegration struct { ID int64 `json:"id" db:"id"` WorkflowID int64 `json:"workflow_id" db:"workflow_id"` ProjectIntegrationID int64 `json:"project_integration_id" db:"project_integration_id"` ProjectIntegration ProjectIntegration `json:"project_integration" db:"-"` Config IntegrationConfig `json:"config" db:"config"` }
func (*WorkflowProjectIntegration) MergeWithModel ¶
func (wpi *WorkflowProjectIntegration) MergeWithModel(model IntegrationModel)
type WorkflowQueue ¶
type WorkflowQueue []WorkflowNodeJobRun
func (WorkflowQueue) Sort ¶
func (q WorkflowQueue) Sort()
type WorkflowRepository ¶ added in v0.53.0
type WorkflowRun ¶
type WorkflowRun struct { ID int64 `json:"id" db:"id"` Number int64 `json:"num" db:"num" cli:"num,key"` Version *string `json:"version,omitempty" db:"version" cli:"version"` ProjectID int64 `json:"project_id,omitempty" db:"project_id"` WorkflowID int64 `json:"workflow_id" db:"workflow_id"` Status string `json:"status" db:"status" cli:"status"` Workflow Workflow `json:"workflow" db:"workflow"` Start time.Time `json:"start" db:"start" cli:"start"` LastModified time.Time `json:"last_modified" db:"last_modified"` WorkflowNodeRuns map[int64][]WorkflowNodeRun `json:"nodes,omitempty" db:"-"` Infos WorkflowRunInfos `json:"infos,omitempty" db:"infos"` Tags []WorkflowRunTag `json:"tags,omitempty" db:"-" cli:"tags"` LastSubNumber int64 `json:"last_subnumber" db:"last_sub_num"` LastExecution time.Time `json:"last_execution" db:"last_execution" cli:"last_execution"` ToDelete bool `json:"to_delete" db:"to_delete" cli:"-"` JoinTriggersRun WorkflowNodeTriggerRuns `json:"join_triggers_run,omitempty" db:"join_triggers_run"` Header WorkflowRunHeaders `json:"header,omitempty" db:"header"` URLs URL `json:"urls" yaml:"-" db:"-" cli:"-"` ReadOnly bool `json:"read_only" yaml:"-" db:"read_only" cli:"-"` ToCraft bool `json:"-" yaml:"-" db:"to_craft" cli:"-"` ToCraftOpts *WorkflowRunPostHandlerOption `json:"-" yaml:"-" db:"to_craft_opts" cli:"-"` }
WorkflowRun is an execution instance of a run
func (*WorkflowRun) GetAllParameters ¶ added in v0.52.0
func (r *WorkflowRun) GetAllParameters() map[string][]string
func (*WorkflowRun) GetOutgoingHookRun ¶
func (r *WorkflowRun) GetOutgoingHookRun(uuid string) *WorkflowNodeRun
func (*WorkflowRun) HasParentWorkflow ¶
func (r *WorkflowRun) HasParentWorkflow() bool
func (*WorkflowRun) PendingOutgoingHook ¶
func (r *WorkflowRun) PendingOutgoingHook() map[string]*WorkflowNodeRun
func (*WorkflowRun) RootRun ¶
func (r *WorkflowRun) RootRun() *WorkflowNodeRun
func (*WorkflowRun) Tag ¶
func (r *WorkflowRun) Tag(tag, value string) bool
Tag push a new Tag in WorkflowRunTag and return if a tag was added or no
func (*WorkflowRun) TagExists ¶
func (r *WorkflowRun) TagExists(tag string) bool
TagExists returns true if tag already exists
func (*WorkflowRun) Translate ¶
func (r *WorkflowRun) Translate()
Translate translates messages in WorkflowNodeRun
type WorkflowRunContext ¶ added in v0.53.0
type WorkflowRunContext struct { CDS CDSContext `json:"cds,omitempty"` Git GitContext `json:"git,omitempty"` Env map[string]string `json:"env,omitempty"` }
func (*WorkflowRunContext) Scan ¶ added in v0.53.0
func (m *WorkflowRunContext) Scan(src interface{}) error
type WorkflowRunEvent ¶ added in v0.53.1
type WorkflowRunEvent struct { ProjectEventV2 VCSName string `json:"vcs_name"` Repository string `json:"repository"` Workflow string `json:"workflow"` RunNumber int64 `json:"run_number"` RunAttempt int64 `json:"run_attempt"` Status V2WorkflowRunStatus `json:"status"` WorkflowRunID string `json:"workflow_run_id"` UserID string `json:"user_id"` Username string `json:"username"` }
type WorkflowRunHeaders ¶
func (*WorkflowRunHeaders) Scan ¶
func (h *WorkflowRunHeaders) Scan(src interface{}) error
func (*WorkflowRunHeaders) Set ¶
func (h *WorkflowRunHeaders) Set(k, v string)
type WorkflowRunInfo ¶
type WorkflowRunInfo struct { APITime time.Time `json:"api_time,omitempty" db:"-"` Message SpawnMsg `json:"message,omitempty" db:"-"` // UserMessage contains msg translated for end user UserMessage string `json:"user_message,omitempty" db:"-"` SubNumber int64 `json:"sub_number,omitempty" db:"-"` Type string `json:"type" db:"-"` }
WorkflowRunInfo is an info on workflow run
type WorkflowRunInfos ¶
type WorkflowRunInfos []WorkflowRunInfo
func (*WorkflowRunInfos) Scan ¶
func (a *WorkflowRunInfos) Scan(src interface{}) error
type WorkflowRunJobEvent ¶ added in v0.53.1
type WorkflowRunJobEvent struct { ProjectEventV2 VCSName string `json:"vcs_name"` Repository string `json:"repository"` Workflow string `json:"workflow"` WorkflowRunID string `json:"workflow_run_id"` RunJobID string `json:"run_job_id"` RunNumber int64 `json:"run_number"` RunAttempt int64 `json:"run_attempt"` Region string `json:"region"` Hatchery string `json:"hatchery"` ModelType string `json:"model_type"` JobID string `json:"job_id"` Status V2WorkflowRunJobStatus `json:"status"` UserID string `json:"user_id"` Username string `json:"username"` }
type WorkflowRunJobManualEvent ¶ added in v0.53.1
type WorkflowRunJobManualEvent struct { ProjectEventV2 VCSName string `json:"vcs_name"` Repository string `json:"repository"` Workflow string `json:"workflow"` JobID string `json:"job_id"` RunNumber int64 `json:"run_number"` RunAttempt int64 `json:"run_attempt"` Status V2WorkflowRunStatus `json:"status"` WorkflowRunID string `json:"workflow_run_id"` UserID string `json:"user_id"` Username string `json:"username"` }
type WorkflowRunJobRunResultEvent ¶ added in v0.53.1
type WorkflowRunJobRunResultEvent struct { ProjectEventV2 VCSName string `json:"vcs_name"` Repository string `json:"repository"` Workflow string `json:"workflow"` WorkflowRunID string `json:"workflow_run_id"` RunJobID string `json:"run_job_id"` RunNumber int64 `json:"run_number"` RunAttempt int64 `json:"run_attempt"` Region string `json:"region"` Hatchery string `json:"hatchery"` ModelType string `json:"model_type"` JobID string `json:"job_id"` Status string `json:"status"` UserID string `json:"user_id"` Username string `json:"username"` RunResult string `json:"run_result"` }
type WorkflowRunJobsContext ¶ added in v0.53.0
type WorkflowRunJobsContext struct { WorkflowRunContext Jobs JobsResultContext `json:"jobs"` Needs NeedsContext `json:"needs"` Inputs map[string]interface{} `json:"inputs"` Steps StepsContext `json:"steps"` Matrix map[string]string `json:"matrix"` Integrations *JobIntegrationsContext `json:"integrations,omitempty"` Gate map[string]interface{} `json:"gate"` Vars map[string]interface{} `json:"vars"` }
type WorkflowRunNumber ¶
type WorkflowRunNumber struct {
Num int64 `json:"num" cli:"run-number"`
}
WorkflowRunNumber contains a workflow run number
type WorkflowRunPostHandlerOption ¶
type WorkflowRunPostHandlerOption struct { Hook *WorkflowNodeRunHookEvent `json:"hook,omitempty"` Manual *WorkflowNodeRunManual `json:"manual,omitempty"` Number *int64 `json:"number,omitempty"` FromNodeIDs []int64 `json:"from_nodes,omitempty"` AuthConsumerID string `json:"auth_consumer,omitempty"` }
WorkflowRunPostHandlerOption contains the body content for launch a workflow
func (*WorkflowRunPostHandlerOption) Scan ¶
func (a *WorkflowRunPostHandlerOption) Scan(src interface{}) error
Scan WorkflowRunPostHandlerOption.
type WorkflowRunResult ¶
type WorkflowRunResult struct { ID string `json:"id" db:"id"` Created time.Time `json:"created" db:"created"` WorkflowRunID int64 `json:"workflow_run_id" db:"workflow_run_id"` WorkflowNodeRunID int64 `json:"workflow_node_run_id" db:"workflow_node_run_id"` WorkflowRunJobID int64 `json:"workflow_run_job_id" db:"workflow_run_job_id"` SubNum int64 `json:"sub_num" db:"sub_num"` Type WorkflowRunResultType `json:"type" db:"type"` DataRaw json.RawMessage `json:"data" db:"data"` DataSync *WorkflowRunResultSync `json:"sync,omitempty" db:"sync"` }
func (WorkflowRunResult) ComputeName ¶ added in v0.52.0
func (r WorkflowRunResult) ComputeName() (string, error)
func (WorkflowRunResult) ComputeUniqueKey ¶ added in v0.52.0
func (r WorkflowRunResult) ComputeUniqueKey() (string, error)
func (*WorkflowRunResult) GetArtifact ¶
func (r *WorkflowRunResult) GetArtifact() (WorkflowRunResultArtifact, error)
func (*WorkflowRunResult) GetArtifactManager ¶
func (r *WorkflowRunResult) GetArtifactManager() (WorkflowRunResultArtifactManager, error)
func (*WorkflowRunResult) GetCoverage ¶
func (r *WorkflowRunResult) GetCoverage() (WorkflowRunResultCoverage, error)
func (*WorkflowRunResult) GetStaticFile ¶
func (r *WorkflowRunResult) GetStaticFile() (WorkflowRunResultStaticFile, error)
type WorkflowRunResultArtifact ¶
type WorkflowRunResultArtifact struct { WorkflowRunResultArtifactCommon Size int64 `json:"size"` MD5 string `json:"md5"` CDNRefHash string `json:"cdn_hash"` Perm uint32 `json:"perm"` FileType string `json:"file_type"` }
func (*WorkflowRunResultArtifact) IsValid ¶
func (a *WorkflowRunResultArtifact) IsValid() error
type WorkflowRunResultArtifactCommon ¶ added in v0.52.0
type WorkflowRunResultArtifactCommon struct {
Name string `json:"name"`
}
type WorkflowRunResultArtifactManager ¶
type WorkflowRunResultArtifactManager struct { WorkflowRunResultArtifactCommon Size int64 `json:"size"` MD5 string `json:"md5"` Path string `json:"path"` Perm uint32 `json:"perm"` RepoName string `json:"repository_name"` RepoType string `json:"repository_type"` FileType string `json:"file_type"` }
func (*WorkflowRunResultArtifactManager) IsValid ¶
func (a *WorkflowRunResultArtifactManager) IsValid() error
type WorkflowRunResultCheck ¶
type WorkflowRunResultCheck struct { Name string `json:"name"` RunID int64 `json:"run_id"` RunNodeID int64 `json:"run_node_id"` RunJobID int64 `json:"run_job_id"` ResultType WorkflowRunResultType `json:"result_type"` }
type WorkflowRunResultCoverage ¶
type WorkflowRunResultCoverage struct { WorkflowRunResultArtifactCommon Size int64 `json:"size"` MD5 string `json:"md5"` CDNRefHash string `json:"cdn_hash"` Perm uint32 `json:"perm"` }
func (*WorkflowRunResultCoverage) IsValid ¶
func (a *WorkflowRunResultCoverage) IsValid() error
type WorkflowRunResultDataKey ¶
type WorkflowRunResultDataKey string
type WorkflowRunResultPromotion ¶ added in v0.52.0
type WorkflowRunResultPromotionRequest ¶ added in v0.52.0
type WorkflowRunResultPromotionType ¶ added in v0.52.0
type WorkflowRunResultPromotionType string
const ( WorkflowRunResultPromotionTypePromote WorkflowRunResultPromotionType = "promote" WorkflowRunResultPromotionTypeRelease WorkflowRunResultPromotionType = "release" )
type WorkflowRunResultStaticFile ¶
type WorkflowRunResultStaticFile struct { WorkflowRunResultArtifactCommon RemoteURL string `json:"remote_url"` }
func (*WorkflowRunResultStaticFile) IsValid ¶
func (a *WorkflowRunResultStaticFile) IsValid() error
type WorkflowRunResultSync ¶ added in v0.52.0
type WorkflowRunResultSync struct { Sync bool `json:"sync"` Link string `json:"link"` Error string `json:"error"` Promotions []WorkflowRunResultPromotion `json:"promotions"` Releases []WorkflowRunResultPromotion `json:"releases"` }
func (*WorkflowRunResultSync) LatestPromotionOrRelease ¶ added in v0.52.0
func (s *WorkflowRunResultSync) LatestPromotionOrRelease() *WorkflowRunResultPromotion
func (*WorkflowRunResultSync) Scan ¶ added in v0.52.0
func (s *WorkflowRunResultSync) Scan(src interface{}) error
Scan WorkflowRunResultSync
type WorkflowRunResultType ¶
type WorkflowRunResultType string
const ( WorkflowRunResultTypeArtifact WorkflowRunResultType = "artifact" WorkflowRunResultTypeCoverage WorkflowRunResultType = "coverage" WorkflowRunResultTypeArtifactManager WorkflowRunResultType = "artifact-manager" WorkflowRunResultTypeStaticFile WorkflowRunResultType = "static-file" )
type WorkflowRunResults ¶ added in v0.52.0
type WorkflowRunResults []WorkflowRunResult
func (WorkflowRunResults) Unique ¶ added in v0.52.0
func (w WorkflowRunResults) Unique() (WorkflowRunResults, error)
Unique returns the last version of each results
type WorkflowRunSecret ¶
type WorkflowRunSecret struct { ID string `json:"-" db:"id"` WorkflowRunID int64 `json:"-" db:"workflow_run_id"` Type string `json:"-" db:"type"` Context string `json:"-" db:"context"` Name string `json:"-" db:"name"` Value []byte `json:"-" db:"cypher_value" gorpmapping:"encrypted,ID"` }
func (WorkflowRunSecret) ToVariable ¶ added in v0.52.0
func (s WorkflowRunSecret) ToVariable() Variable
type WorkflowRunSecrets ¶ added in v0.52.0
type WorkflowRunSecrets []WorkflowRunSecret
func (WorkflowRunSecrets) ToVariables ¶ added in v0.52.0
func (s WorkflowRunSecrets) ToVariables() []Variable
type WorkflowRunStage ¶ added in v0.53.1
type WorkflowRunStage struct { WorkflowStage CanBeRun bool Jobs map[string]V2WorkflowRunJobStatus Ended bool }
type WorkflowRunStages ¶ added in v0.53.1
type WorkflowRunStages map[string]WorkflowRunStage
func (WorkflowRunStages) ComputeStatus ¶ added in v0.53.1
func (wrs WorkflowRunStages) ComputeStatus()
type WorkflowRunSummary ¶
type WorkflowRunSummary struct { ID int64 `json:"id" db:"id" cli:"-"` Version *string `json:"version,omitempty" db:"version" cli:"version"` Number int64 `json:"num" db:"num" cli:"num,key"` Status string `json:"status" db:"status" cli:"status"` Start time.Time `json:"start" db:"start" cli:"start"` LastModified time.Time `json:"last_modified" db:"last_modified" cli:"-"` LastSubNumber int64 `json:"last_subnumber" db:"last_sub_num" cli:"-"` LastExecution time.Time `json:"last_execution" db:"last_execution" cli:"last_execution"` ToCraftOpts *WorkflowRunPostHandlerOption `json:"-" yaml:"-" db:"to_craft_opts" cli:"-"` Tags []WorkflowRunTag `json:"tags,omitempty" db:"-" cli:"tags"` }
type WorkflowRunTag ¶
type WorkflowRunTag struct { WorkflowRunID int64 `json:"-" db:"workflow_run_id"` Tag string `json:"tag,omitempty" db:"tag" cli:"tag"` Value string `json:"value,omitempty" db:"value" cli:"value"` }
WorkflowRunTag is a tag on workflow run
type WorkflowRunToKeep ¶
type WorkflowRunVersion ¶
type WorkflowRunVersion struct {
Value string `json:"value"`
}
WorkflowRunVersion contains a workflow run version.
func (WorkflowRunVersion) IsValid ¶
func (w WorkflowRunVersion) IsValid() error
type WorkflowStage ¶ added in v0.53.0
type WorkflowStage struct {
Needs []string `json:"needs,omitempty" jsonschema_description:"Stage dependencies"`
}
type WorkflowTemplate ¶
type WorkflowTemplate struct { ID int64 `json:"id" db:"id"` GroupID int64 `json:"group_id" db:"group_id"` Name string `json:"name" db:"name"` Slug string `json:"slug" db:"slug"` Description string `json:"description" db:"description"` Parameters WorkflowTemplateParameters `json:"parameters" db:"parameters"` Workflow string `json:"value" db:"value"` Pipelines PipelineTemplates `json:"pipelines" db:"pipelines"` Applications ApplicationTemplates `json:"applications" db:"applications"` Environments EnvironmentTemplates `json:"environments" db:"environments"` Version int64 `json:"version" db:"version"` // aggregates Group *Group `json:"group,omitempty" db:"-"` FirstAudit *AuditWorkflowTemplate `json:"first_audit,omitempty" db:"-"` LastAudit *AuditWorkflowTemplate `json:"last_audit,omitempty" db:"-"` Editable bool `json:"editable,omitempty" db:"-"` ChangeMessage string `json:"change_message,omitempty" db:"-"` }
WorkflowTemplate struct.
func (*WorkflowTemplate) CheckParams ¶
func (w *WorkflowTemplate) CheckParams(r WorkflowTemplateRequest) error
CheckParams returns template parameters validity.
func (*WorkflowTemplate) IsValid ¶
func (w *WorkflowTemplate) IsValid() error
IsValid returns workflow template validity.
func (WorkflowTemplate) Path ¶
func (w WorkflowTemplate) Path() string
func (WorkflowTemplate) PathWithVersion ¶
func (w WorkflowTemplate) PathWithVersion() string
func (*WorkflowTemplate) Scan ¶
func (w *WorkflowTemplate) Scan(src interface{}) error
Scan workflow template.
func (*WorkflowTemplate) Update ¶
func (w *WorkflowTemplate) Update(data WorkflowTemplate)
Update workflow template field from new data.
type WorkflowTemplateBulk ¶
type WorkflowTemplateBulk struct { ID int64 `json:"id" db:"id"` UserID string `json:"user_id" db:"authentified_user_id"` AuthConsumerID string `json:"auth_consumer_id" db:"auth_consumer_id"` WorkflowTemplateID int64 `json:"workflow_template_id" db:"workflow_template_id"` Status OperationStatus `json:"status" db:"status"` Parallel bool `json:"parallel" db:"parallel"` Operations WorkflowTemplateBulkOperations `json:"operations" db:"operations"` }
WorkflowTemplateBulk contains info about a template bulk task.
func (*WorkflowTemplateBulk) UpdateOperation ¶ added in v0.53.0
func (w *WorkflowTemplateBulk) UpdateOperation(o WorkflowTemplateBulkOperation)
type WorkflowTemplateBulkOperation ¶
type WorkflowTemplateBulkOperation struct { Status OperationStatus `json:"status"` Error string `json:"error,omitempty"` Request WorkflowTemplateRequest `json:"request"` }
WorkflowTemplateBulkOperation contains one operation of a template bulk task.
type WorkflowTemplateBulkOperations ¶
type WorkflowTemplateBulkOperations []WorkflowTemplateBulkOperation
WorkflowTemplateBulkOperations struct.
func (*WorkflowTemplateBulkOperations) Scan ¶
func (w *WorkflowTemplateBulkOperations) Scan(src interface{}) error
Scan pipeline templates.
type WorkflowTemplateError ¶
type WorkflowTemplateError struct { Type string `json:"type"` Number int `json:"number"` Line int `json:"line"` Message string `json:"message"` }
WorkflowTemplateError contains info about template parsing error.
func (WorkflowTemplateError) Error ¶
func (w WorkflowTemplateError) Error() string
type WorkflowTemplateInstance ¶
type WorkflowTemplateInstance struct { ID int64 `json:"id" db:"id"` WorkflowTemplateID int64 `json:"workflow_template_id" db:"workflow_template_id"` ProjectID int64 `json:"project_id" db:"project_id"` WorkflowID *int64 `json:"workflow_id" db:"workflow_id"` WorkflowTemplateVersion int64 `json:"workflow_template_version" db:"workflow_template_version"` Request WorkflowTemplateRequest `json:"request" db:"request"` WorkflowName string `json:"workflow_name" db:"workflow_name"` // aggregates FirstAudit *AuditWorkflowTemplateInstance `json:"first_audit,omitempty" db:"-"` LastAudit *AuditWorkflowTemplateInstance `json:"last_audit,omitempty" db:"-"` Template *WorkflowTemplate `json:"template,omitempty" db:"-"` Project *Project `json:"project,omitempty" db:"-"` Workflow *Workflow `json:"workflow,omitempty" db:"-"` }
WorkflowTemplateInstance struct.
type WorkflowTemplateParameter ¶
type WorkflowTemplateParameter struct { Key string `json:"key"` Type TemplateParameterType `json:"type"` Required bool `json:"required"` }
WorkflowTemplateParameter struct.
func (*WorkflowTemplateParameter) IsValid ¶
func (w *WorkflowTemplateParameter) IsValid() error
IsValid returns pipeline template validity.
type WorkflowTemplateParameters ¶
type WorkflowTemplateParameters []WorkflowTemplateParameter
WorkflowTemplateParameters struct.
func (*WorkflowTemplateParameters) Scan ¶
func (w *WorkflowTemplateParameters) Scan(src interface{}) error
Scan workflow template parameters.
type WorkflowTemplateParsed ¶
type WorkflowTemplateParsed struct { Workflow *template.Template Pipelines []*template.Template Applications []*template.Template Environments []*template.Template }
WorkflowTemplateParsed struct.
type WorkflowTemplateRequest ¶
type WorkflowTemplateRequest struct { ProjectKey string `json:"project_key"` WorkflowName string `json:"workflow_name"` Parameters map[string]string `json:"parameters"` Detached bool `json:"detached,omitempty"` Branch string `json:"branch,omitempty"` Message string `json:"message,omitempty"` }
WorkflowTemplateRequest struct use for execution request.
func (*WorkflowTemplateRequest) Scan ¶
func (w *WorkflowTemplateRequest) Scan(src interface{}) error
Scan workflow template request.
Source Files ¶
- access.go
- action.go
- action_parser.go
- action_parser_error.go
- action_parser_funcs.go
- action_script.go
- application.go
- artifact.go
- artifactory.go
- ascode.go
- audit.go
- bitbucket_server.go
- bitbucket_server_events.go
- blur.go
- bookmark.go
- build.go
- cache.go
- cdn.go
- common.go
- common_date.go
- config.go
- contexts.go
- database.go
- download.go
- duration.go
- entity.go
- environment.go
- error.go
- event.go
- event_action.go
- event_application.go
- event_ascode.go
- event_environment.go
- event_operation.go
- event_pipeline.go
- event_project.go
- event_v2.go
- event_warning.go
- event_workflow.go
- event_workflow_template.go
- favorite.go
- featureflipping.go
- file.go
- fs.go
- goroutine.go
- group.go
- hash.go
- hatchery.go
- health.go
- hook.go
- hooks.go
- hooks_repository_event.go
- integration.go
- ip.go
- job.go
- jsonschema.go
- key.go
- maintenance.go
- messages.go
- metric.go
- migration.go
- navbar.go
- notif.go
- notification.go
- organization.go
- overview.go
- parameter.go
- pipeline.go
- plugin.go
- project.go
- project_variable.go
- purge.go
- rbac.go
- rbac_global.go
- rbac_hatchery.go
- rbac_project.go
- rbac_region.go
- rbac_workflow.go
- reflect.go
- region.go
- repositories_manager.go
- repositories_operation.go
- repository.go
- request.go
- requirement.go
- result.go
- schema.go
- services.go
- signal_linux.go
- stage.go
- status.go
- tests.go
- timeline.go
- token.go
- trigger.go
- usage.go
- user.go
- user_gpg.go
- user_link.go
- util.go
- uuid.go
- v2_action.go
- v2_worker.go
- v2_worker_model.go
- v2_workflow.go
- v2_workflow_run.go
- variable.go
- vcs.go
- version.go
- warning.go
- websocket.go
- worker.go
- worker_hooks.go
- worker_model.go
- workflow.go
- workflow_conditions.go
- workflow_data.go
- workflow_hook.go
- workflow_node.go
- workflow_run.go
- workflow_run_result.go
- workflow_template.go
Directories ¶
Path | Synopsis |
---|---|
artifactory/xray/mock_xray
Package mock_xray is a generated GoMock package.
|
Package mock_xray is a generated GoMock package. |
mock_artifact_manager
Package mock_artifact_manager is a generated GoMock package.
|
Package mock_artifact_manager is a generated GoMock package. |
mock_cdsclient
Package mock_cdsclient is a generated GoMock package.
|
Package mock_cdsclient is a generated GoMock package. |
mock_hatchery
Package mock_hatchery is a generated GoMock package.
|
Package mock_hatchery is a generated GoMock package. |
interpolate
module
|
|
izanami
module
|
|
Package namesgenerator original package is https://github.com/moby/moby/tree/master/pkg/namesgenerator Moby is licensed under the Apache License, Version 2.0.
|
Package namesgenerator original package is https://github.com/moby/moby/tree/master/pkg/namesgenerator Moby is licensed under the Apache License, Version 2.0. |