• Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Icon: Major Major
    • git-plugin
    • None

      GIT_COMMIT env variable provides SHA of the current commit being build.

      Please also provide GIT_COMMIT_SHORT env variable that contains the short format of SHA that is easier to read and to use as build qualifier.

      e.g. 81995adb1726ffdd1ab9c8911fe2bfa2a96f6679 would be shown as 81995ad

      Links:
      https://stackoverflow.com/questions/5694389/get-the-short-git-version-hash#answer-5694416

      https://git-scm.com/docs/git-rev-parse

       

          [JENKINS-44449] Provide GIT_COMMIT_SHORT environment variable

          Current workaround uses Environment Script Plugin with following script content:

          echo GIT_SHA_SHORT=`git rev-parse --short=8 ${GIT_COMMIT}`

          Björn Michael added a comment - Current workaround uses  Environment Script Plugin  with following script content: echo GIT_SHA_SHORT=`git rev-parse --short=8 ${GIT_COMMIT}`

          Yves Schumann added a comment -

          On a declarative Pipeline, the following workaround could be used:

          pipeline { 
              ...
              environment {
                  GIT_COMMIT_SHORT = sh(
                          script: "printf \$(git rev-parse --short ${GIT_COMMIT})",
                          returnStdout: true
                  )
              }
              ...

          Usage of printf is necessary to prevent trailing newline on the end of generated short Git hash.

          Yves Schumann added a comment - On a declarative Pipeline, the following workaround could be used: pipeline { ...     environment {         GIT_COMMIT_SHORT = sh(                 script: "printf \$(git rev-parse -- short ${GIT_COMMIT})" ,                 returnStdout: true         )     } ... Usage of printf is necessary to prevent trailing newline on the end of generated short Git hash.

          You can just use

          env.GIT_COMMIT.take(7)
          

          bbd5875 bbd5875 added a comment - You can just use env.GIT_COMMIT.take(7)

          git rev-parse ensures that short SHA1 is unique during execution and increases number of digits appropriately.

          Björn Michael added a comment - git rev-parse ensures that short SHA1 is unique during execution and increases number of digits appropriately.

          Mark Waite added a comment -

          There are several different workarounds available for this request as described in earlier comments. In addition to those workarounds, there is the token macro GIT_REVISION that can be referenced in some contexts with a parameter describing the number of characters to retain from the commit SHA-1

          Mark Waite added a comment - There are several different workarounds available for this request as described in earlier comments. In addition to those workarounds, there is the token macro GIT_REVISION that can be referenced in some contexts with a parameter describing the number of characters to retain from the commit SHA-1

            Unassigned Unassigned
            bjmi Björn Michael
            Votes:
            6 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: