Gitlab API:作业不可重试

时间:2017-07-10 16:37:37

标签: api curl gitlab-api

我想自动构建和部署项目。在这方面,我想使用GItlab API在Gitlab Pipeline中重试特定的作业。

我做的API调用如下:

curl --request POST --header" PRIVATE-TOKEN:xxx" " https://gitlab.example.com/api/v4/projects/1/jobs/1/retry"

我的工作可以手动触发,我的gitlab-ci.yml文件如下所示:

execute_octoDeploy:
  tags:
    - windows
  stage: build
  when: manual
  script:
    - .\BuildScripts\octodeploy.ps1

我收到403错误,根据https://docs.gitlab.com/ee/api/README.html表示我未获得授权。 虽然我拥有该项目的所有权利,但我也是该项目的所有者。

添加: 我可以触发其他非手动作业但不是这个。 我还提到: https://gitlab.com/gitlab-org/gitlab-ce/issues/22824

可能有什么问题?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我似乎找到了解决方案:

  • 您需要在API调用中添加作业范围
  • 只有当你在该管道中取消了你的工作时,重试方法才会起作用。

您可以尝试:

curl --header "PRIVATE-TOKEN: xxxxx" 'https://gitlab.example.com/api/v4/projects/1/jobs?scope[]=pending&scope[]=running'

然后指定是否要播放/重试作业。