Zugriff auf Jenkins globales Eigentum in Groovy

In diesem Moment habe ich eine Umgebungsvariable namens GLOBAL_VAR mit dem Wert 'test' unter Jenkins verwalten -> System konfigurieren -> Globale Eigenschaften definiert. Ich habe ein Shell-Skript, wenn ein Projekt erstellt wird, das @ enthäl

echo "The value of the global variable is ${GLOBAL_VAR}"

Wenn ausgeführt, ist das Ergebnis das, was ich erwartet habe:

The value of the global variable is test

Jetzt ist mein Problem, dass ich auf diese Variable in einem Groovy-Skript zugreifen möchte, mit dem ein Dropdown-Menü in den parametrisierten Build-Eigenschaften von Jenkins erstellt wird. Dieses Dropdown-Menü enthält Werte, die auch in den Shell-Skripten verwendet werden, die ausgeführt werden, wenn ein Build ausgeführt wird. Die Dropdown-Elemente sollten also erstellt werden, wenn jemand in Jenkins selbst auf "Mit Parametern erstellen" klickt, z. bevor ein Build gestartet wird.

Ich möchte den Shell-Skriptcode und das Dropdown-Groovy-Skript nicht jedes Mal ändern, wenn ich diese Werte ändern möchte. Außerdem möchte ich die gleichen Werte in verschiedenen Build-Jobs verwenden, was bedeutet, dass ich sie jedes Mal ändern muss, wenn ich eine Variable ändern muss.

Der Dynamic Choice-Parameter, mit dem das Dropdown-Menü erstellt wird, enthält nur den folgenden Groovy-Ausdruck, um die Auswahl zu generieren:

 def list = ["Option 1", "Option 2", "Option 3", "Option 4"]

Und ich möchte den Wert meiner GLOBAL_VAR zu dieser Liste hinzufügen.

Weiß jemand, wie man auf die Jenkins-Umgebungsvariablen in Groovy zugreift? Oder kennt jemand eine andere Methode zum Verwalten von Variablen, die ich sowohl im Dynamic Choice-Parameter (Dropdown-Menü) als auch in den beim Erstellen ausgeführten Shell-Skripten verwenden möchte?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage