services

package
v0.15.0-zentao-beta-5 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2022 License: Apache-2.0 Imports: 40 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CancelPipeline

func CancelPipeline(pipelineId uint64) errors.Error

CancelPipeline FIXME ...

func CancelTask

func CancelTask(taskId uint64) errors.Error

CancelTask FIXME ...

func CreateBlueprint

func CreateBlueprint(blueprint *models.Blueprint) errors.Error

CreateBlueprint accepts a Blueprint instance and insert it to database

func CreateDbBlueprint added in v0.14.0

func CreateDbBlueprint(dbBlueprint *models.DbBlueprint) errors.Error

CreateDbBlueprint 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 CreateDbProject

func CreateDbProject(project *models.Project) errors.Error

CreateDbProject accepts a project instance and insert it to database

func CreateDbProjectMetric

func CreateDbProjectMetric(projectMetric *models.ProjectMetric) errors.Error

CreateDbProjectMetric accepts a project metric instance and insert it to database

func CreatePipeline

func CreatePipeline(newPipeline *models.NewPipeline) (*models.Pipeline, errors.Error)

CreatePipeline and return the model

func CreateProject added in v0.15.0

func CreateProject(project *models.Project) errors.Error

CreateProject accepts a project instance and insert it to database

func CreateProjectMetric

func CreateProjectMetric(projectMetric *models.ProjectMetric) errors.Error

CreateProjectMetric accepts a ProjectMetric instance and insert it to database

func CreateTask

func CreateTask(newTask *models.NewTask) (*models.Task, errors.Error)

CreateTask FIXME ...

func DeleteBlueprint

func DeleteBlueprint(id uint64) errors.Error

DeleteBlueprint FIXME ...

func DeleteCreatedTasks

func DeleteCreatedTasks(pipelineId uint64) errors.Error

DeleteCreatedTasks deletes tasks with status `TASK_CREATED`

func DeleteDbBlueprint added in v0.14.0

func DeleteDbBlueprint(id uint64) errors.Error

DeleteDbBlueprint deletes blueprint by id

func ExecuteMigration added in v0.12.0

func ExecuteMigration() errors.Error

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,
	sources *models.BlueprintSettings,
	metrics map[string]json.RawMessage,
) (core.PipelinePlan, errors.Error)

GeneratePlanJsonV200 generates pipeline plan according v2.0.0 definition

func GetBlueprint

func GetBlueprint(blueprintId uint64) (*models.Blueprint, errors.Error)

GetBlueprint returns the detail of a given Blueprint ID

func GetBlueprints

func GetBlueprints(query *BlueprintQuery) ([]*models.Blueprint, int64, errors.Error)

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 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 GetDbProject

func GetDbProject(name string) (*models.Project, errors.Error)

GetDbProject returns the detail of a given project name

func GetDbProjectMetrics

func GetDbProjectMetrics(projectName string, pluginName string) (*models.ProjectMetric, errors.Error)

GetDbProjectMetrics returns the detail of a given project name

func GetDbProjects

func GetDbProjects(query *ProjectQuery) ([]*models.Project, int64, errors.Error)

GetDbProjects returns a paginated list of Project based on `query`

func GetPipeline

func GetPipeline(pipelineId uint64) (*models.Pipeline, errors.Error)

GetPipeline by id

func GetPipelineLogger added in v0.15.0

func GetPipelineLogger(pipeline *models.Pipeline) core.Logger

GetPipelineLogger returns logger for the pipeline

func GetPipelineLogsArchivePath added in v0.13.0

func GetPipelineLogsArchivePath(pipeline *models.Pipeline) (string, errors.Error)

GetPipelineLogsArchivePath creates an archive for the logs of this pipeline and returns its file path

func GetPipelines

func GetPipelines(query *PipelineQuery) ([]*models.Pipeline, int64, errors.Error)

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.Project, errors.Error)

GetProject returns a Project

func GetProjectMetrics

func GetProjectMetrics(projectName string, pluginName string) (*models.ProjectMetric, errors.Error)

GetProjectMetrics returns a ProjectMetric

func GetProjects added in v0.15.0

func GetProjects(query *ProjectQuery) ([]*models.Project, int64, errors.Error)

GetProjects returns a paginated list of Projects based on `query`

func GetRepos

func GetRepos() ([]*code.Repo, int64, errors.Error)

GetRepos FIXME ...

func GetTask

func GetTask(taskId uint64) (*models.Task, errors.Error)

GetTask FIXME ...

func GetTasks

func GetTasks(query *TaskQuery) ([]models.Task, int64, errors.Error)

GetTasks FIXME ...

func GetTasksWithLastStatus added in v0.15.0

func GetTasksWithLastStatus(pipelineId uint64) ([]models.Task, errors.Error)

GetTasksWithLastStatus returns task list of the pipeline, only the most recently tasks would be returned

func Init added in v0.12.0

func Init()

Init the services module

func InsertRow

func InsertRow(table string, rows []map[string]interface{}) (int64, errors.Error)

InsertRow FIXME ...

func MakePlanForBlueprint added in v0.15.0

func MakePlanForBlueprint(blueprint *models.Blueprint) (core.PipelinePlan, errors.Error)

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 NotifyExternal

func NotifyExternal(pipelineId uint64) errors.Error

NotifyExternal FIXME ...

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

func PatchBlueprint(id uint64, body map[string]interface{}) (*models.Blueprint, errors.Error)

PatchBlueprint FIXME ...

func PatchProject added in v0.15.0

func PatchProject(name string, body map[string]interface{}) (*models.Project, errors.Error)

PatchProject FIXME ...

func PatchProjectMetric

func PatchProjectMetric(projectName string, pluginName string, body map[string]interface{}) (*models.ProjectMetric, errors.Error)

PatchProjectMetric FIXME ...

func ReloadBlueprints

func ReloadBlueprints(c *cron.Cron) errors.Error

ReloadBlueprints FIXME ...

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

func RunTasksStandalone(parentLogger core.Logger, taskIds []uint64) errors.Error

RunTasksStandalone run tasks in parallel

func SaveDbProject

func SaveDbProject(project *models.Project) errors.Error

SaveDbProject save a project instance and update it to database

func SaveDbProjectMetric

func SaveDbProjectMetric(projectMetric *models.ProjectMetric) errors.Error

SaveDbProjectMetric save a project instance and update 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 SpawnTasks

func SpawnTasks(input []models.Task) ([]models.Task, errors.Error)

SpawnTasks create new tasks from the failed ones

func TriggerBlueprint added in v0.12.0

func TriggerBlueprint(id uint64) (*models.Pipeline, errors.Error)

TriggerBlueprint triggers blueprint immediately

func UpdateDbPipelineStatus

func UpdateDbPipelineStatus(pipelineId uint64, status string) errors.Error

UpdateDbPipelineStatus update the status of pipeline

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 {
	Enable   *bool `form:"enable,omitempty"`
	Page     int   `form:"page"`
	PageSize int   `form:"pageSize"`
}

BlueprintQuery FIXME ...

type NotificationService

type NotificationService struct {
	EndPoint string
	Secret   string
}

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 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 {
	Status      string `form:"status"`
	Pending     int    `form:"pending"`
	Page        int    `form:"page"`
	PageSize    int    `form:"pageSize"`
	BlueprintId uint64 `uri:"blueprintId" form:"blueprint_id"`
}

PipelineQuery FIXME ...

type ProjectQuery added in v0.15.0

type ProjectQuery struct {
	Page     int `form:"page"`
	PageSize int `form:"pageSize"`
}

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 ...

type TaskQuery

type TaskQuery struct {
	Status     string `form:"status"`
	Page       int    `form:"page"`
	PageSize   int    `form:"page_size"`
	Plugin     string `form:"plugin"`
	PipelineId uint64 `form:"pipelineId" uri:"pipelineId"`
	Pending    int    `form:"pending"`
}

TaskQuery FIXME ...

Jump to

Keyboard shortcuts

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