获取工作流任务状态
注意事项
- 目前仅支持 GitLab 的 commitId 查询
- 支持完整的 commitId 或者输入 commitId 前 8 位查询
请求
GET /api/directory/workflowTask?commitId=<commitId>
Query
参数名 | 类型 | 描述 | 默认值 | 是否必须 |
---|
commitId | string | commitId | 无 | must |
正常返回
[
{
"task_id": 49,
"create_time": 1639466317,
"start_time": 1639466318,
"end_time": 1639466354,
"status": "passed",
"url": "http://my.zadig.com/v1/projects/detail/proxy/pipelines/multi/workflow-demo/49"
}
]
返回说明
参数名 | 类型 | 描述 |
---|
task_id | int64 | 任务 id |
url | string | 任务具体 url |
status | string | 任务状态 |
create_time | int64 | Unix 时间戳格式的任务创建时间 |
start_time | int64 | Unix 时间戳格式的任务开始时间 |
end_time | int64 | Unix 时间戳格式的任务结束时间 |
任务状态包括:created(创建中)/running(运行中)/passed(通过)/failed(失败)/timeout(超时)/cancelled(取消)
错误码对应列表
{
"resultCode":401,"errorMsg":"auth failed!",
"resultCode":400,"errorMsg":"param is illegal!"
}
工作流任务重试
注意事项
- 需要有工作流任务重试的权限
- 支持对状态是 failed(失败)/timeout(超时)/cancelled(取消) 的工作流任务进行重试
请求
POST /api/directory/workflowTask/id/:id/pipelines/:name/restart
路径参数说明
参数名 | 类型 | 描述 | 默认值 | 是否必须 |
---|
id | int | 任务 id | 无 | 是 |
pipelines | string | 工作流名称 | 无 | 是 |
正常返回
{"message":"success"}
异常返回
{
"code": 6164,
"description": "获取工作流任务失败",
"extra": {},
"message": "重试工作流任务失败",
"type": "error"
}
取消工作流任务
注意事项
请求
POST /api/directory/workflowTask/id/:id/pipelines/:name/cancel
路径参数说明
参数名 | 类型 | 描述 | 默认值 | 是否必须 |
---|
id | int | 任务 id | 无 | 是 |
pipelines | string | 工作流名称 | 无 | 是 |
正常返回
{"message":"success"}
异常返回
{
"code": 6163,
"description": "mongo: no documents in result",
"extra": {},
"message": "取消工作流任务失败",
"type": "error"
}
执行工作流
注意事项
- 需要有执行工作流的权限;
- 暂不支持更新环境变量;
- 暂不支持高级选项,如工作流空间缓存和 Docker 缓存。
请求
POST /api/directory/workflowTask/create
body 参数样例
{
"workflow_name":"autoproject-workflow-dev",
"env_name":"dev",
"targets":[
{
"name":"redis3",
"build":{
"repos":[
{
"repo_name":"voting-app",
"branch":"master",
"pr":0
},
{
"repo_name":"dyliu",
"branch":"master",
"pr":0
},
{
"repo_name":"hello-gerrit2",
"branch":"master",
"pr":0
}
]
}
}
]
}
body 参数说明
参数名 | 类型 | 描述 | 默认值 | 是否必须 |
---|
workflow_name | string | 工作流名称 | 无 | must |
env_name | string | 集成环境名称 | 无 | must |
targets | []TargetArgs | 构建参数 | 无 | must |
TargetArgs 参数说明
参数名 | 类型 | 描述 | 默认值 | 是否必须 |
---|
name | string | 服务名称 | 无 | must |
build | BuildArgs | 构建参数 | 无 | must |
BuildArgs 参数说明
Repository 参数说明
参数名 | 类型 | 描述 | 默认值 | 是否必须 |
---|
repo_name | string | 代码库名称 | 无 | must |
branch | string | 分支 | 无 | must |
pr | int | pr ID | 0 | 使用 pr 构建时必传 |
正常返回
{"message":"success"}
异常返回
{
"code": 6540,
"description": "workflow [hello-world-workflow-dev] 在项目 [hellow-world] 中已经存在!",
"extra": {},
"message": "新建或更新wokflow失败",
"type": "error"
}