regex - 从 Jenkins 的提交消息中提取用户故事
问题描述
我正在使用 ext-email 扩展来提取作为提交消息添加到邮件正文中的用户故事。
这是控制台输出:
提交消息:“US285568”
我使用了ext-email插件的Build Log Excerpt方法如下:
故事:${BUILD_LOG_EXCEPT, start="提交消息:\ \"", 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 插件。
要在作业中访问 shell 代码之外的 FINAL 变量,请在 shell 代码后添加“注入环境变量”构建步骤,并在“属性文件路径”中输入“env.properties”。
推荐阅读
- python - Python 2.6 Unittest 辅助参数和argparse,如何解决?
- javascript - 为什么关闭相机后在android中刷新网页视图?
- python - 如何在 python 中修复 KeyError --> KeyError: 'compensation_remaining_leaves'
- java - JNI 无法释放内存
- performance - 提高 Cython 函数的性能以加快文件读取速度
- amazon-web-services - terraform-aws ecs:重命名 ecs 集群时终止 ecs 实例
- kubernetes-helm - 有没有办法只生成一次唯一标识符值(如果未设置)并且不能由用户编辑
- gcc - 如何美化我编译的 FFmpeg 二进制文件?
- python - 在 Python 中浏览我的循环时遇到问题
- javascript - 我可以将点击事件绑定到舞台并双击其中的元素吗?