如何在Jenkins管道中按buildnumber停止构建

时间:2020-09-16 06:32:49

标签: jenkins gitlab

我们使用来自Gitlab的注释(注释)来发出几个用户命令,例如重试似乎因集成失败而失败的构建等。我们现在想让詹金斯停止构建。我们已经从注释中获得了内部版本号(通过回调到gitlab来搜索注释),因此我们知道要停止什么构建,但是现在偶然发现了这个问题。我们似乎找不到一个API调用来仅通过buildnumber停止构建。

我们当然可以向https:// server / project / buildnumber / stop(与ui使用的URL相同)发出请求,但是随后我们必须启用crumbIssuer并根据Ops进行CSRF攻击。

是否可以从管道内部执行此操作?

1 个答案:

答案 0 :(得分:1)

导航至Manage Jenkins>脚本控制台。

运行以下脚本,相应地设置作业名称和挂起的内部版本号:

def build = Jenkins.instance.getItemByFullName("jobName").getBuildByNumber(jobNumber)
build.doStop()
build.doKill()

否则,您可以创建一个单独的管道作业并配置上面的脚本

从cid节点中止作业构建(如果先前的选项没有帮助):

Log in to any cid node.

Run:

cd /srv/volumes/jenkins/jobs/<job-name>/builds/
rm -rf <hung-build-number>
相关问题