Skip to content

cvent/aws-parameter-store-plugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aws-parameter-store-plugin

A Jenkins plugin to populate environment variables from AWS Parameter Store.

Overview

This plugin collects parameters from the AWS Parameter Store and sets them as environment variables for a build.

Each AWS Parameter Store parameter name is converted to uppercase and any non-numeric characters are converted to underscores. For example, the parameter name my-param1 with value my-value1 would become the environment variable MY_PARAM1=my-value1.

This plugin is compatible with AWS Parameter Store Hierarchies. A path and recursive indicator can be specified to pass to the GetParametersByPath API call. The naming parameter can be used to specify how the environment variable is derived from the path:

  • basename - anything after the last '/' is the variable name (e.g. with path /service, parameter /service/app/param becomes PARAM)
  • relative - anything after the path is the variable name (e.g. with path /service, parameter /service/app/param becomes APP_PARAM)
  • absolute - the full path with parameter name is the variable name (e.g. with path /service, parameter /service/app/param becomes SERVICE_APP_PARAM)

Parameter types are handled as follow:

  • String parameter values are unchanged
  • SecureString parameter values are decrypted
  • StringList parameter values are set as comma-separated values

Configuration

The plugin is configured on each build configuration page:

Screenshot

This has the following fields:

  • AWS Credentials - the id of credentials added via the AWS Credentials Plugin
  • AWS Region Name - the region name to search for parameters (defaults to us-east-1)
  • Path - the hierarchy for the parameters
  • Recursive - whether to retrieve all parameters within a hierarchy
  • Naming - whether the environment variable should be basename, relative or absolute
  • Name Prefixes - Filter parameters by comma separated name prefixes

Pipelines

This plugin can be included in your Jenkinsfile, for example:

withAWSParameterStore(credentialsId: '', naming: 'relative', path: '/service', recursive: true, regionName: 'eu-west-1') {
  // some block
}

About

Jenkins AWS Parameter Store Plugin

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 97.3%
  • HTML 2.7%