2013-10-01 27 views
4

有没有一种方法可以在执行期间识别当前构建的触发器。我想要的是确定触发器是否为SCM更改,cron触发器或用户触发器。我为作业定义了多个触发器,并且希望将触发器类型用作shell执行脚本中的参数。Jenkins:识别触发器类型

回答

1

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

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

回报

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

    }, 
    { 

    }, 
    { 

    }, 
    { 

    }, 
    { 

    }, 
    { 

    } 
    ] 
} 
0

一个解决方案是使用Run Condition Plugin,它可以根据触发器类型运行不同的shell脚本。这不是一个完美的解决方案,但它会做你想做的。