Jenkins HockeyApp插件可以根据git更改自动创建格式合理的发行说明。但是,如果使用促销插件在促销阶段完成HockeyApp上传,这似乎不起作用。在这种情况下,更改日志为空。
这可以通过选择"从文件加载发行说明"并为项目中的changelog.xml提供路径(../builds/${PROMOTED_NUMBER}/changelog.xml),但输出并不像使用"使用更改日志"那样干净。选择,还包含文件名和提交ID。
在促销阶段以及可能在Jenkins从机上进行转移时,为HockeyApp转移自动创建格式良好的日志的最佳方法是什么?
答案 0 :(得分:0)
回答自己:有可能从jenkins master到jenkins slave获取更改日志 并使用这个简单的脚本将获得的changelog.xml解析为更易于用户阅读:
#!/bin/bash
PROJECT_NAME="$1"
BUILD_NUMBER="$2"
BUILD_DATE="$3"
CHANGELOG=changelog.xml
echo "project=${PROJECT_NAME} build=${BUILD_NUMBER}"
PROJECT_NAME=`basename ${PROJECT_NAME}`
curl ${PROMOTED_URL}api/xml?xpath=/*/changeSet/item/comment\&wrapper=changelog > ${CHANGELOG}
PARSEDLOG=`sed -e 's/<\/[^>]*>/€€/g' ${CHANGELOG} | sed -e 's/<[^>]*>/- /g' | tr €€, '\r' | sed '/^ \s*$/d'`
echo "${PROJECT_NAME} ${BUILD_NUMBER} ${BUILD_DATE} change log:
=====================================================================
${PARSEDLOG}" > changelog.txt
我知道有更好更可靠的方法来清理xml,而不是我使用过的sed和tr命令序列,但现在这种方法很有效。