我有一个git repo。 Jenkins构建完成后,我需要以json格式或任何文件格式获取更改的文件
答案 0 :(得分:1)
您也可以执行以下操作:
git diff --name-only $GIT_PREVIOUS_COMMIT $GIT_COMMIT
在构建脚本中,将其通过管道传输到文件,您应该具有该特定构建中已更改的所有文件的列表。
假设您正在使用Git Plugin for Jenkins。
git插件设置了几个可以在您的环境中使用的环境变量 脚本:
GIT_COMMIT-当前GIT_BRANCH的SHA-远程名称 存储库(默认为原始),后跟分支名称 当前正在使用,例如“来源/主”或“来源/ foo”
GIT_LOCAL_BRANCH-Jenkins上的分支名称。当“结帐时 到特定的本地分支”行为配置,变量是 发表。如果行为配置为null或**,则该属性 将包含结果的本地分支名称(无远程名称)。
GIT_PREVIOUS_COMMIT-先前从同一构建提交提交的SHA 分支(未在分支的首次构建时设置)
如果您希望将此文件作为构建工件,则可以使用“ Archive Artifacts”构建后步骤。
答案 1 :(得分:0)
您可以使用内置的电子邮件模板,该模板将向您发送当前版本中文件更改的列表。
post {
always {
emailext body: ''
'${SCRIPT, template="groovy-html.template"}'
'',
subject: "${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - Successful",
mimeType: 'text/html', to: "email list"
}
}
如果要在单独的文件中进行更改,则可以根据需要修改groovy-html.template