Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-44449

Provide GIT_COMMIT_SHORT environment variable

    Details

    • Type: Improvement
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Component/s: git-plugin
    • Labels:
      None
    • Similar Issues:

      Description

      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

       

        Attachments

          Issue Links

            Activity

            Hide
            bjmi 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}`

            Show
            bjmi 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}`
            Hide
            swf 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.

            Show
            swf 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.
            Hide
            bbd5875 bbd5875 bbd5875 added a comment -

            You can just use

            env.GIT_COMMIT.take(7)
            
            Show
            bbd5875 bbd5875 bbd5875 added a comment - You can just use env.GIT_COMMIT.take(7)
            Hide
            bjmi Björn Michael added a comment -

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

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

              People

              • Assignee:
                Unassigned
                Reporter:
                bjmi Björn Michael
              • Votes:
                4 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated: