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

Content of BUILD_ID environment variable changed from timestamp to build number

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      With ticket JENKINS-24380, the BUILD_ID was changed from timestamp to the build number in version 1.597:

      Stop using the formatted timestamp to compute Run.id, and just use the build number as the directory name, so that

      This change affected the content of the environment variable BUILD_ID too, becoming equal to the content of BUILD_NUMBER. I used the BUILD_ID variable in my jobs to detect the time, the current build was started. Now I can not do this anymore. Please consider to introduce another variable that will transport the earlier content of BUILD_ID. E.g. create a new environment variable called "BUILD_TIMESTAMP".
      So long, I use the EnvInject plugin together with this Groovy script as a workaround:

      return [BUILD_TIMESTAMP:currentBuild.getTime().format("yyyy-MM-dd_HH-mm-ss")]

      The change makes it also necessary to fix the content of the "env-vars.html" file (help link below a Windows Batch Command entry). Description of BUILD_ID must be changed and BUILD_TIMESTAMP must be added.

      The zentimestamp plugin will become invalid after this change. It must be changed to affect the content of the variable BUILD_TIMESTAMP variable.

        Attachments

          Issue Links

            Activity

            mre_mchp Michael Rentschler created issue -
            mre_mchp Michael Rentschler made changes -
            Field Original Value New Value
            Description Stop using the formatted {{timestamp}} to compute {{Run.id}}, and just use the build number as the directory name, so that

            {code}r.getId().equals(String.valueOf(r.number)){code}

            in which case the {{timestamp}} would have to be made a nontransient field (but {{number}} could be transient). Then build number symlinks could be dispensed with, saving some hassle and overhead; and {{AbstractLazyLoadRunMap}} could be greatly simplified, since the disk location would be immediately predictable from the number, which is what most API calls care about.

            The downside is that there would have to be a one-time migration, which could be slow on a big installation, and not reversible.
            With ticket JENKINS-24380, the BUILD_ID was changed from timestamp to the build number in version 1.597:
            {quote}
            Stop using the formatted {{timestamp}} to compute {{Run.id}}, and just use the build number as the directory name, so that
            {quote}

            This change affected the content of the environment variable {{BUILD_ID}} too, becoming equal to the content of {{BUILD_NUMBER}}. I used the {{BUILD_ID}} variable in my jobs to detect the time, the current build was started. Now I can not do this anymore. Please consider to introduce another variable that will transport the earlier content of {{BUILD_ID}}. E.g. create a new environment variable called "BUILD_TIMESTAMP".
            So long, I use the EnvInject plugin together with this Groovy script as a workaround:

            {quote}
            return [BUILD_TIMESTAMP:currentBuild.getTime().format("yyyy-MM-dd_HH-mm-ss")]
            {quote}

            The change makes it also necessary to fix the content of the "env-vars.html" file (help link below a Windows Batch Command entry). Description of {{BUILD_ID}} must be changed and {{BUILD_TIMESTAMP}} must be added.

            The {{zentimestamp}} plugin will become invalid after this change. It must be changed to affect the content of the variable {{BUILD_TIMESTAMP}} variable.
            Issue Type Task [ 3 ] Bug [ 1 ]
            mre_mchp Michael Rentschler made changes -
            Summary Use build numbers as IDs - Follow up Content of BUILD_ID environment variable changed content to build number
            mre_mchp Michael Rentschler made changes -
            Summary Content of BUILD_ID environment variable changed content to build number Content of BUILD_ID environment variable changed from timestamp to build number
            mre_mchp Michael Rentschler made changes -
            Link This issue is related to JENKINS-24380 [ JENKINS-24380 ]
            mre_mchp Michael Rentschler made changes -
            Link This issue is related to JENKINS-26626 [ JENKINS-26626 ]
            danielbeck Daniel Beck made changes -
            Assignee Jesse Glick [ jglick ]
            Resolution Duplicate [ 3 ]
            Status Open [ 1 ] Resolved [ 5 ]
            danielbeck Daniel Beck made changes -
            Link This issue duplicates JENKINS-26520 [ JENKINS-26520 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 160697 ] JNJira + In-Review [ 196532 ]

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              mre_mchp Michael Rentschler
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: