Задача — добавлять комментарий в Jira-тикет после выполнения Jenkins-билда в scripted pipeline job.
Используем
Докмументация и примеры —
Устанавливаем его — Manage Jenkins > Manage Plugins:
Настраиваем доступ к Jira — переходим в Manage Jenkins > Configure system, в JIRA Steps добавляем сайт:
Добавляем тестовую задачу:
node { echo "Run job" jiraAddComment idOrKey: 'BMEDIOS-198', comment: 'Test', site: 'TestSite' }
Запускаем джобу:
Проверяем коммент в Jira:
Что бы получить текст коммита, в котором можно, например, передавать ID тикета в Jira, который надо обновить — используем sh
и git log
: — заносим stdout
в переменную message
, которую потом передаём в jiraAddComment comment
:
node { echo "Run job" dir ('ci') { git branch: "master", url: "git@github.com:projectname/devops.git", credentialsId: "jenkins-github" commit = sh(returnStdout: true, script: 'git log -1 --pretty=%B').trim() } message = "Commit build:" + commit jiraAddComment idOrKey: 'BMEDIOS-198', comment: message, site: 'TestSite' }
Результат:
Комментарий:
И тут же можно распарсить ID тикета из текста «[BMEDIOS-198] Test Jira plugin«, подставить его в переменную — и использовать в значении для idOrKey
.
Аналогично — можно использовать $BUILD_NUMBER
и т.д.
P.S. Ну или старый добрый curl
:
И файл jira_api_test.json
с данными:
{ "body": "curl test" }
Такой вариант можно использовать в post-step Freestyle-проекта, т.к. Jira Steps в нём не запустишь, а