Динамически заполнить расширенный выбор параметра Jenkins ветвями Perforce в указанном репо

У меня есть версия строкового параметра - где пользователь вводит правильную версию

Теперь мне нужно иметь расширяемый параметр выбора / динамический параметр или что-то в этом роде, в котором можно было бы перечислить все доступные потоки исполнений, которые начинаются с 100 (пример - (100-выпуск,1001-выпуск,1002-выпуск и т. Д.)..) из которого пользователь мог выбрать один. Точно так же, как "GIT PARAMETER PLUGIN"

Есть ли способ сделать этот параметр динамически заполнить выпадающий список с ветвями выполнения? Я не хочу требовать, чтобы кто-то поддерживал этот параметр, вручную настраивая раскрывающийся список при каждом создании новой ветви. Я хочу, чтобы он был непосредственно заполнен от Perforce. Я знаю, что мы можем использовать Groovy, но я никогда не использовал Groovy для работы с перформансом.

Ниже то, что я пробовал в моем расширенном параметре выбора Плагин "значение" ->Groovy скрипт, но он не работает

 import com.perforce.p4java.server.*
 import com.perforce.p4java.impl.generic.core.file.*
 import groovyx.net.http.RESTClient
@Grab(group='com.perforce', module='p4java', version='2013.1.656196' )
@Grab(group='org.codehaus.groovy.modules.http-builder', module='http-builder', version='0.6')
def server = ServerFactory.getServer( "p4java://abc123:1666", null)
server.setUserName("loginuser")
server.setPassword("loginpassword")
server.connect()
server.login(null)

  final List<IFileSpec> checkFile = FileSpecBuilder.makeFileSpecList("//depotname/path/filename.lst")

 final GetFileContentsOptions gfco = new GetFileContentsOptions()
 gfco.setNoHeaderLine(true)
 gfco.setDontAnnotateFiles(false) // must set this!

 InputStream inStream = server.getFileContents(checkFile, gfco)

 BufferedReader reader = new BufferedReader(inStream);
 StringBuilder out = new StringBuilder();
 String line;
 while ((line = reader.readLine()) != null) {
  out.append(line);        
   if(line.toString().contains("params.VERSION")) {
    return line
 } 
} inStream.close()

0 ответов

Другие вопросы по тегам