[英]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.