File credentials can't be used in Declarative environment variables

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      Because we don't add credentials requiring a workspace (i.e., file credentials) to the environment at the initial resolution time, and because we actually process credentials for real after we populate the environment at runtime, an attempt to use the path of a file credential inside another environment variable fails. i.e.,

      environment {
        CREDENTIALS_PATH = credentials('MY_SECRET_FILE') // this should result in CREDENTIALS_PATH containing the path to the file
        ARGS = "--path=${CREDENTIALS_PATH}" // this should result in ARGS containing the path within CREDENTIALS_PATH
      }
      

      will result in

      groovy.lang.MissingPropertyException: No such property: CREDENTIALS_PATH for class: groovy.lang.Binding
      

      This is nonoptimal and needs to be fixed somehow.

            Assignee:
            Andrew Bayer
            Reporter:
            Andrew Bayer
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: