在詹金斯中禁用和启用作业

Disabling and enabling jobs in jenkins

目前为了启用或禁用作业,用户必须在基于 Matrix 的安全性中具有作业配置权限 configuration.We 希望能够独立于作业管理启用/禁用作业权限配置权限。 我们希望每个用户都能够在没有 touching/breaking 配置的情况下启用和禁用项目。

有一些夜间作业

谢谢

为将使用 'root' 用户的凭据执行此操作的用户提供一个脚本,并仅在脚本上设置执行位,这样就没有人可以 read/copy 它了。

至少3种脚本制作方式:

HTTP POST 请求:

1.

curl -X POST http(s)://<your_jenkins_url>/jenkins/job/<nightly-build_job_name>/disable

2.

使用 python 詹金斯API。 Documentation很好,通俗易懂的很像API。

3.

第三个可以是将使用 jenkins-cli 的脚本:accepted answer 描述得很好。

作业配置权限绑定到每个作业中的 disable/enable 函数,这是真的。

没有相应权限的 disable/enable 作业的一种替代方法是创建在内部执行此操作的新作业。例如,需要作业名称作为参数的作业,并禁用它们。

  • 您可以使用 curl + 具有作业配置权限的 Jenkins 用户的凭据。

  • 您可以使用插件。例如,此脚本使用 Job DSL Plugin:

    job("jobname"){
        using("jobname")
        disabled(true)
    }
    

有关其他选项,请查看 this question

您可以尝试 install this plugin 获取单个项目的 enable/disable 按钮-

我检查了我的 Jenkins,我可以看到这个:

但是当我在插件部分检查时,我没有看到这个 extra column plugin 安装。可能这是 Jenkins 最新版本的默认行为。