获取工作流任务状态

注意事项

  • 目前仅支持 GitLab 的 commitId 查询
  • 支持完整的 commitId 或者输入 commitId 前 8 位查询

请求

  1. GET /api/directory/workflowTask?commitId=<commitId>

Query

参数名类型描述默认值是否必须
commitIdstringcommitIdmust

正常返回

  1. [
  2. {
  3. "task_id": 49,
  4. "create_time": 1639466317,
  5. "start_time": 1639466318,
  6. "end_time": 1639466354,
  7. "status": "passed",
  8. "url": "http://my.zadig.com/v1/projects/detail/proxy/pipelines/multi/workflow-demo/49"
  9. }
  10. ]

返回说明

参数名类型描述
task_idint64任务 id
urlstring任务具体 url
statusstring任务状态
create_timeint64Unix 时间戳格式的任务创建时间
start_timeint64Unix 时间戳格式的任务开始时间
end_timeint64Unix 时间戳格式的任务结束时间

任务状态包括:created(创建中)/running(运行中)/passed(通过)/failed(失败)/timeout(超时)/cancelled(取消)

错误码对应列表

  1. {
  2. "resultCode":401,"errorMsg":"auth failed!",
  3. "resultCode":400,"errorMsg":"param is illegal!"
  4. }

工作流任务重试

注意事项

  • 需要有工作流任务重试的权限
  • 支持对状态是 failed(失败)/timeout(超时)/cancelled(取消) 的工作流任务进行重试

请求

  1. POST /api/directory/workflowTask/id/:id/pipelines/:name/restart

路径参数说明

参数名类型描述默认值是否必须
idint任务 id
pipelinesstring工作流名称

正常返回

  1. {"message":"success"}

异常返回

  1. {
  2. "code": 6164,
  3. "description": "获取工作流任务失败",
  4. "extra": {},
  5. "message": "重试工作流任务失败",
  6. "type": "error"
  7. }

取消工作流任务

注意事项

  • 需要有取消工作流任务的权限

请求

  1. POST /api/directory/workflowTask/id/:id/pipelines/:name/cancel

路径参数说明

参数名类型描述默认值是否必须
idint任务 id
pipelinesstring工作流名称

正常返回

  1. {"message":"success"}

异常返回

  1. {
  2. "code": 6163,
  3. "description": "mongo: no documents in result",
  4. "extra": {},
  5. "message": "取消工作流任务失败",
  6. "type": "error"
  7. }

执行工作流

注意事项

  • 需要有执行工作流的权限;
  • 暂不支持更新环境变量;
  • 暂不支持高级选项,如工作流空间缓存和 Docker 缓存。

请求

  1. POST /api/directory/workflowTask/create

body 参数样例

  1. {
  2. "workflow_name":"autoproject-workflow-dev",
  3. "env_name":"dev",
  4. "targets":[
  5. {
  6. "name":"redis3",
  7. "build":{
  8. "repos":[
  9. {
  10. "repo_name":"voting-app",
  11. "branch":"master",
  12. "pr":0
  13. },
  14. {
  15. "repo_name":"dyliu",
  16. "branch":"master",
  17. "pr":0
  18. },
  19. {
  20. "repo_name":"hello-gerrit2",
  21. "branch":"master",
  22. "pr":0
  23. }
  24. ]
  25. }
  26. }
  27. ]
  28. }

body 参数说明

参数名类型描述默认值是否必须
workflow_namestring工作流名称must
env_namestring集成环境名称must
targets[]TargetArgs构建参数must
TargetArgs 参数说明
参数名类型描述默认值是否必须
namestring服务名称must
buildBuildArgs构建参数must
BuildArgs 参数说明
参数名类型描述默认值是否必须
repos[]Repository关联代码库信息must
Repository 参数说明
参数名类型描述默认值是否必须
repo_namestring代码库名称must
branchstring分支must
printpr ID0使用 pr 构建时必传

正常返回

  1. {"message":"success"}

异常返回

  1. {
  2. "code": 6540,
  3. "description": "workflow [hello-world-workflow-dev] 在项目 [hellow-world] 中已经存在!",
  4. "extra": {},
  5. "message": "新建或更新wokflow失败",
  6. "type": "error"
  7. }