Documentation ¶
Index ¶
- Variables
- func CancelPipeline(pipelineId uint64) errors.Error
- func CancelTask(taskId uint64) errors.Error
- func ComputePipelineStatus(pipeline *models.DbPipeline, isCancelled bool) (string, errors.Error)
- func CreateBlueprint(blueprint *models.Blueprint) errors.Error
- func CreateDbPipeline(newPipeline *models.NewPipeline) (*models.DbPipeline, errors.Error)
- func CreatePipeline(newPipeline *models.NewPipeline) (*models.Pipeline, errors.Error)
- func CreateProject(projectInput *models.ApiInputProject) (*models.ApiOutputProject, errors.Error)
- func CreateTask(newTask *models.NewTask) (*models.Task, errors.Error)
- func ExecuteMigration() errors.Error
- func GeneratePlanJsonV100(settings *models.BlueprintSettings) (core.PipelinePlan, errors.Error)
- func GeneratePlanJsonV200(projectName string, syncPolicy core.BlueprintSyncPolicy, ...) (core.PipelinePlan, errors.Error)
- func GetBasicRes() core.BasicRes
- func GetBlueprint(blueprintId uint64) (*models.Blueprint, errors.Error)
- func GetBlueprintByProjectName(projectName string) (*models.Blueprint, errors.Error)
- func GetBlueprints(query *BlueprintQuery) ([]*models.Blueprint, int64, errors.Error)
- func GetDbBlueprint(dbBlueprintId uint64) (*models.DbBlueprint, errors.Error)
- func GetDbBlueprintByProjectName(projectName string) (*models.DbBlueprint, errors.Error)
- func GetDbBlueprints(query *BlueprintQuery) ([]*models.DbBlueprint, int64, errors.Error)
- func GetDbPipeline(pipelineId uint64) (*models.DbPipeline, errors.Error)
- func GetDbPipelines(query *PipelineQuery) ([]*models.DbPipeline, int64, errors.Error)
- func GetLatestTasksOfPipeline(pipeline *models.DbPipeline) ([]*models.Task, errors.Error)
- func GetMigrator() core.Migrator
- func GetPipeline(pipelineId uint64) (*models.Pipeline, errors.Error)
- func GetPipelineLogger(pipeline *models.Pipeline) core.Logger
- func GetPipelineLogsArchivePath(pipeline *models.Pipeline) (string, errors.Error)
- func GetPipelines(query *PipelineQuery) ([]*models.Pipeline, int64, errors.Error)
- func GetPluginsApiResources() (map[string]map[string]map[string]core.ApiResourceHandler, errors.Error)
- func GetProject(name string) (*models.ApiOutputProject, errors.Error)
- func GetProjects(query *ProjectQuery) ([]*models.Project, int64, errors.Error)
- func GetRepos() ([]*code.Repo, int64, errors.Error)
- func GetTask(taskId uint64) (*models.Task, errors.Error)
- func GetTasks(query *TaskQuery) ([]*models.Task, int64, errors.Error)
- func GetTasksWithLastStatus(pipelineId uint64) ([]*models.Task, errors.Error)
- func Init()
- func InitResources()
- func InsertRow(table string, rows []map[string]interface{}) (int64, errors.Error)
- func MakePlanForBlueprint(blueprint *models.Blueprint) (core.PipelinePlan, errors.Error)
- func MigrationRequireConfirmation() bool
- func NotifyExternal(pipelineId uint64) errors.Error
- func ParallelizePipelinePlans(plans ...core.PipelinePlan) core.PipelinePlan
- func PatchBlueprint(id uint64, body map[string]interface{}) (*models.Blueprint, errors.Error)
- func PatchProject(name string, body map[string]interface{}) (*models.ApiOutputProject, errors.Error)
- func ReloadBlueprints(c *cron.Cron) errors.Error
- func RerunPipeline(pipelineId uint64, task *models.Task) ([]*models.Task, errors.Error)
- func RerunTask(taskId uint64) (*models.Task, errors.Error)
- func RunPipelineInQueue(pipelineMaxParallel int64)
- func RunTasksStandalone(parentLogger core.Logger, taskIds []uint64) errors.Error
- func SaveDbBlueprint(dbBlueprint *models.DbBlueprint) errors.Error
- func SequencializePipelinePlans(plans ...core.PipelinePlan) core.PipelinePlan
- func TriggerBlueprint(id uint64) (*models.Pipeline, errors.Error)
- func VerifyStruct(v interface{}) errors.Error
- func WrapPipelinePlans(beforePlanJson json.RawMessage, mainPlan core.PipelinePlan, ...) (core.PipelinePlan, errors.Error)
- type BlueprintQuery
- type NotificationService
- type Pagination
- type PipelineNotification
- type PipelineQuery
- type ProjectQuery
- type RunningTask
- func (rt *RunningTask) Add(taskId uint64, cancel context.CancelFunc) errors.Error
- func (rt *RunningTask) FillProgressDetailToTasks(tasks []*models.Task)
- func (rt *RunningTask) GetProgressDetail(taskId uint64) *models.TaskProgressDetail
- func (rt *RunningTask) Remove(taskId uint64) (context.CancelFunc, errors.Error)
- type RunningTaskData
- type TaskQuery
Constants ¶
This section is empty.
Variables ¶
var ErrBlueprintRunning = errors.Default.New("the blueprint is running")
ErrBlueprintRunning indicates there is a running pipeline with the specified blueprint_id
Functions ¶
func ComputePipelineStatus ¶ added in v0.15.0
ComputePipelineStatus determines pipleline status by its latest(rerun included) tasks statuses 1. TASK_COMPLETED: all tasks were executed sucessfully 2. TASK_FAILED: SkipOnFail=false with failed task(s) 3. TASK_PARTIAL: SkipOnFail=true with failed task(s)
func CreateBlueprint ¶
CreateBlueprint accepts a Blueprint instance and insert it to database
func CreateDbPipeline ¶ added in v0.14.0
func CreateDbPipeline(newPipeline *models.NewPipeline) (*models.DbPipeline, errors.Error)
CreateDbPipeline returns a NewPipeline
func CreatePipeline ¶
CreatePipeline and return the model
func CreateProject ¶ added in v0.15.0
func CreateProject(projectInput *models.ApiInputProject) (*models.ApiOutputProject, errors.Error)
CreateProject accepts a project instance and insert it to database
func CreateTask ¶
CreateTask creates a new task
func ExecuteMigration ¶ added in v0.12.0
ExecuteMigration executes all pending migration scripts and initialize services module
func GeneratePlanJsonV100 ¶ added in v0.12.0
func GeneratePlanJsonV100(settings *models.BlueprintSettings) (core.PipelinePlan, errors.Error)
GeneratePlanJsonV100 generates pipeline plan according v1.0.0 definition
func GeneratePlanJsonV200 ¶ added in v0.15.0
func GeneratePlanJsonV200( projectName string, syncPolicy core.BlueprintSyncPolicy, sources *models.BlueprintSettings, metrics map[string]json.RawMessage, ) (core.PipelinePlan, errors.Error)
GeneratePlanJsonV200 generates pipeline plan according v2.0.0 definition
func GetBasicRes ¶ added in v0.15.0
GetBasicRes returns the core.BasicRes instance used by services module
func GetBlueprint ¶
GetBlueprint returns the detail of a given Blueprint ID
func GetBlueprintByProjectName ¶ added in v0.15.0
GetBlueprintByProjectName returns the detail of a given ProjectName
func GetBlueprints ¶
GetBlueprints returns a paginated list of Blueprints based on `query`
func GetDbBlueprint ¶ added in v0.14.0
func GetDbBlueprint(dbBlueprintId uint64) (*models.DbBlueprint, errors.Error)
GetDbBlueprint returns the detail of a given Blueprint ID
func GetDbBlueprintByProjectName ¶ added in v0.15.0
func GetDbBlueprintByProjectName(projectName string) (*models.DbBlueprint, errors.Error)
GetDbBlueprintByProjectName returns the detail of a given projectName
func GetDbBlueprints ¶ added in v0.14.0
func GetDbBlueprints(query *BlueprintQuery) ([]*models.DbBlueprint, int64, errors.Error)
GetDbBlueprints returns a paginated list of Blueprints based on `query`
func GetDbPipeline ¶ added in v0.14.0
func GetDbPipeline(pipelineId uint64) (*models.DbPipeline, errors.Error)
GetDbPipeline by id
func GetDbPipelines ¶ added in v0.14.0
func GetDbPipelines(query *PipelineQuery) ([]*models.DbPipeline, int64, errors.Error)
GetDbPipelines by query
func GetLatestTasksOfPipeline ¶ added in v0.15.0
GetLatestTasksOfPipeline returns latest tasks (reran tasks are excluding) of specified pipeline
func GetMigrator ¶ added in v0.15.0
GetMigrator returns the core.Migrator instance used by services module
func GetPipeline ¶
GetPipeline by id
func GetPipelineLogger ¶ added in v0.15.0
GetPipelineLogger returns logger for the pipeline
func GetPipelineLogsArchivePath ¶ added in v0.13.0
GetPipelineLogsArchivePath creates an archive for the logs of this pipeline and returns its file path
func GetPipelines ¶
GetPipelines by query
func GetPluginsApiResources ¶
func GetPluginsApiResources() (map[string]map[string]map[string]core.ApiResourceHandler, errors.Error)
GetPluginsApiResources return value
{ "jira": { "connections": { "POST": *ApiResourceHandler } } }
GetPluginsApiResources returns all APIs of all plugins
func GetProject ¶ added in v0.15.0
func GetProject(name string) (*models.ApiOutputProject, errors.Error)
GetProject returns a Project
func GetProjects ¶ added in v0.15.0
GetProjects returns a paginated list of Projects based on `query`
func GetTasksWithLastStatus ¶ added in v0.15.0
GetTasksWithLastStatus returns task list of the pipeline, only the most recently tasks would be returned TODO: adopts GetLatestTasksOfPipeline
func InitResources ¶ added in v0.15.0
func InitResources()
InitResources creates resources needed by services module
func MakePlanForBlueprint ¶ added in v0.15.0
MakePlanForBlueprint generates pipeline plan by version
func MigrationRequireConfirmation ¶ added in v0.12.0
func MigrationRequireConfirmation() bool
MigrationRequireConfirmation returns if there were migration scripts waiting to be executed
func ParallelizePipelinePlans ¶ added in v0.15.0
func ParallelizePipelinePlans(plans ...core.PipelinePlan) core.PipelinePlan
ParallelizePipelinePlans merges multiple pipelines into one unified plan by assuming they can be executed in parallel
func PatchBlueprint ¶ added in v0.12.0
PatchBlueprint FIXME ...
func PatchProject ¶ added in v0.15.0
func PatchProject(name string, body map[string]interface{}) (*models.ApiOutputProject, errors.Error)
PatchProject FIXME ...
func RerunPipeline ¶ added in v0.15.0
RerunPipeline would rerun all failed tasks or specified task
func RunPipelineInQueue ¶ added in v0.12.0
func RunPipelineInQueue(pipelineMaxParallel int64)
RunPipelineInQueue query pipeline from db and run it in a queue
func RunTasksStandalone ¶ added in v0.15.0
RunTasksStandalone run tasks in parallel
func SaveDbBlueprint ¶ added in v0.15.0
func SaveDbBlueprint(dbBlueprint *models.DbBlueprint) errors.Error
SaveDbBlueprint accepts a Blueprint instance and upsert it to database
func SequencializePipelinePlans ¶ added in v0.15.0
func SequencializePipelinePlans(plans ...core.PipelinePlan) core.PipelinePlan
SequencializePipelinePlans merges multiple pipelines into one unified plan by assuming they must be executed in sequencial order
func TriggerBlueprint ¶ added in v0.12.0
TriggerBlueprint triggers blueprint immediately
func VerifyStruct ¶ added in v0.15.0
VerifyStruct verifies given struct with `validator`
func WrapPipelinePlans ¶ added in v0.15.0
func WrapPipelinePlans(beforePlanJson json.RawMessage, mainPlan core.PipelinePlan, afterPlanJson json.RawMessage) (core.PipelinePlan, errors.Error)
WrapPipelinePlans merges multiple pipelines and append before and after pipeline
Types ¶
type BlueprintQuery ¶
type BlueprintQuery struct { Pagination Enable *bool `form:"enable,omitempty"` IsManual *bool `form:"is_manual"` Label string `form:"label"` }
BlueprintQuery is a query for GetBlueprints
type NotificationService ¶
NotificationService FIXME ...
func NewNotificationService ¶
func NewNotificationService(endpoint, secret string) *NotificationService
NewNotificationService FIXME ...
func (*NotificationService) PipelineStatusChanged ¶
func (n *NotificationService) PipelineStatusChanged(params PipelineNotification) errors.Error
PipelineStatusChanged FIXME ...
type Pagination ¶ added in v0.15.0
Pagination holds the paginate information
func (*Pagination) GetPage ¶ added in v0.15.0
func (p *Pagination) GetPage() int
GetPage returns current page number
func (*Pagination) GetPageSize ¶ added in v0.15.0
func (p *Pagination) GetPageSize() int
GetPageSize returns a sensible page size based on input
func (*Pagination) GetPageSizeOr ¶ added in v0.15.0
func (p *Pagination) GetPageSizeOr(defaultVal int) int
GetPageSizeOr returns the page size or fallback to `defaultVal`
func (*Pagination) GetSkip ¶ added in v0.15.0
func (p *Pagination) GetSkip() int
GetSkip returns how many records should be skipped for specified page
type PipelineNotification ¶
type PipelineNotification struct { PipelineID uint64 CreatedAt time.Time UpdatedAt time.Time BeganAt *time.Time FinishedAt *time.Time Status string }
PipelineNotification FIXME ...
type PipelineQuery ¶
type PipelineQuery struct { Pagination Status string `form:"status"` Pending int `form:"pending"` BlueprintId uint64 `uri:"blueprintId" form:"blueprint_id"` Label string `form:"label"` }
PipelineQuery is a query for GetPipelines
type ProjectQuery ¶ added in v0.15.0
type ProjectQuery struct {
Pagination
}
ProjectQuery used to query projects as the api project input
type RunningTask ¶
type RunningTask struct {
// contains filtered or unexported fields
}
RunningTask FIXME ...
func (*RunningTask) Add ¶
func (rt *RunningTask) Add(taskId uint64, cancel context.CancelFunc) errors.Error
Add FIXME ...
func (*RunningTask) FillProgressDetailToTasks ¶
func (rt *RunningTask) FillProgressDetailToTasks(tasks []*models.Task)
FillProgressDetailToTasks lock less times than GetProgressDetail
func (*RunningTask) GetProgressDetail ¶
func (rt *RunningTask) GetProgressDetail(taskId uint64) *models.TaskProgressDetail
GetProgressDetail FIXME ...
func (*RunningTask) Remove ¶
func (rt *RunningTask) Remove(taskId uint64) (context.CancelFunc, errors.Error)
Remove FIXME ...
type RunningTaskData ¶
type RunningTaskData struct { Cancel context.CancelFunc ProgressDetail *models.TaskProgressDetail }
RunningTaskData FIXME ...