Как указать собственный URL-адрес для проверки статуса Github на этапе Jenkins Blue Ocean?

При запуске этапа в Jenkinsfile я хотел бы иметь возможность изменить URL-адрес, о котором сообщается в Github. По умолчанию это URL-адрес сборки в Jenkins, но я хотел бы добавить что-то к этому URL-адресу, например /aSpecificReport.html.

Я могу сделать это с помощью плагина githubNotfiy как такового:

githubNotify context: 'Lint',
             status: 'FAILURE',
             description: 'ESLint found errors',
             targetUrl: env.BUILD_URL + '/aSpecificReport.html'

Но есть ли способ сделать это для определенного шага без использования плагина githubNotifiy?

Для справки, я имею в виду ссылку для проверки статуса:

это ссылка для проверки статуса


person Charles Burgess    schedule 23.07.2018    source источник


Ответы (1)


Меня интересовал тот же эффект, и оказалось, что идентификаторы этапов непредсказуемы до запуска конвейера (https://stackoverflow.com/a/33402876/6943587), так как я предполагаю, что они зависят от конфигурации этапа, количества этапов, параллелизации, вложенности и т. д. Однако я заметил, что идентификаторы этапов совпадают между идентичными или почти идентичными, работает трубопровод.

Например, если вы создаете PR (#22), который запускает конвейер. Затем позже вы отправляете новую фиксацию в эту ветку, запуская другой запуск конвейера. Идентификаторы этапов между этими двумя запусками будут идентичными при условии, что они имеют похожий, если не идентичный, конвейерный поток (т. е. они оба запускают/пропускают одни и те же этапы). Тогда единственной разницей между URL-адресами каждого этапа будет BUILD_ID.

Следовательно, URL-адрес для первого и второго этапа для обоих BUILD_IDs будет...

BUILD_ID = 1

# Stage 1
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/1/pipeline/15`

# Stage 2
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/1/pipeline/45

BUILD_ID = 2

# Stage 1
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/2/pipeline/15`

# Stage 2
https://<jenkins-host>.com/blue/organizations/jenkins/<repo>/detail/PR-22/2/pipeline/45

Конечно, это не идеально, так как потребовало бы проверки и обновления идентификаторов этапов для серьезных изменений в конвейере и не подходило бы для очень изменчивых потоков конвейера. Но это сработало для меня, поэтому я решил поделиться.

person Nickofthyme    schedule 24.09.2018