从Jenkins的提交消息中提取用户故事

时间:2018-06-13 12:50:27

标签: regex jenkins rally

我正在使用ext-email扩展来提取用户故事,该用户故事作为提交消息添加到邮件正文中。

这是控制台输出:

  

提交消息:“US285568”

我使用了ext-email插件的Build Log Excerpt方法,如下所示:

  

故事:$ {BUILD_LOG_EXCERPT,start =“提交消息:\ \”“,结束=”\'“}}

但是,这与任何事情都不匹配,我无法理解为什么会失败。

1 个答案:

答案 0 :(得分:0)

我找不到该插件的适当文档。

我通过在当前作业结束时触发帮助程序作业(在控制台输出中包含提交消息)来使用变通方法。

我正在帮助程序作业中执行以下shell代码:

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 plug-in

要在作业的外壳程序代码之外访问FINAL变量,请在外壳程序代码之后添加“注入环境变量”构建步骤,然后在“属性文件路径”中输入“ env.properties”。