Список ветвей с активным выбором, используя скрипт Groovy - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь перечислить ветви github для параметризованного задания Jenkins, используя плагин активного выбора. Я попробовал следующие groovy скрипты, но безрезультатно - ни одна ветвь не найдена / не перечислена в выпадающем списке.

1.

def process = ("ssh-agent bash -c 'ssh-add /home/ubuntu/.ssh/id_rsa; git ls-remote -t -h git@github.com:username/repository.git'").execute()
return process.text.readLines().collect { 
  it.split()[1].replaceAll('refs/heads/', '').replaceAll('refs/tags/', '').replaceAll("\\^\\{\\}", '')
}

2.

def command = 'ssh-add /home/ubuntu/.ssh/id_rsa; git ls-remote -t -h git@github.com:username/repository.git'
def process = ["ssh-agent", "bash", "-c", command].execute()
return process.text.readLines().collect { 
  it.split()[1].replaceAll('refs/heads/', '').replaceAll('refs/tags/', '').replaceAll("\\^\\{\\}", '')
}

3.

def process = ["ssh-agent", "bash", "-c", "ssh-add", "/home/ubuntu/.ssh/id_rsa", "git", "ls-remote", "-t", "-h", "git@github.com:username/repository.git"].execute()
return process.text.readLines().collect { 
  it.split()[1].replaceAll('refs/heads/', '').replaceAll('refs/tags/', '').replaceAll("\\^\\{\\}", '')
}

Я подозреваю, что это как-то связано с тем, как groovy анализирует вложенные команды оболочки, но я не уверен.

Ваша помощь будет принята с благодарностью.

Обновление

Я пробовал сценарий 2 в groovysh, как предложено @cfrick, и он отлично работает Кажется, что проблема связана с моей версией Jenkins, потому что плагин расширяемого параметра выбора имеет ту же проблему с моим groovy сценарием.

Я решил обойти мои потребности и отбросил все это вещь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...