Динамически заполнить расширенный выбор параметра 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()