2017-06-29 10 views
0

Gibt es ein Plugin/Groovy-Skript, das ich für folgende verwenden kann?Jenkins Parameter Liste Dropdown auf Basis der Benutzerauswahl

Ich habe eine Liste von Clients, auf die ich brauche Tests zu beginnen ich Zugang zu Testliste habe/Hardware-Liste für jeden Client in meinem Master (In einer flachen Datei)

Wenn ich einen Client mit parametrisierte wählen Build, ich muss den Inhalt der Datei für den ausgewählten Client zu aktualisieren

Ich habe versucht, mich umzusehen, aber konnte keine Lösung für mein Problem finden. Würde deine Hilfe schätzen.

Gibt es auch eine Möglichkeit, dass ich diese Wahl, die eine Zeichenfolge ist, in eine Zahl, Schlüsselwertkarte konvertieren kann?

Beispiel: Master Server die folgenden Verzeichnisstruktur hat:

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

Wenn ich versuche, einen Job zu starten und ich wählen Client1 aus der parametrierten Plugin, ich sollte in der Lage sein HW_1 und HW_2 unter Geräte aufzulisten, und liste test1, test2 in der Testliste auf.

Nachdem ich die Tests gewählt habe, sollte ich in der Lage sein, diese Informationen an den Slave-Knoten zu übergeben.

+0

nicht klar, was Sie tun möchten .. müssen Sie eine neue Datei für einen Client erstellen? Wenn ja, könnten Sie Dateibeispiele bereitstellen. – daggett

+0

Ich habe gerade ein Beispiel hinzugefügt, lassen Sie mich bitte wissen, wenn das hilft. Ich werde versuchen, weiter zu erläutern, ob es immer noch verwirrend ist. – ShivaPahwa

Antwort

0

Sie benötigen "Active Choice Reactive Parameter" Plugin für Jenkins https://wiki.jenkins.io/display/JENKINS/Active+Choices+Plugin. Sie müssen 3 Build-Parameter in Ihrer Konfiguration haben:

  1. "Aktive Auswahl der Parameter" - wir nennen es "CLIENT". Verwenden Sie es als „single select“ Typ mit einem starken Skript für sie in das entsprechende Feld wie folgt aus:

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

  2. Und ein Build-Parameter „Aktive Auswahl Reaktive“ als ein Paar zum vorherigen - lassen Sie uns Nennen Sie es "TESTS". verwenden Sie es als „single select“ Typ mit einem starken Skript für sie in das entsprechende Feld wie folgt aus:

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

Wenn Sie nicht brauchen, eine Abhängigkeit zwischen HW-Geräten und Tests haben, nur

  1. Und ein Build-Parameter "Active Choices Reactive" als ein Paar zum vorherigen - nennen wir es "HW". verwenden Sie es als „single select“ Typ mit einem starken Skript für sie in das entsprechende Feld wie folgt aus:

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

Eine weitere Option eine „Aktive Auswahl Reaktive Referenz Parameter“ einstellen würde und konfigurieren Verwendung von HW und TESTS.

Verwandte Themen