当构建作业詹金斯生成变更日志时。但是每条提交消息都以新行开头切入〜72个字符。
当我从字符串中的currentBuild.changeSets获取消息时,仅设置提交的第一行。
詹金斯管道:
node {
stage 'clean'
//step([$class: 'WsCleanup'])
stage 'git'
git url: 'https://***@***/***/****.git'
stage 'change'
passedBuilds = []
lastSuccessfulBuild(passedBuilds, currentBuild);
def changeLog = getChangeLog(passedBuilds)
echo "${changeLog}"
}
def lastSuccessfulBuild(passedBuilds, build) {
if ((build != null) && (build.result != 'SUCCESS')) {
passedBuilds.add(build)
}
}
@NonCPS
def getChangeLog(passedBuilds) {
def log = ""
for (int x = 0; x < passedBuilds.size(); x++) {
def currentBuild = passedBuilds[x];
def changeLogSets = currentBuild.changeSets
for (int i = 0; i < changeLogSets.size(); i++) {
def entries = changeLogSets[i].items
for (int j = 0; j < entries.length; j++) {
def entry = entries[j]
def hasSummaryMatch = (entry.msg =~ /(#[0-9]{4})/)
if (hasSummaryMatch) {
def numberTask = hasSummaryMatch[0][0]
numberTask = numberTask.replace('#', '')
def message = entry.msg
echo numberTask
log += "- [${numberTask}](......) ${message}\n"
}
}
}
}
return log;
}
如果看到通过构建提交所做的更改具有多行
Summary
changelog (details)
#3157 очень длинный текст, который Jenkins разобьет на 2 строчки. Надо (details)
Commit 49b31854deb27bd13edf6fde33283cb1af8aab89 by fenix_ex
#3157 очень длинный текст, который Jenkins разобьет на 2 строчки. Надо
проверить правильную склейку строк при сборке обновления. А то очень не
красиво получается
我如何获得全文提交?
p.s。 git log
在第一行显示完整的消息。