Jenkinsfile - get all changes between builds

后端 未结 2 1171
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-02-06 00:01

With reference to this question is there a way to get the equivalent information from when using the mult-branch pipeline? Specifically - the list of commits since the last succ

2条回答
  •  时光说笑
    2021-02-06 00:31

    I think Jenkins Last changes plugin can provide the information you need, take a look here: https://wiki.jenkins-ci.org/display/JENKINS/Last+Changes+Plugin, following is an example:

    node {
          stage("checkout") {
            git url: 'https://github.com/jenkinsci/last-changes-plugin.git'
          }
    
          stage("last-changes") {
            def publisher = LastChanges.getLastChangesPublisher "LAST_SUCCESSFUL_BUILD", "SIDE", "LINE", true, true, "", "", "", "", ""
                  publisher.publishLastChanges()
                  def changes = publisher.getLastChanges()
                  println(changes.getEscapedDiff())
                  for (commit in changes.getCommits()) {
                      println(commit)
                      def commitInfo = commit.getCommitInfo()
                      println(commitInfo)
                      println(commitInfo.getCommitMessage())
                      println(commit.getChanges())
                  }
          }
    
    }
    

    Note that by default (without the need for groovy scripting) the plugin makes the list of commits available for browsing on the jenkins UI, see here.

    I hope it helps.

提交回复
热议问题