詹金斯:确定触发类型

dOp*_*Ops 6 jenkins jenkins-plugins jenkins-scriptler

有没有一种方法可以在执行期间确定当前构建的触发器。我要确定的是触发器是SCM更改,cron触发器还是用户触发器。我为一个作业定义了多个触发器,并且想在外壳执行脚本中使用触发器类型作为参数。

gar*_*les 2

您可以使用 Rest API 来获取此信息;这是一个例子:

http://jenkins.yourdomain.com/job/job_name/build_number/api/json?tree=actions[causes[shortDescription]]&pretty=true

回报

{
  "actions" : [
    {
      "causes" : [
        {
          "shortDescription" : "Started by an SCM change"
        }
      ]
    },
    {

    },
    {

    },
    {

    },
    {

    },
    {

    },
    {

    }
  ]
}
Run Code Online (Sandbox Code Playgroud)