2017-06-29 59 views
0

是否有插件/ groovy腳本我可以用於以下?Jenkins參數列表根據用戶選擇下拉

我有我需要開始測試 我有機會獲得測試列表/在我的掌握每個客戶端的硬件列表(在一個平面文件)

的客戶名單。當我使用參數選擇客戶端生成,我需要更新與所選客戶端相關的文件的內容

我試過環顧四周,但找不到解決方案,我的問題。希望你的幫助。

另外,有沒有辦法,我可以將該選擇是一個字符串轉換爲數字,鍵值映射?

例: 主服務器具有以下目錄結構:

Client1 
|_HW_list.log 
    HW_1 
    HW_2 
|_TestLst.log 
    test1 
    test2 
Client2 
|_HW_list.log 
    HW_1 
|_TestLst.log 
    testA 
    testB 

當我試圖啓動一個工作,我從參數插件選擇客戶端1,我應該能夠列出HW_1和HW_2下的設備,並在測試列表中列出test1,test2。

當我選擇測試後,我應該能夠將這些信息傳遞給從節點。

+0

不清楚你想要做什麼..你是否需要爲一個客戶端生成一個新文件?如果是這樣,你能否提供文件示例。 – daggett

+0

我剛剛添加了一個示例,請讓我知道如果有幫助。如果它仍然令人困惑,我會試着進一步闡述。 – ShivaPahwa

回答

0

您需要Jenkins https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin的「Active Choice Reactive Parameter」插件。您需要在您的配置中有3個構建參數:

  1. 「Active Choices參數」 - 我們將其命名爲「CLIENT」。用Groovy腳本使用它作爲一個「單一選擇」類型,它在各自的領域是這樣的:

    return ["Client1", "Client2", "Client3"]

  2. 而構建參數「主動選擇無」作爲一對前一個 - 讓我們將其命名爲「測試」。用Groovy腳本使用它作爲一個「單一選擇」類型,它在各自的領域是這樣的:

    switch(CLIENT){ 
    case "Client1": 
    return ["Tests1", "Tests11", "Tests111"] 
    break 
    case "Client2": 
        return ["Tests2", "Tests22", "Tests222", "Tests2222"] 
    break 
    case "Client3": 
        return ["Tests3", "Tests33", "Tests333"] 
    break 
    } 
    

如果沒有需要有硬件設備和測試之間的依賴關係,只是

  1. 將構建參數「Active Choices Reactive」與前一個參數配對 - 讓我們將其命名爲「HW」。用Groovy腳本使用它作爲一個「單一選擇」類型,它在各自的領域是這樣的:

    switch(CLIENT){ 
    case "Client1": 
    return ["HW1", "HW2"] 
    break 
    case "Client2": 
        return ["HW1"] 
    break 
    case "Client3": 
        return ["HW2"] 
    break 
    } 
    

另一種選擇是設置一個「主動選擇無參考參數」和配置的使用硬件和測試。

相關問題