我们使用来自Gitlab的注释(注释)来发出几个用户命令,例如重试似乎因集成失败而失败的构建等。我们现在想让詹金斯停止构建。我们已经从注释中获得了内部版本号(通过回调到gitlab来搜索注释),因此我们知道要停止什么构建,但是现在偶然发现了这个问题。我们似乎找不到一个API调用来仅通过buildnumber停止构建。
我们当然可以向https:// server / project / buildnumber / stop(与ui使用的URL相同)发出请求,但是随后我们必须启用crumbIssuer并根据Ops进行CSRF攻击。
是否可以从管道内部执行此操作?
答案 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>