Как запустить Groovy скрипт для чтения причины сборки? - PullRequest
0 голосов
/ 25 апреля 2019

Я пишу первый отличный сценарий в Jenkins, у меня есть вышестоящий job A, который вызывает job B.

Находясь на задании B, мне нужно прочитать GERRIT_CHANGE_NUMBER, который вызвал задание A.

Ниже, например, как получить 28331 в последующем задании B ?, которое печатается на консоли задания B, как показано ниже:

Started by upstream project some_up_project build number 100
originally caused by:

Triggered by Gerrit: https://gerrit-server.com/28331

Я посмотрел на этот ТАК ответ, но не уверен, как это сделать в Дженкинсе.

В задании B я сделал Add build step, чтобы добавить секцию Execute system Groovy script, затем выбрал Groovy command в его раскрывающемся списке и в области скриптов Groovy, добавленной ниже для целей тестирования, выдает ошибку как unable to resolve class Run.cause ..., попытался много других способов, и ничего не сработало.

import hudson.model.Run
for (cause in Run.getCauses()) {
    if (cause instanceof Run.Cause.UserIdCause) {
        println cause.getUserName()
    }
}

1 Ответ

1 голос
/ 25 апреля 2019

такого класса нет Run.Cause

начать с чего-то, что работает: hudson.model.Run

поиск документации: hudson.model.Run.getCauses ()

метод возвращает: Список <<a href="https://javadoc.jenkins-ci.org/hudson/model/Cause.html" rel="nofollow noreferrer"> Причина >

Итак, импортируйте этот класс в ваш код и используйте его:

import hudson.model.Cause
import hudson.model.Run
for (cause in Run.getCauses()) {
    if (cause instanceof Cause.UserIdCause) {
        println cause.getUserName()
    }
}

Примечание: я не проверял код. Я только что дал вам представление, как устранить ошибку.

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