Allows credentials to be bound to environment variables for use from miscellaneous build steps.

{jenkins-plugin-info:pluginId=credentials-binding|sourceDir=credentials-binding-plugin}

You may have a keystore for jarsigner, a list of passwords, or other confidential files or strings which you want to be used by a job but which should not be kept in its SCM, or even visible from its config.xml. Saving these files on the server and referring to them by absolute path requires you to have a server login, and does not work on slaves. This plugin gives you an easy way to package up all a job’s secret files and passwords and access them using a single environment variable during the build.

To use, first go to the Credentials link and add items of type Secret file and/or Secret text. Now in a freestyle job, check the box Use secret text(s) or file(s) and add some variable bindings which will use your credentials. The resulting environment variables can be accessed from shell script build steps and so on. (You probably want to start any shell script with set +x, or batch script with @echo off. JENKINS-14731).

For more details of how this works, check the Injecting Secrets into Jenkins Build Jobs article at CloudBees.

From a Pipeline job, define your credentials, then check Snippet Generator for a syntax example of the withCredentials step. Any secrets in the build log will be masked automatically.

A typical example of a username password type credential (example from here) would look like: 

withCredentials([usernamePassword(credentialsId: 'amazon', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
  // available as an env variable, but will be masked if you try to print it out any which way
  // note: single quotes prevent Groovy interpolation; expansion is by Bourne Shell, which is what you want
  sh 'echo $PASSWORD'
  // also available as a Groovy variable
  echo USERNAME
  // or inside double quotes for string interpolation
  echo "username is $USERNAME"
}

Changelog

Version 1.19 (2019-05-31)

Version 1.18 (2019-02-25)

Version 1.17 (2018-10-29)

Version 1.16 (Mar 19, 2018)

Version 1.15 (Feb 05, 2018)

Version 1.14 (Jan 17, 2018)

Version 1.13 (Aug 08, 2017)

Version 1.12 (Jun 15, 2017)

Version 1.11 (Mar 30, 2017)

Version 1.10 (Nov 07, 2016)

Version 1.9 (Aug 19, 2016)

Version 1.8 (Jun 10, 2016)

Version 1.7 (Mar 03, 2016)

Version 1.6 (Oct 16, 2015)

Version 1.5 (Aug 06, 2015)

Version 1.4 (Apr 01, 2015)

Version 1.3 (Jan 20, 2015)

Version 1.2 (Oct 07, 2014)

Version 1.1 (Aug 11, 2014)

Version 1.0 (Jun 16, 2014)

First general release.

Version 1.0 beta 1 (Oct 01, 2013)