如何使用jenkins在git中获取更改的文件列表

时间:2018-12-06 11:56:24

标签: git jenkins jenkins-pipeline

我有一个git repo。 Jenkins构建完成后,我需要以json格式或任何文件格式获取更改的文件

2 个答案:

答案 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