Извлечение пользовательской истории из сообщения коммитов в Jenkins - PullRequest
0 голосов
/ 13 июня 2018

Я использую расширение ext-email для извлечения пользовательской истории, которая добавляется в качестве сообщения фиксации для включения в тело письма.

Это вывод консоли:

Сообщение фиксации: "US285568"

Я использовал метод Build Log Excerpt модуля ext-email следующим образом:

STORY: $ {BUILD_LOG_EXCERPT,start = "Commit message: \ \" ", end =" \ '"}

Однако это ничего не соответствует, и я не могу понять, почему это происходит.

1 Ответ

0 голосов
/ 12 июля 2018

Я не смог найти нужную документацию для этого плагина.

Я использовал обходное решение, вызвав вспомогательное задание в конце текущего задания (которое содержит сообщение о фиксации ввывод на консоль).

Я выполняю следующий код оболочки в вспомогательном задании:

result=$(curl -GET {JENKINS_IP}/jenkins/job/{UPSTREAM_JOB_NAME}/consoleFull --user "user:pass")

comm=$(grep "Commit message:" <<< "$result")


if grep -E "US[0-9]+" <<< "$comm"
then
    final=$(grep -o "US[0-9]*" <<< "$comm")
else
    final="<font color=\"red\">User Story not found</font>"
fi

echo FINAL=$final > env.properties

Для доступа к переменной FINAL (которая содержит значение пользовательской истории) в качестве переменной среды, Я использовал плагин EnvInject .

Чтобы получить доступ к переменной FINAL вне кода оболочки в задании, добавьте шаг сборки «Внедрить переменные среды» после кода оболочки и введите"env.properties" в пути к файлу свойств.

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