2017-03-30 2 views
0

Ich versuche, Jenkins als ein Werkzeug als Automatisierungsaufbau zu verwenden. Also, ich muss eine Pipline mit Parameter erstellen, die mir hilft, ein geeignetes Verzeichnis auszuwählen, wo ich eine Build-Batch-Datei starten. Im Moment habe ich gefunden, wie man ein Verzeichnis als Parameter durch Verwendung des Extensible Choice Plugins auswählt. Aber es erlaubt mir, einen Ordner auf einer Ebene zu wählen, aber ich muss tiefer gehen und die Möglichkeit haben, über mehrere Ebenen Verzeichnisstufen zu wählen. Wählen Sie zum Beispiel Verzeichnis auf Level1 und dann auf Level2 und schließlich auf Level3. Könnten Sie mir bitte irgendwelche Ratschläge geben, wie man das macht?So erstellen Sie dynamische Ordnerauswahlparameter in Jankins-Pipeline

Antwort

0

Verwenden Sie groovy Skript in Pipeline-Auftrag, um das Verzeichnis dynamisch zuzuweisen

0

Vielen Dank. Ich habe versucht, irgendein ähnliches Beispiel für Code oder Plugin zu finden, aber das war nicht erfolgreich. Also habe ich mich entschieden, das auf einer groovy-Standard-Syntax zu tun. Hier ist der Code:

node {stage "Directories list output" 
      def dirname = getdirlist()  
      echo dirname} 
import java.io.File; 
import java.io.IOException; 
import javax.swing.JFileChooser; 
@NonCPS 
    def getdirlist() {def initialPath = System.getProperty("user.dir"); 
     JFileChooser fc = new JFileChooser(initialPath); 
     fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); 
     int result = fc.showOpenDialog(null); 
      switch (result){case JFileChooser.APPROVE_OPTION: 
        File file = fc.getSelectedFile(); 
        def path = fc.getCurrentDirectory().getAbsolutePath(); 
        def outputpath="path="+path+"\nfile name="+file.toString(); 
        break; 
        case JFileChooser.CANCEL_OPTION: 
        case JFileChooser.ERROR_OPTION: 
        break;} 
    return outputpath} 

Ich kann es nicht funktionieren lassen. Ich habe einige Zweifel, dass Jenkins-Pipeline nicht erlaubt, einen Standard-Java-Dateidialog zu öffnen. Was kann ein anderer Ansatz für meine Aufgabe sein?

Verwandte Themen