簡體   English   中英

Jenkins Groovy:觸發構建的原因

[英]Jenkins Groovy: What triggered the build

我正在考慮在Jenkins中使用Groovy腳本進行構建作業,因為我有一些條件要檢查可能需要訪問Jenkins API。

是否有可能從Groovy腳本中找出觸發構建的人或者是什么? SCM更改,另一個項目或用戶。 我剛剛開始閱讀一些關於Groovy和Jenkins API的內容。

我想檢查以下條件並進行相應的構建。 一些偽代碼:

def buildTrigger JenkinsAPI.thisBuild.Trigger
if (buildTrigger == scm) {
   execute build_with_automake
   def new_version = check_git_and_look_up_tag_for_version
   if (new_version) {
      execute git tag new_release_candidate
      publish release_candidate
   }
} else if (buildTrigger == "Build other projects") {
  execute build_with_automake
}

該項目應建立在每個SCM變更的基礎上,但僅在版本增加時才標記和發布。 它還應該在另一個項目觸發構建時構建。

我有類似的東西 - 我想讓觸發構建的用戶,這是我的代碼:

for (cause in bld.getCauses()) {
    if (cause instanceof Cause.UserIdCause) {
        return cause.getUserName()
    }
}

(bld是Run的子類型)

因此,您可以獲取構建的原因,並檢查其類型。

請參閱原因javadoc中的不同類型http://javadoc.jenkins-ci.org/hudson/model/Cause.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM