从 Jenkins 的提交消息中提取用户故事
Extracting User Story from Commit Message in Jenkins
我正在使用 ext-email 扩展来提取用户故事,它作为提交消息添加到邮件正文中。
这是控制台输出:
Commit message: "US285568"
我使用ext-email插件的Build Log Excerpt方法如下:
STORY: ${BUILD_LOG_EXCERPT, start="Commit message:\ \"", end="\'"}
但是,这与任何内容都不匹配,我无法理解它失败的原因。
我找不到该插件的合适文档。
我通过在当前作业结束时触发辅助作业(在控制台输出中包含提交消息)来使用变通解决方案。
我正在助手作业中执行以下 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。
要访问作业中 shell 代码之外的 FINAL 变量,请在 shell 代码之后添加 "Inject environment variables" 构建步骤,并在属性文件中输入 "env.properties"路径。
我正在使用 ext-email 扩展来提取用户故事,它作为提交消息添加到邮件正文中。
这是控制台输出:
Commit message: "US285568"
我使用ext-email插件的Build Log Excerpt方法如下:
STORY: ${BUILD_LOG_EXCERPT, start="Commit message:\ \"", end="\'"}
但是,这与任何内容都不匹配,我无法理解它失败的原因。
我找不到该插件的合适文档。
我通过在当前作业结束时触发辅助作业(在控制台输出中包含提交消息)来使用变通解决方案。
我正在助手作业中执行以下 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。
要访问作业中 shell 代码之外的 FINAL 变量,请在 shell 代码之后添加 "Inject environment variables" 构建步骤,并在属性文件中输入 "env.properties"路径。