Documentation
¶
Index ¶
- Constants
- Variables
- func ApproveReleasePlan(c *handler.Context, planID string, req *ApproveRequest) error
- func CreateReleasePlan(c *handler.Context, args *models.ReleasePlan) error
- func DeleteReleasePlan(c *gin.Context, username, id string) error
- func ExecuteReleaseJob(c *handler.Context, planID string, args *ExecuteReleaseJobArgs) error
- func GetReleasePlan(id string) (*models.ReleasePlan, error)
- func GetReleasePlanLogs(id string) ([]*models.ReleasePlanLog, error)
- func OpenAPICreateReleasePlan(c *handler.Context, rawArgs *OpenAPICreateReleasePlanArgs) error
- func OpenAPIGetReleasePlan(id string) (*models.ReleasePlan, error)
- func SkipReleaseJob(c *handler.Context, planID string, args *SkipReleaseJobArgs) error
- func UpdateReleasePlan(c *handler.Context, planID string, args *UpdateReleasePlanArgs) error
- func UpdateReleasePlanStatus(c *handler.Context, planID, status string) error
- func WatchApproval()
- func WatchExecutingWorkflow()
- type ApproveRequest
- type CreateReleaseJobUpdater
- func (u *CreateReleaseJobUpdater) Lint() error
- func (u *CreateReleaseJobUpdater) TargetName() string
- func (u *CreateReleaseJobUpdater) TargetType() string
- func (u *CreateReleaseJobUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
- func (u *CreateReleaseJobUpdater) Verb() string
- type DeleteApprovalUpdater
- func (u *DeleteApprovalUpdater) Lint() error
- func (u *DeleteApprovalUpdater) TargetName() string
- func (u *DeleteApprovalUpdater) TargetType() string
- func (u *DeleteApprovalUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
- func (u *DeleteApprovalUpdater) Verb() string
- type DeleteReleaseJobUpdater
- func (u *DeleteReleaseJobUpdater) Lint() error
- func (u *DeleteReleaseJobUpdater) TargetName() string
- func (u *DeleteReleaseJobUpdater) TargetType() string
- func (u *DeleteReleaseJobUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
- func (u *DeleteReleaseJobUpdater) Verb() string
- type DescUpdater
- type ExecuteReleaseJobArgs
- type ExecuteReleaseJobContext
- type ListReleasePlanResp
- type ManagerUpdater
- type NameUpdater
- type OpenAPICreateReleasePlanArgs
- type OpenAPIListReleasePlanInfo
- type OpenAPIListReleasePlanResp
- type PlanUpdater
- type ReleaseJobExecutor
- func NewReleaseJobExecutor(c *ExecuteReleaseJobContext, args *ExecuteReleaseJobArgs) (ReleaseJobExecutor, error)
- func NewTextReleaseJobExecutor(c *ExecuteReleaseJobContext, args *ExecuteReleaseJobArgs) (ReleaseJobExecutor, error)
- func NewWorkflowReleaseJobExecutor(c *ExecuteReleaseJobContext, args *ExecuteReleaseJobArgs) (ReleaseJobExecutor, error)
- type ReleaseJobSkipper
- func NewReleaseJobSkipper(c *SkipReleaseJobContext, args *SkipReleaseJobArgs) (ReleaseJobSkipper, error)
- func NewTextReleaseJobSkipper(c *SkipReleaseJobContext, args *SkipReleaseJobArgs) (ReleaseJobSkipper, error)
- func NewWorkflowReleaseJobSkipper(c *SkipReleaseJobContext, args *SkipReleaseJobArgs) (ReleaseJobSkipper, error)
- type SkipReleaseJobArgs
- type SkipReleaseJobContext
- type TextReleaseJobExecutor
- type TextReleaseJobSkipper
- type TextReleaseJobSpec
- type TimeRangeUpdater
- type UpdateApprovalUpdater
- func (u *UpdateApprovalUpdater) Lint() error
- func (u *UpdateApprovalUpdater) TargetName() string
- func (u *UpdateApprovalUpdater) TargetType() string
- func (u *UpdateApprovalUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
- func (u *UpdateApprovalUpdater) Verb() string
- type UpdateReleaseJobUpdater
- func (u *UpdateReleaseJobUpdater) Lint() error
- func (u *UpdateReleaseJobUpdater) TargetName() string
- func (u *UpdateReleaseJobUpdater) TargetType() string
- func (u *UpdateReleaseJobUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
- func (u *UpdateReleaseJobUpdater) Verb() string
- type UpdateReleasePlanArgs
- type WorkflowReleaseJobExecutor
- type WorkflowReleaseJobSkipper
- type WorkflowReleaseJobSpec
Constants ¶
View Source
const ( VerbUpdateName = "update_name" VerbUpdateDesc = "update_description" VerbUpdateTimeRange = "update_time_range" VerbUpdateManager = "update_manager" VerbCreateReleaseJob = "create_release_job" VerbUpdateReleaseJob = "update_release_job" VerbDeleteReleaseJob = "delete_release_job" VerbUpdateApproval = "update_approval" VerbDeleteApproval = "delete_approval" TargetTypeReleasePlan = "发布计划" TargetTypeReleasePlanStatus = "发布计划状态" TargetTypeMetadata = "元数据" TargetTypeReleaseJob = "发布内容" TargetTypeApproval = "审批" TargetTypeDescription = "需求关联" VerbCreate = "新建" VerbUpdate = "更新" VerbDelete = "删除" VerbExecute = "执行" VerbSkip = "跳过" )
Variables ¶
View Source
var (
ErrPermissionDenied = errors.New("permission denied")
)
Functions ¶
func ApproveReleasePlan ¶
func ApproveReleasePlan(c *handler.Context, planID string, req *ApproveRequest) error
func CreateReleasePlan ¶
func CreateReleasePlan(c *handler.Context, args *models.ReleasePlan) error
func ExecuteReleaseJob ¶
func ExecuteReleaseJob(c *handler.Context, planID string, args *ExecuteReleaseJobArgs) error
func GetReleasePlan ¶
func GetReleasePlan(id string) (*models.ReleasePlan, error)
func GetReleasePlanLogs ¶
func GetReleasePlanLogs(id string) ([]*models.ReleasePlanLog, error)
func OpenAPICreateReleasePlan ¶
func OpenAPICreateReleasePlan(c *handler.Context, rawArgs *OpenAPICreateReleasePlanArgs) error
func OpenAPIGetReleasePlan ¶
func OpenAPIGetReleasePlan(id string) (*models.ReleasePlan, error)
func SkipReleaseJob ¶ added in v2.3.0
func SkipReleaseJob(c *handler.Context, planID string, args *SkipReleaseJobArgs) error
func UpdateReleasePlan ¶
func UpdateReleasePlan(c *handler.Context, planID string, args *UpdateReleasePlanArgs) error
func UpdateReleasePlanStatus ¶
func WatchApproval ¶
func WatchApproval()
func WatchExecutingWorkflow ¶
func WatchExecutingWorkflow()
Types ¶
type ApproveRequest ¶
type CreateReleaseJobUpdater ¶
type CreateReleaseJobUpdater struct { Name string `json:"name"` Type config.ReleasePlanJobType `json:"type"` Spec interface{} `json:"spec"` }
func NewCreateReleaseJobUpdater ¶
func NewCreateReleaseJobUpdater(args *UpdateReleasePlanArgs) (*CreateReleaseJobUpdater, error)
func (*CreateReleaseJobUpdater) Lint ¶
func (u *CreateReleaseJobUpdater) Lint() error
func (*CreateReleaseJobUpdater) TargetName ¶
func (u *CreateReleaseJobUpdater) TargetName() string
func (*CreateReleaseJobUpdater) TargetType ¶
func (u *CreateReleaseJobUpdater) TargetType() string
func (*CreateReleaseJobUpdater) Update ¶
func (u *CreateReleaseJobUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
func (*CreateReleaseJobUpdater) Verb ¶
func (u *CreateReleaseJobUpdater) Verb() string
type DeleteApprovalUpdater ¶
type DeleteApprovalUpdater struct { }
func NewDeleteApprovalUpdater ¶
func NewDeleteApprovalUpdater(args *UpdateReleasePlanArgs) (*DeleteApprovalUpdater, error)
func (*DeleteApprovalUpdater) Lint ¶
func (u *DeleteApprovalUpdater) Lint() error
func (*DeleteApprovalUpdater) TargetName ¶
func (u *DeleteApprovalUpdater) TargetName() string
func (*DeleteApprovalUpdater) TargetType ¶
func (u *DeleteApprovalUpdater) TargetType() string
func (*DeleteApprovalUpdater) Update ¶
func (u *DeleteApprovalUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
func (*DeleteApprovalUpdater) Verb ¶
func (u *DeleteApprovalUpdater) Verb() string
type DeleteReleaseJobUpdater ¶
type DeleteReleaseJobUpdater struct { ID string `json:"id"` // contains filtered or unexported fields }
func NewDeleteReleaseJobUpdater ¶
func NewDeleteReleaseJobUpdater(args *UpdateReleasePlanArgs) (*DeleteReleaseJobUpdater, error)
func (*DeleteReleaseJobUpdater) Lint ¶
func (u *DeleteReleaseJobUpdater) Lint() error
func (*DeleteReleaseJobUpdater) TargetName ¶
func (u *DeleteReleaseJobUpdater) TargetName() string
func (*DeleteReleaseJobUpdater) TargetType ¶
func (u *DeleteReleaseJobUpdater) TargetType() string
func (*DeleteReleaseJobUpdater) Update ¶
func (u *DeleteReleaseJobUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
func (*DeleteReleaseJobUpdater) Verb ¶
func (u *DeleteReleaseJobUpdater) Verb() string
type DescUpdater ¶
type DescUpdater struct {
Description string `json:"description"`
}
func NewDescUpdater ¶
func NewDescUpdater(args *UpdateReleasePlanArgs) (*DescUpdater, error)
func (*DescUpdater) Lint ¶
func (u *DescUpdater) Lint() error
func (*DescUpdater) TargetName ¶
func (u *DescUpdater) TargetName() string
func (*DescUpdater) TargetType ¶
func (u *DescUpdater) TargetType() string
func (*DescUpdater) Update ¶
func (u *DescUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
func (*DescUpdater) Verb ¶
func (u *DescUpdater) Verb() string
type ExecuteReleaseJobArgs ¶
type ExecuteReleaseJobContext ¶
type ExecuteReleaseJobContext struct { AuthResources *user.AuthorizedResources UserID string Account string UserName string }
type ListReleasePlanResp ¶
type ListReleasePlanResp struct { List []*models.ReleasePlan `json:"list"` Total int64 `json:"total"` }
func ListReleasePlans ¶
func ListReleasePlans(pageNum, pageSize int64) (*ListReleasePlanResp, error)
type ManagerUpdater ¶
func NewManagerUpdater ¶
func NewManagerUpdater(args *UpdateReleasePlanArgs) (*ManagerUpdater, error)
func (*ManagerUpdater) Lint ¶
func (u *ManagerUpdater) Lint() error
func (*ManagerUpdater) TargetName ¶
func (u *ManagerUpdater) TargetName() string
func (*ManagerUpdater) TargetType ¶
func (u *ManagerUpdater) TargetType() string
func (*ManagerUpdater) Update ¶
func (u *ManagerUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
func (*ManagerUpdater) Verb ¶
func (u *ManagerUpdater) Verb() string
type NameUpdater ¶
type NameUpdater struct {
Name string `json:"name"`
}
func NewNameUpdater ¶
func NewNameUpdater(args *UpdateReleasePlanArgs) (*NameUpdater, error)
func (*NameUpdater) Lint ¶
func (u *NameUpdater) Lint() error
func (*NameUpdater) TargetName ¶
func (u *NameUpdater) TargetName() string
func (*NameUpdater) TargetType ¶
func (u *NameUpdater) TargetType() string
func (*NameUpdater) Update ¶
func (u *NameUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
func (*NameUpdater) Verb ¶
func (u *NameUpdater) Verb() string
type OpenAPICreateReleasePlanArgs ¶
type OpenAPICreateReleasePlanArgs struct { Name string `bson:"name" yaml:"name" json:"name"` Manager string `bson:"manager" yaml:"manager" json:"manager"` ManagerIdentityType string `bson:"manager_identity_type" yaml:"manager_identity_type" json:"manager_identity_type"` StartTime int64 `bson:"start_time" yaml:"start_time" json:"start_time"` EndTime int64 `bson:"end_time" yaml:"end_time" json:"end_time"` Description string `bson:"description" yaml:"description" json:"description"` Approval *models.Approval `bson:"approval" yaml:"approval" json:"approval,omitempty"` }
type OpenAPIListReleasePlanInfo ¶
type OpenAPIListReleasePlanInfo struct { ID primitive.ObjectID `bson:"_id,omitempty" yaml:"-" json:"id"` Index int64 `bson:"index" yaml:"index" json:"index"` Name string `bson:"name" yaml:"name" json:"name"` Manager string `bson:"manager" yaml:"manager" json:"manager"` Description string `bson:"description" yaml:"description" json:"description"` CreatedBy string `bson:"created_by" yaml:"created_by" json:"created_by"` CreateTime int64 `bson:"create_time" yaml:"create_time" json:"create_time"` }
type OpenAPIListReleasePlanResp ¶
type OpenAPIListReleasePlanResp struct { List []*OpenAPIListReleasePlanInfo `json:"list"` Total int64 `json:"total"` }
func OpenAPIListReleasePlans ¶
func OpenAPIListReleasePlans(pageNum, pageSize int64) (*OpenAPIListReleasePlanResp, error)
type PlanUpdater ¶
type PlanUpdater interface { // Update returns the old data and the updated data Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error) Verb() string TargetName() string TargetType() string Lint() error }
func NewPlanUpdater ¶
func NewPlanUpdater(args *UpdateReleasePlanArgs) (PlanUpdater, error)
type ReleaseJobExecutor ¶
type ReleaseJobExecutor interface {
Execute(plan *models.ReleasePlan) error
}
func NewReleaseJobExecutor ¶
func NewReleaseJobExecutor(c *ExecuteReleaseJobContext, args *ExecuteReleaseJobArgs) (ReleaseJobExecutor, error)
func NewTextReleaseJobExecutor ¶
func NewTextReleaseJobExecutor(c *ExecuteReleaseJobContext, args *ExecuteReleaseJobArgs) (ReleaseJobExecutor, error)
func NewWorkflowReleaseJobExecutor ¶
func NewWorkflowReleaseJobExecutor(c *ExecuteReleaseJobContext, args *ExecuteReleaseJobArgs) (ReleaseJobExecutor, error)
type ReleaseJobSkipper ¶ added in v2.3.0
type ReleaseJobSkipper interface {
Skip(plan *models.ReleasePlan) error
}
func NewReleaseJobSkipper ¶ added in v2.3.0
func NewReleaseJobSkipper(c *SkipReleaseJobContext, args *SkipReleaseJobArgs) (ReleaseJobSkipper, error)
func NewTextReleaseJobSkipper ¶ added in v2.3.0
func NewTextReleaseJobSkipper(c *SkipReleaseJobContext, args *SkipReleaseJobArgs) (ReleaseJobSkipper, error)
func NewWorkflowReleaseJobSkipper ¶ added in v2.3.0
func NewWorkflowReleaseJobSkipper(c *SkipReleaseJobContext, args *SkipReleaseJobArgs) (ReleaseJobSkipper, error)
type SkipReleaseJobArgs ¶ added in v2.3.0
type SkipReleaseJobContext ¶ added in v2.3.0
type SkipReleaseJobContext struct { AuthResources *user.AuthorizedResources UserID string Account string UserName string }
type TextReleaseJobExecutor ¶
type TextReleaseJobExecutor struct { ID string ExecutedBy string Spec TextReleaseJobSpec }
func (*TextReleaseJobExecutor) Execute ¶
func (e *TextReleaseJobExecutor) Execute(plan *models.ReleasePlan) error
type TextReleaseJobSkipper ¶ added in v2.3.0
type TextReleaseJobSkipper struct { ID string SkippedBy string Spec TextReleaseJobSpec }
func (*TextReleaseJobSkipper) Skip ¶ added in v2.3.0
func (e *TextReleaseJobSkipper) Skip(plan *models.ReleasePlan) error
type TextReleaseJobSpec ¶
type TextReleaseJobSpec struct {
Remark string `json:"remark"`
}
type TimeRangeUpdater ¶
type TimeRangeUpdater struct { StartTime int64 `json:"start_time"` EndTime int64 `json:"end_time"` }
func NewTimeRangeUpdater ¶
func NewTimeRangeUpdater(args *UpdateReleasePlanArgs) (*TimeRangeUpdater, error)
func (*TimeRangeUpdater) Lint ¶
func (u *TimeRangeUpdater) Lint() error
func (*TimeRangeUpdater) TargetName ¶
func (u *TimeRangeUpdater) TargetName() string
func (*TimeRangeUpdater) TargetType ¶
func (u *TimeRangeUpdater) TargetType() string
func (*TimeRangeUpdater) Update ¶
func (u *TimeRangeUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
func (*TimeRangeUpdater) Verb ¶
func (u *TimeRangeUpdater) Verb() string
type UpdateApprovalUpdater ¶
func NewUpdateApprovalUpdater ¶
func NewUpdateApprovalUpdater(args *UpdateReleasePlanArgs) (*UpdateApprovalUpdater, error)
func (*UpdateApprovalUpdater) Lint ¶
func (u *UpdateApprovalUpdater) Lint() error
func (*UpdateApprovalUpdater) TargetName ¶
func (u *UpdateApprovalUpdater) TargetName() string
func (*UpdateApprovalUpdater) TargetType ¶
func (u *UpdateApprovalUpdater) TargetType() string
func (*UpdateApprovalUpdater) Update ¶
func (u *UpdateApprovalUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
func (*UpdateApprovalUpdater) Verb ¶
func (u *UpdateApprovalUpdater) Verb() string
type UpdateReleaseJobUpdater ¶
type UpdateReleaseJobUpdater struct { ID string `json:"id"` Name string `json:"name"` Type config.ReleasePlanJobType `json:"type"` Spec interface{} `json:"spec"` }
func NewUpdateReleaseJobUpdater ¶
func NewUpdateReleaseJobUpdater(args *UpdateReleasePlanArgs) (*UpdateReleaseJobUpdater, error)
func (*UpdateReleaseJobUpdater) Lint ¶
func (u *UpdateReleaseJobUpdater) Lint() error
func (*UpdateReleaseJobUpdater) TargetName ¶
func (u *UpdateReleaseJobUpdater) TargetName() string
func (*UpdateReleaseJobUpdater) TargetType ¶
func (u *UpdateReleaseJobUpdater) TargetType() string
func (*UpdateReleaseJobUpdater) Update ¶
func (u *UpdateReleaseJobUpdater) Update(plan *models.ReleasePlan) (before interface{}, after interface{}, err error)
func (*UpdateReleaseJobUpdater) Verb ¶
func (u *UpdateReleaseJobUpdater) Verb() string
type UpdateReleasePlanArgs ¶
type UpdateReleasePlanArgs struct { Verb string `json:"verb"` Spec interface{} `json:"spec"` }
type WorkflowReleaseJobExecutor ¶
type WorkflowReleaseJobExecutor struct { ID string Ctx *ExecuteReleaseJobContext Spec WorkflowReleaseJobSpec }
func (*WorkflowReleaseJobExecutor) Execute ¶
func (e *WorkflowReleaseJobExecutor) Execute(plan *models.ReleasePlan) error
type WorkflowReleaseJobSkipper ¶ added in v2.3.0
type WorkflowReleaseJobSkipper struct { ID string Ctx *SkipReleaseJobContext Spec WorkflowReleaseJobSpec }
func (*WorkflowReleaseJobSkipper) Skip ¶ added in v2.3.0
func (e *WorkflowReleaseJobSkipper) Skip(plan *models.ReleasePlan) error
type WorkflowReleaseJobSpec ¶
type WorkflowReleaseJobSpec struct { }
Click to show internal directories.
Click to hide internal directories.