jenkins 實現二級聯動選擇引數

肖祥發表於2024-08-18

需求

有2個引數,一個AppName,一個GitRepository。當選擇appName時,動態顯示正確的git倉庫地址。

注意需要安裝外掛 Active Choices

新增第一個引數AppName

引數型別選擇,Active Choices Reactive Parameter,注意,這個第一個引數型別,是不一樣的。

填寫Groovy Script,完整內容為:

list=["aa","bb","cc"]
return list

描述填寫:應用名稱

啟用篩選功能

新增第二個引數GitRepository

引數型別選擇,Active Choices Reactive Parameter,注意,這個第一個引數型別,是不一樣的。

填寫Groovy Script,完整內容為:

// 定義字典變數
def myDict = [
  "aa":"https://xx.gitlab.com/aa.git",
  "bb":"https://xx.gitlab.com/bb.git",
  "cc":"https://xx.gitlab.com/cc.git"
]

// 遍歷字典
for (entry in myDict) {
  //echo "鍵: ${entry.key}, 值: ${entry.value}"
  if (AppName.equals(entry.key)){
       return [entry.value]
   }
}

勾選Use Groovy Sandbox

Fallback Script,返回指令碼輸入:

return["Could not get Environment from GitBranch Param"]

勾選Use Groovy Sandbox

描述資訊填寫:git地址

Referenced parameters,填寫:AppName

這裡是重點,參考的引數,這裡寫的是上邊的選項引數的名字:AppName,也就是說,當這個引數發生變化是,就會觸發執行上邊的Groovy Script一次,可以根據指令碼判斷返回指定聯動下拉框的值

儲存

測試

點選Build with Parameters,效果如下:

選擇一個專案,地址會自動變化

相關文章