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

Build Name returns 'Unrecognized macro' errors for everything except ${BUILD_NUMBER}

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Labels:
    • Environment:
      Windows 2008 R2 SP1 x64
      Java 1.6.0_31 x64 from Oracle
      Tomcat 6.0.35
      Jenkins 1.458, freshly installed and never upgraded
      SVN

      Description

      My Jenkins instance/project are working just fine and builds work as expected.
      Now I try to use the "build-name-setter" plugin. My goal is to have build names like "svn123build9879".

      I installed the plugin via the plugin manager, and set the new "Build Name" field to "svn$

      {SVN_REVISION}build${BUILD_NUMBER}" (without quotes). It looks like the expected syntax, and I can see ${SVN_REVISION}

      in my env-vars.html
      However, this leads to the following error in the console log:
      Unrecognized macro 'SVN_REVISION' in 'svn$

      {SVN_REVISION}

      build$

      {BUILD_NUMBER}

      '

      I'm available for more info. I searched for similar bugs, sorry if that's not a but but just a misconfiguration, please point me to what you think might be wrong.

        Activity

        Hide
        ronj Ronan Jouchet added a comment - - edited

        Actually my problem is not related to SVN_REVISION. All macros seem to fail: setting build-name=$

        {BUILD_NUMBER}-${JOB_NAME} returns this:
        Unrecognized macro 'JOB_NAME' in '${BUILD_NUMBER}

        -$

        {JOB_NAME}

        '

        Show
        ronj Ronan Jouchet added a comment - - edited Actually my problem is not related to SVN_REVISION. All macros seem to fail: setting build-name=$ {BUILD_NUMBER}-${JOB_NAME} returns this: Unrecognized macro 'JOB_NAME' in '${BUILD_NUMBER} -$ {JOB_NAME} '
        Hide
        assemblingwaves assembling waves added a comment -

        Workaround:

        ${ENV,var="SVN_REVISION"}

        Note: When using multiple Subversion locations, the environment variables are names such as:

        SVN_REVISION_1, SVN_REVISION_2, ...
        Show
        assemblingwaves assembling waves added a comment - Workaround: ${ENV, var = "SVN_REVISION" } Note: When using multiple Subversion locations, the environment variables are names such as: SVN_REVISION_1, SVN_REVISION_2, ...
        Hide
        ronj Ronan Jouchet added a comment -

        Works! I think the more general bug remains valid, so I won't close yet.
        Thanks for the help

        Show
        ronj Ronan Jouchet added a comment - Works! I think the more general bug remains valid, so I won't close yet. Thanks for the help
        Hide
        assemblingwaves assembling waves added a comment -

        Glad I could help. I looked up the environment variables for the project by calling:
        http://localhost:8080/env-vars.html/?

        Show
        assemblingwaves assembling waves added a comment - Glad I could help. I looked up the environment variables for the project by calling: http://localhost:8080/env-vars.html/?
        Hide
        jmisur Juraj Misur added a comment -

        I have a release build where I can specify release version via "Release_version" string parameter and I want use that one for setting build name using this parameter as $

        {Release_version}

        . That would be super cool. Would the ENV hack work here?

        Show
        jmisur Juraj Misur added a comment - I have a release build where I can specify release version via "Release_version" string parameter and I want use that one for setting build name using this parameter as $ {Release_version} . That would be super cool. Would the ENV hack work here?
        Hide
        epyle Eric Pyle added a comment -

        I believe this is actually the Token Macro plugin. I encountered this in a change made to an existing job, adding a Conditional Step to trigger a build of another job an existing set of Post-Build Script steps. The build is triggered with two predefined parameters, the first of which is $JOB_NAME. Here's the error from the console log:

        09:45:17 Exception caught evaluating condition: [org.jenkinsci.plugins.tokenmacro.MacroEvaluationException: Unrecognized macro 'JOB_NAME' in '$

        {JOB_NAME}

        '], action = [Fail the build]
        09:45:17 Build step 'Use publishers from another project' changed build result to FAILURE
        09:45:17 Build step 'Use publishers from another project' marked build as failure

        I'm running Jenkins 1.466.2 on a Linux platform, Token Macro plugin version 1.5.1, PostBuildScript plugin version 0.7.

        Show
        epyle Eric Pyle added a comment - I believe this is actually the Token Macro plugin. I encountered this in a change made to an existing job, adding a Conditional Step to trigger a build of another job an existing set of Post-Build Script steps. The build is triggered with two predefined parameters, the first of which is $JOB_NAME. Here's the error from the console log: 09:45:17 Exception caught evaluating condition: [org.jenkinsci.plugins.tokenmacro.MacroEvaluationException: Unrecognized macro 'JOB_NAME' in '$ {JOB_NAME} '], action = [Fail the build] 09:45:17 Build step 'Use publishers from another project' changed build result to FAILURE 09:45:17 Build step 'Use publishers from another project' marked build as failure I'm running Jenkins 1.466.2 on a Linux platform, Token Macro plugin version 1.5.1, PostBuildScript plugin version 0.7.

          People

          • Assignee:
            ljader Łukasz Jąder
            Reporter:
            ronj Ronan Jouchet
          • Votes:
            5 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

            • Created:
              Updated: