2013-10-01 60 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腳本。這不是一個完美的解決方案,但它會做你想做的。