Jenkins System Config DSL Plugin

This is a Jenkins plugin that takes advantage of a Jenkins feature where it runs any groovy scripts located in $JENKINS_HOME/init.groovy.d on startup. These scripts have full access to any classes defined in any installed plugins which is how the System DSL plugin is hooked in. The plugin follows a similar pattern to the Job DSL Plugin and exposes a Groovy based DSL to configure the Jenkins System Configuration and all of the plugins.

com.rei.jenkins.systemdsl.JenkinsSystemConfigDsl.configure  {
  global {
      url("https://jenkins.rei.com/")
      environmentVariables([TZ: 'America/Los_Angeles'])
      quietPeriod(5)
  }

  masterNode {
      numExecutors(4)
      mode(Node.Mode.NORMAL)
  }

  git {
      author("Jenkins", "jenkins@rei.com")
  }

  ...
}
    

Docker Usage

The typical way to use this plugin is with a custom docker image that includes the configuration script and this plugin.

FROM jenkins/jenkins:2.107.2-alpine
COPY --chown=1000:1000 plugins.txt /usr/share/jenkins/ref/plugins.txt
COPY --chown=1000:1000 init.groovy /usr/share/jenkins/ref/init.groovy.d/init.groovy.override

# suppresses the new install wizard
RUN echo "2.107.2" > /usr/share/jenkins/ref/jenkins.install.UpgradeWizard.state && \
  echo "2.107.2" > /usr/share/jenkins/ref/jenkins.install.InstallUtil.lastExecVersion
# installs the plugins, the file contains <pluginid>:<version> one per line
RUN /usr/local/bin/install-plugins.sh < /usr/share/jenkins/ref/plugins.txt
...
ADD --chown=1000:1000 "$nexus/releases/com/rei/jenkins/systemdsl/jenkins-system-config-dsl/$dslversion/jenkins-system-config-dsl-$dslversion.hpi" "$refplugins_dir/jenkins-system-config-dsl.hpi.override"
    

Method Reference

awsHelpers()
Requires Plugin: aws-java-sdk
clouds
awsHelpers()
Requires Plugin: aws-java-sdk
ec2(String name)
ami
amiId(String ami)
the ami id to launch
  • Example:
    amiId('some value')
amiLookup
architecture(String architecture)
  • Example:
    architecture('some value')
awsHelpers()
Requires Plugin: aws-java-sdk
description(String description)
  • Example:
    description('some value')
executableUsers(List arg0)
  • Example:
    executableUsers(null)
filter(String key, String value)
(Optional) One or more name/value pairs to filter off of. There are several valid keys, for a full reference, check out describe-images in the AWS CLI reference.
  • Example:
    filter('some value', 'some value')
imageType(String type)
  • Example:
    imageType(machine)
    • Valid Values:
    • machine
    • kernel
    • ramdisk
name(String name)
  • Example:
    name('some value')
nameRegex(String regex)
  • Example:
    nameRegex('some value')
ownerAlias(String alias)
  • Example:
    ownerAlias(amazon)
    • Valid Values:
    • amazon
    • aws-marketplace
    • microsoft
owners(List arg0)
  • Example:
    owners(null)
platform(String platform)
  • Example:
    platform(windows)
    • Valid Values:
    • windows
scheduledUpdate(long interval, concurrent.TimeUnit unit)
  • Example:
    scheduledUpdate(4, TimeUnit.NANOSECONDS)
    • Valid Values:
    • NANOSECONDS
    • MICROSECONDS
    • MILLISECONDS
    • SECONDS
    • MINUTES
    • HOURS
    • DAYS
tag(String key, String value)
  • Example:
    tag('some value', 'some value')
availabilityZone(String zone)
  • Example:
    availabilityZone('some value')
awsHelpers()
Requires Plugin: aws-java-sdk
blockDeviceMapping(String blockDeviceMapping)
  • Example:
    blockDeviceMapping('some value')
connectionStrategy(hudson.plugins.ec2.ConnectionStrategy strategy)
  • Example:
    connectionStrategy(ConnectionStrategy.PUBLIC_DNS)
    • Valid Values:
    • PUBLIC_DNS
    • PUBLIC_IP
    • PRIVATE_DNS
    • PRIVATE_IP
description(String description)
  • Example:
    description('some value')
hostKeyVerificationStrategy(String strategy)
  • Example:
    hostKeyVerificationStrategy('some value')
hostKeyVerificationStrategy(hudson.plugins.ec2.HostKeyVerificationStrategyEnum strategy)
  • Example:
    hostKeyVerificationStrategy(HostKeyVerificationStrategyEnum.CHECK_NEW_HARD)
    • Valid Values:
    • CHECK_NEW_HARD
    • CHECK_NEW_SOFT
    • ACCEPT_NEW
    • OFF
iamInstanceProfile(String iamInstanceProfile)
  • Example:
    iamInstanceProfile('some value')
idleTerminationMinutes(int idleTerminationMinutes)
  • Example:
    idleTerminationMinutes(9)
initScript(String initScript)
  • Example:
    initScript('some value')
instanceCap(int instanceCap)
  • Example:
    instanceCap(1)
instanceType(com.amazonaws.services.ec2.model.InstanceType type)
  • Example:
    instanceType(InstanceType.a1.medium)
    • Valid Values:
    • a1.medium
    • a1.large
    • a1.xlarge
    • a1.2xlarge
    • a1.4xlarge
    • a1.metal
    • c1.medium
    • c1.xlarge
    • c3.large
    • c3.xlarge
    • c3.2xlarge
    • c3.4xlarge
    • c3.8xlarge
    • c4.large
    • c4.xlarge
    • c4.2xlarge
    • c4.4xlarge
    • c4.8xlarge
    • c5.large
    • c5.xlarge
    • c5.2xlarge
    • c5.4xlarge
    • c5.9xlarge
    • c5.12xlarge
    • c5.18xlarge
    • c5.24xlarge
    • c5.metal
    • c5a.large
    • c5a.xlarge
    • c5a.2xlarge
    • c5a.4xlarge
    • c5a.8xlarge
    • c5a.12xlarge
    • c5a.16xlarge
    • c5a.24xlarge
    • c5ad.large
    • c5ad.xlarge
    • c5ad.2xlarge
    • c5ad.4xlarge
    • c5ad.8xlarge
    • c5ad.12xlarge
    • c5ad.16xlarge
    • c5ad.24xlarge
    • c5d.large
    • c5d.xlarge
    • c5d.2xlarge
    • c5d.4xlarge
    • c5d.9xlarge
    • c5d.12xlarge
    • c5d.18xlarge
    • c5d.24xlarge
    • c5d.metal
    • c5n.large
    • c5n.xlarge
    • c5n.2xlarge
    • c5n.4xlarge
    • c5n.9xlarge
    • c5n.18xlarge
    • c5n.metal
    • c6g.medium
    • c6g.large
    • c6g.xlarge
    • c6g.2xlarge
    • c6g.4xlarge
    • c6g.8xlarge
    • c6g.12xlarge
    • c6g.16xlarge
    • c6g.metal
    • c6gd.medium
    • c6gd.large
    • c6gd.xlarge
    • c6gd.2xlarge
    • c6gd.4xlarge
    • c6gd.8xlarge
    • c6gd.12xlarge
    • c6gd.16xlarge
    • c6gd.metal
    • c6gn.medium
    • c6gn.large
    • c6gn.xlarge
    • c6gn.2xlarge
    • c6gn.4xlarge
    • c6gn.8xlarge
    • c6gn.12xlarge
    • c6gn.16xlarge
    • c6i.large
    • c6i.xlarge
    • c6i.2xlarge
    • c6i.4xlarge
    • c6i.8xlarge
    • c6i.12xlarge
    • c6i.16xlarge
    • c6i.24xlarge
    • c6i.32xlarge
    • c6i.metal
    • cc1.4xlarge
    • cc2.8xlarge
    • cg1.4xlarge
    • cr1.8xlarge
    • d2.xlarge
    • d2.2xlarge
    • d2.4xlarge
    • d2.8xlarge
    • d3.xlarge
    • d3.2xlarge
    • d3.4xlarge
    • d3.8xlarge
    • d3en.xlarge
    • d3en.2xlarge
    • d3en.4xlarge
    • d3en.6xlarge
    • d3en.8xlarge
    • d3en.12xlarge
    • dl1.24xlarge
    • f1.2xlarge
    • f1.4xlarge
    • f1.16xlarge
    • g2.2xlarge
    • g2.8xlarge
    • g3.4xlarge
    • g3.8xlarge
    • g3.16xlarge
    • g3s.xlarge
    • g4ad.xlarge
    • g4ad.2xlarge
    • g4ad.4xlarge
    • g4ad.8xlarge
    • g4ad.16xlarge
    • g4dn.xlarge
    • g4dn.2xlarge
    • g4dn.4xlarge
    • g4dn.8xlarge
    • g4dn.12xlarge
    • g4dn.16xlarge
    • g4dn.metal
    • g5.xlarge
    • g5.2xlarge
    • g5.4xlarge
    • g5.8xlarge
    • g5.12xlarge
    • g5.16xlarge
    • g5.24xlarge
    • g5.48xlarge
    • g5g.xlarge
    • g5g.2xlarge
    • g5g.4xlarge
    • g5g.8xlarge
    • g5g.16xlarge
    • g5g.metal
    • hi1.4xlarge
    • hpc6a.48xlarge
    • hs1.8xlarge
    • h1.2xlarge
    • h1.4xlarge
    • h1.8xlarge
    • h1.16xlarge
    • i2.xlarge
    • i2.2xlarge
    • i2.4xlarge
    • i2.8xlarge
    • i3.large
    • i3.xlarge
    • i3.2xlarge
    • i3.4xlarge
    • i3.8xlarge
    • i3.16xlarge
    • i3.metal
    • i3en.large
    • i3en.xlarge
    • i3en.2xlarge
    • i3en.3xlarge
    • i3en.6xlarge
    • i3en.12xlarge
    • i3en.24xlarge
    • i3en.metal
    • im4gn.large
    • im4gn.xlarge
    • im4gn.2xlarge
    • im4gn.4xlarge
    • im4gn.8xlarge
    • im4gn.16xlarge
    • inf1.xlarge
    • inf1.2xlarge
    • inf1.6xlarge
    • inf1.24xlarge
    • is4gen.medium
    • is4gen.large
    • is4gen.xlarge
    • is4gen.2xlarge
    • is4gen.4xlarge
    • is4gen.8xlarge
    • m1.small
    • m1.medium
    • m1.large
    • m1.xlarge
    • m2.xlarge
    • m2.2xlarge
    • m2.4xlarge
    • m3.medium
    • m3.large
    • m3.xlarge
    • m3.2xlarge
    • m4.large
    • m4.xlarge
    • m4.2xlarge
    • m4.4xlarge
    • m4.10xlarge
    • m4.16xlarge
    • m5.large
    • m5.xlarge
    • m5.2xlarge
    • m5.4xlarge
    • m5.8xlarge
    • m5.12xlarge
    • m5.16xlarge
    • m5.24xlarge
    • m5.metal
    • m5a.large
    • m5a.xlarge
    • m5a.2xlarge
    • m5a.4xlarge
    • m5a.8xlarge
    • m5a.12xlarge
    • m5a.16xlarge
    • m5a.24xlarge
    • m5ad.large
    • m5ad.xlarge
    • m5ad.2xlarge
    • m5ad.4xlarge
    • m5ad.8xlarge
    • m5ad.12xlarge
    • m5ad.16xlarge
    • m5ad.24xlarge
    • m5d.large
    • m5d.xlarge
    • m5d.2xlarge
    • m5d.4xlarge
    • m5d.8xlarge
    • m5d.12xlarge
    • m5d.16xlarge
    • m5d.24xlarge
    • m5d.metal
    • m5dn.large
    • m5dn.xlarge
    • m5dn.2xlarge
    • m5dn.4xlarge
    • m5dn.8xlarge
    • m5dn.12xlarge
    • m5dn.16xlarge
    • m5dn.24xlarge
    • m5dn.metal
    • m5n.large
    • m5n.xlarge
    • m5n.2xlarge
    • m5n.4xlarge
    • m5n.8xlarge
    • m5n.12xlarge
    • m5n.16xlarge
    • m5n.24xlarge
    • m5n.metal
    • m5zn.large
    • m5zn.xlarge
    • m5zn.2xlarge
    • m5zn.3xlarge
    • m5zn.6xlarge
    • m5zn.12xlarge
    • m5zn.metal
    • m6a.large
    • m6a.xlarge
    • m6a.2xlarge
    • m6a.4xlarge
    • m6a.8xlarge
    • m6a.12xlarge
    • m6a.16xlarge
    • m6a.24xlarge
    • m6a.32xlarge
    • m6a.48xlarge
    • m6g.metal
    • m6g.medium
    • m6g.large
    • m6g.xlarge
    • m6g.2xlarge
    • m6g.4xlarge
    • m6g.8xlarge
    • m6g.12xlarge
    • m6g.16xlarge
    • m6gd.metal
    • m6gd.medium
    • m6gd.large
    • m6gd.xlarge
    • m6gd.2xlarge
    • m6gd.4xlarge
    • m6gd.8xlarge
    • m6gd.12xlarge
    • m6gd.16xlarge
    • m6i.large
    • m6i.xlarge
    • m6i.2xlarge
    • m6i.4xlarge
    • m6i.8xlarge
    • m6i.12xlarge
    • m6i.16xlarge
    • m6i.24xlarge
    • m6i.32xlarge
    • m6i.metal
    • mac1.metal
    • p2.xlarge
    • p2.8xlarge
    • p2.16xlarge
    • p3.2xlarge
    • p3.8xlarge
    • p3.16xlarge
    • p3dn.24xlarge
    • p4d.24xlarge
    • r3.large
    • r3.xlarge
    • r3.2xlarge
    • r3.4xlarge
    • r3.8xlarge
    • r4.large
    • r4.xlarge
    • r4.2xlarge
    • r4.4xlarge
    • r4.8xlarge
    • r4.16xlarge
    • r5.large
    • r5.xlarge
    • r5.2xlarge
    • r5.4xlarge
    • r5.8xlarge
    • r5.12xlarge
    • r5.16xlarge
    • r5.24xlarge
    • r5.metal
    • r5a.large
    • r5a.xlarge
    • r5a.2xlarge
    • r5a.4xlarge
    • r5a.8xlarge
    • r5a.12xlarge
    • r5a.16xlarge
    • r5a.24xlarge
    • r5ad.large
    • r5ad.xlarge
    • r5ad.2xlarge
    • r5ad.4xlarge
    • r5ad.8xlarge
    • r5ad.12xlarge
    • r5ad.16xlarge
    • r5ad.24xlarge
    • r5b.large
    • r5b.xlarge
    • r5b.2xlarge
    • r5b.4xlarge
    • r5b.8xlarge
    • r5b.12xlarge
    • r5b.16xlarge
    • r5b.24xlarge
    • r5b.metal
    • r5d.large
    • r5d.xlarge
    • r5d.2xlarge
    • r5d.4xlarge
    • r5d.8xlarge
    • r5d.12xlarge
    • r5d.16xlarge
    • r5d.24xlarge
    • r5d.metal
    • r5dn.large
    • r5dn.xlarge
    • r5dn.2xlarge
    • r5dn.4xlarge
    • r5dn.8xlarge
    • r5dn.12xlarge
    • r5dn.16xlarge
    • r5dn.24xlarge
    • r5dn.metal
    • r5n.large
    • r5n.xlarge
    • r5n.2xlarge
    • r5n.4xlarge
    • r5n.8xlarge
    • r5n.12xlarge
    • r5n.16xlarge
    • r5n.24xlarge
    • r5n.metal
    • r6g.medium
    • r6g.large
    • r6g.xlarge
    • r6g.2xlarge
    • r6g.4xlarge
    • r6g.8xlarge
    • r6g.12xlarge
    • r6g.16xlarge
    • r6g.metal
    • r6gd.medium
    • r6gd.large
    • r6gd.xlarge
    • r6gd.2xlarge
    • r6gd.4xlarge
    • r6gd.8xlarge
    • r6gd.12xlarge
    • r6gd.16xlarge
    • r6gd.metal
    • r6i.large
    • r6i.xlarge
    • r6i.2xlarge
    • r6i.4xlarge
    • r6i.8xlarge
    • r6i.12xlarge
    • r6i.16xlarge
    • r6i.24xlarge
    • r6i.32xlarge
    • r6i.metal
    • t1.micro
    • t2.nano
    • t2.micro
    • t2.small
    • t2.medium
    • t2.large
    • t2.xlarge
    • t2.2xlarge
    • t3.nano
    • t3.micro
    • t3.small
    • t3.medium
    • t3.large
    • t3.xlarge
    • t3.2xlarge
    • t3a.nano
    • t3a.micro
    • t3a.small
    • t3a.medium
    • t3a.large
    • t3a.xlarge
    • t3a.2xlarge
    • t4g.nano
    • t4g.micro
    • t4g.small
    • t4g.medium
    • t4g.large
    • t4g.xlarge
    • t4g.2xlarge
    • u-6tb1.56xlarge
    • u-6tb1.112xlarge
    • u-9tb1.112xlarge
    • u-12tb1.112xlarge
    • u-6tb1.metal
    • u-9tb1.metal
    • u-12tb1.metal
    • u-18tb1.metal
    • u-24tb1.metal
    • vt1.3xlarge
    • vt1.6xlarge
    • vt1.24xlarge
    • x1.16xlarge
    • x1.32xlarge
    • x1e.xlarge
    • x1e.2xlarge
    • x1e.4xlarge
    • x1e.8xlarge
    • x1e.16xlarge
    • x1e.32xlarge
    • x2iezn.2xlarge
    • x2iezn.4xlarge
    • x2iezn.6xlarge
    • x2iezn.8xlarge
    • x2iezn.12xlarge
    • x2iezn.metal
    • x2gd.medium
    • x2gd.large
    • x2gd.xlarge
    • x2gd.2xlarge
    • x2gd.4xlarge
    • x2gd.8xlarge
    • x2gd.12xlarge
    • x2gd.16xlarge
    • x2gd.metal
    • z1d.large
    • z1d.xlarge
    • z1d.2xlarge
    • z1d.3xlarge
    • z1d.6xlarge
    • z1d.12xlarge
    • z1d.metal
    • x2idn.16xlarge
    • x2idn.24xlarge
    • x2idn.32xlarge
    • x2iedn.xlarge
    • x2iedn.2xlarge
    • x2iedn.4xlarge
    • x2iedn.8xlarge
    • x2iedn.16xlarge
    • x2iedn.24xlarge
    • x2iedn.32xlarge
    • c6a.large
    • c6a.xlarge
    • c6a.2xlarge
    • c6a.4xlarge
    • c6a.8xlarge
    • c6a.12xlarge
    • c6a.16xlarge
    • c6a.24xlarge
    • c6a.32xlarge
    • c6a.48xlarge
    • c6a.metal
    • m6a.metal
    • i4i.large
    • i4i.xlarge
    • i4i.2xlarge
    • i4i.4xlarge
    • i4i.8xlarge
    • i4i.16xlarge
    • i4i.32xlarge
    • i4i.metal
    • x2idn.metal
    • x2iedn.metal
    • c7g.medium
    • c7g.large
    • c7g.xlarge
    • c7g.2xlarge
    • c7g.4xlarge
    • c7g.8xlarge
    • c7g.12xlarge
    • c7g.16xlarge
    • mac2.metal
    • c6id.large
    • c6id.xlarge
    • c6id.2xlarge
    • c6id.4xlarge
    • c6id.8xlarge
    • c6id.12xlarge
    • c6id.16xlarge
    • c6id.24xlarge
    • c6id.32xlarge
    • c6id.metal
    • m6id.large
    • m6id.xlarge
    • m6id.2xlarge
    • m6id.4xlarge
    • m6id.8xlarge
    • m6id.12xlarge
    • m6id.16xlarge
    • m6id.24xlarge
    • m6id.32xlarge
    • m6id.metal
    • r6id.large
    • r6id.xlarge
    • r6id.2xlarge
    • r6id.4xlarge
    • r6id.8xlarge
    • r6id.12xlarge
    • r6id.16xlarge
    • r6id.24xlarge
    • r6id.32xlarge
    • r6id.metal
    • r6a.large
    • r6a.xlarge
    • r6a.2xlarge
    • r6a.4xlarge
    • r6a.8xlarge
    • r6a.12xlarge
    • r6a.16xlarge
    • r6a.24xlarge
    • r6a.32xlarge
    • r6a.48xlarge
    • r6a.metal
    • p4de.24xlarge
instanceType(String type)
  • Example:
    instanceType('some value')
jvmopts(String jvmopts)
  • Example:
    jvmopts('some value')
labels(List arg0)
  • Example:
    labels(null)
launchTimeout(int timeout)
  • Example:
    launchTimeout(1)
minInstances(int minInstances)
  • Example:
    minInstances(2)
minSpareInstances(int minSpareInstances)
  • Example:
    minSpareInstances(9)
mode(String mode)
  • Example:
    mode('NORMAL')
    • Valid Values:
    • 'NORMAL'
    • 'EXCLUSIVE'
mode(hudson.model.Node.Mode arg0)
  • Example:
    mode(Mode.NORMAL)
    • Valid Values:
    • NORMAL
    • EXCLUSIVE
numExecutors(int numExecutors)
  • Example:
    numExecutors(6)
remoteFSRoot(String remoteFS)
  • Example:
    remoteFSRoot('some value')
remoteUser(String remoteAdmin)
  • Example:
    remoteUser('some value')
securityGroups(List arg0)
  • Example:
    securityGroups(null)
subnetId(String subnetId)
  • Example:
    subnetId('some value')
tag(String name, String value)
  • Example:
    tag('some value', 'some value')
tenancy(hudson.plugins.ec2.Tenancy tenancy)
  • Example:
    tenancy(Tenancy.default)
    • Valid Values:
    • default
    • dedicated
    • host
tmpDir(String tmpDir)
  • Example:
    tmpDir('some value')
unix
awsHelpers()
Requires Plugin: aws-java-sdk
bootDelay(String bootDelay)
  • Example:
    bootDelay('some value')
rootCommandPrefix(String rootCommandPrefix)
  • Example:
    rootCommandPrefix('some value')
slaveCommandPrefix(String slaveCommandPrefix)
  • Example:
    slaveCommandPrefix('some value')
slaveCommandSuffix(String slaveCommandSuffix)
  • Example:
    slaveCommandSuffix('some value')
sshPort(int sshPort)
  • Example:
    sshPort(5)
userData(String userData)
  • Example:
    userData('some value')
windows
adminPassword(String password)
  • Example:
    adminPassword('some value')
awsHelpers()
Requires Plugin: aws-java-sdk
bootDelay(int bootDelay)
  • Example:
    bootDelay(7)
awsHelpers()
Requires Plugin: aws-java-sdk
credentials
awsHelpers()
Requires Plugin: aws-java-sdk
credentialsId(String credentialsId)
  • Example:
    credentialsId('some value')
instanceCap(int cap)
  • Example:
    instanceCap(1)
privateKey(String privateKey, String credentialId)
  • Example:
    privateKey('some value', 'some value')
privateKey(String pk)
  • Example:
    privateKey('some value')
region(String region)
  • Example:
    region('some value')
roleArn(String roleArn)
  • Example:
    roleArn('some value')
roleSessionName(String roleSessionName)
  • Example:
    roleSessionName('some value')
sshUserName(String userName)
  • Example:
    sshUserName('some value')
credentials
awsHelpers()
Requires Plugin: aws-java-sdk
global
awsCredentials(String id, String accessKey, String secretKey, String description)
  • Example:
    awsCredentials('some value', 'some value', 'some value', 'some value')
awsHelpers()
Requires Plugin: aws-java-sdk
certificate(String id, String passphrase, String pathOnMaster, String description)
  • Example:
    certificate('some value', 'some value', 'some value', 'some value')
gitlabApiToken(String id, String apiToken, String description)
  • Example:
    gitlabApiToken('some value', 'some value', 'some value')
secretFile(String id, String pathOnMaster, String description)
  • Example:
    secretFile('some value', 'some value', 'some value')
secretFile(String id, String filename, String text, String description)
  • Example:
    secretFile('some value', 'some value', 'some value', 'some value')
secretText(String id, String secret, String description)
  • Example:
    secretText('some value', 'some value', 'some value')
ssh(String id, String username, String passphrase, String pathOnMaster, String description)
  • Example:
    ssh('some value', 'some value', 'some value', 'some value', 'some value')
ssh(String id, String username, String privateKeyText, String description)
  • Example:
    ssh('some value', 'some value', 'some value', 'some value')
usernamePassword(String id, String username, String password, String description)
  • Example:
    usernamePassword('some value', 'some value', 'some value', 'some value')
system
awsCredentials(String id, String accessKey, String secretKey, String description)
  • Example:
    awsCredentials('some value', 'some value', 'some value', 'some value')
awsHelpers()
Requires Plugin: aws-java-sdk
certificate(String id, String passphrase, String pathOnMaster, String description)
  • Example:
    certificate('some value', 'some value', 'some value', 'some value')
gitlabApiToken(String id, String apiToken, String description)
  • Example:
    gitlabApiToken('some value', 'some value', 'some value')
secretFile(String id, String pathOnMaster, String description)
  • Example:
    secretFile('some value', 'some value', 'some value')
secretFile(String id, String filename, String text, String description)
  • Example:
    secretFile('some value', 'some value', 'some value', 'some value')
secretText(String id, String secret, String description)
  • Example:
    secretText('some value', 'some value', 'some value')
ssh(String id, String username, String passphrase, String pathOnMaster, String description)
  • Example:
    ssh('some value', 'some value', 'some value', 'some value', 'some value')
ssh(String id, String username, String privateKeyText, String description)
  • Example:
    ssh('some value', 'some value', 'some value', 'some value')
usernamePassword(String id, String username, String password, String description)
  • Example:
    usernamePassword('some value', 'some value', 'some value', 'some value')
extendedEmail
Requires Plugin: email-ext
adminRequiredForTemplateTesting()
Email Template Testing link will only show up for users with Administrator privileges.
adminRequiredForTemplateTesting(boolean adminRequiredForTemplateTesting)
When true Email Template Testing link will only show up for users with Administrator privileges.
allowUnregistered()
Allows emails to be sent to unregistered email addresses. Security risk, see https://issues.jenkins-ci.org/browse/JENKINS-9016 for more information
allowUnregistered(boolean enableAllowUnregistered)
When true allows emails to be sent to unregistered email addresses. Security risk, see https://issues.jenkins-ci.org/browse/JENKINS-9016 for more information
authentication(String username, String password)
authentication information for the SMTP server
awsHelpers()
Requires Plugin: aws-java-sdk
charset(String charset)
The charset to use for the text and subject.
copySettingsFromMailer()
copies the base settings (server connection information, reply to) from the base Jenkins Mailer plugin
defaultBody(String defaultBody)
Customize the default content of the email notifications. The plugin can replace certain tokens in the content field of the email so that you can include special information from the build.
defaultContentType(String defaultContentType)
The default content type of the emails sent after a build.
defaultPostsendScript(String defaultPostsendScript)
This script will be run after sending the email to allow acting upon the send result. The MimeMessage variable is "msg," the SMTPTransport "transport," the session properties "props," the build is also available as "build" and a logger is available as "logger." The trigger that caused the email is available as "trigger" and all triggered builds are available as a map "triggered." You can set the default post-send script here and then use ${DEFAULT_POSTSEND_SCRIPT} in the project settings to use the script written here.
defaultPresendScript(String defaultPresendScript)
This script will be run prior to sending the email to allow modifying the email before sending. The MimeMessage variable is "msg," the build is available as "build", a logger is available as "logger". The trigger that caused the email is available as "trigger" and all triggered builds are available as a map "triggered." You may also cancel sending the email by setting the boolean variable "cancel" to true. You can set the default pre-send script here and then use ${DEFAULT_PRESEND_SCRIPT} in the project settings to use the script written here.
defaultRecipients(String recipientList)
Customize the default recipient list of the email notifications. The plugin will use this list if none is overridden in the project configuration. You may use the $DEFAULT_RECIPIENTS token in projects to include this default list, as well as add new addresses at the project level. To CC or BCC someone instead of putting them in the To list, add cc: or bcc: before the email address (e.g., cc:someone@example.com, bcc:bob@example.com).
defaultRecipients(List arg0)
defaultReplyTo(String defaultReplyTo)
A comma separated list of e-mail addresses to use in the Reply-To header of the email. This value will be available as $DEFAULT_REPLYTO in the project configuration.
defaultSubject(String defaultSubject)
Customize the default subject line of the email notifications. The plugin can replace certain tokens in the subject field of the email so that you can include special information from the build.
defaultSuffix(String defaultSuffix)
enableWatching()
Enabling watching allows individual users to add their own triggers to jobs. The list of triggers they can add is restricted by the trigger implementer. For example, most script based triggers are not allowed for users to use as a watch. Users must have READ access to the job in order to watch it. Triggers are not stored in the job itself, but as a property on the user.
enableWatching(boolean enableWatching)
Enabling watching allows individual users to add their own triggers to jobs. The list of triggers they can add is restricted by the trigger implementer. For example, most script based triggers are not allowed for users to use as a watch. Users must have READ access to the job in order to watch it. Triggers are not stored in the job itself, but as a property on the user.
excludedCommitters(String excludedCommitters)
Allows filtering any email address from the list of recipients that is generated by the plugin. You can specify either the username only or the full email address.
listId(String listId)
Set a List-ID header on all emails. This can help with filtering in email clients. It will also stop most auto-responders from sending replies back to the sender (out-of-office, on-vacation, etc.) You can use whatever name and id you want, but the format should be similar to one of the following (including the signs around the actual id): Build Notifications "Build Notifications" For a full description of the List-ID specification see RFC-2919.
maxAttachmentSize(long maxAttachmentSize)
The maximum size (in MB) for all attachments. If left blank, there is no limit to the size of all attachments.
precedenceBulk()
Set a 'Precedence: bulk' header on all emails. This will stop most auto-responders from sending replies back to the sender (out-of-office, on-vacation, etc.)
precedenceBulk(boolean precedenceBulk)
Set a 'Precedence: bulk' header on all emails. This will stop most auto-responders from sending replies back to the sender (out-of-office, on-vacation, etc.)
replyToAddress(String replyTo)
scriptClasspath(List arg0)
smtpPort(int smtpPort)
smtpServer(String server)
sets the SMTP server to send email with
useSsl(boolean useSsl)
useSsl()
Whether or not to use SSL for connecting to the SMTP server. Defaults to port 465. Other advanced configurations can be done by setting system properties. See this document for possible values and effects.
git
Requires Plugin: git
author(String name, String email)
Git author info
awsHelpers()
Requires Plugin: aws-java-sdk
hostKeyVerificationStrategy(String strategy)
hostKeyVerificationStrategy(com.rei.jenkins.systemdsl.GitConfiguration.GitHostKeyVerificationStrategy strategy)
notifyCommitAccessControlMode(com.rei.jenkins.systemdsl.GitConfiguration.NotifyCommitAccessControlMode mode)
notifyCommitAccessControlMode(String mode)
gitlab
Requires Plugin: gitlab-plugin
apiTokenId(String apiTokenId)
awsHelpers()
Requires Plugin: aws-java-sdk
hostUrl(String hostUrl)
name(String name)
global
adminEmail(String email)
The email address of the jenkins admin
awsHelpers()
Requires Plugin: aws-java-sdk
configUrl(String url)
url displayed in warning on Manage Jenkins page pointing at system config in source control for reference
environmentVariables(Map arg0)
passwords
Requires Plugin: envinject
password(String name, String value)
adds a 'global password' that will be injected as an environment variable in all jobs by the envinject plugin
  • Example:
    password('API_KEY', 't0ps3cret')
quietPeriod(int period)
the amount of time to wait between scm commits to start a build
scmCheckoutRetryCount(int count)
sets the number of times to retry checking out source code
systemMessage(String msg)
system message that will be shown in a banner at the top of jenkins
url(String url)
sets the base url for this Jenkins instance
mailer
Requires Plugin: mailer
authentication(String username, String password)
authentication information for the SMTP server
awsHelpers()
Requires Plugin: aws-java-sdk
charset(String charset)
The charset to use for the text and subject.
defaultSuffix(String defaultSuffix)
replyToAddress(String replyTo)
smtpPort(int smtpPort)
smtpServer(String server)
sets the SMTP server to send email with
useSsl(boolean useSsl)
useSsl()
Whether or not to use SSL for connecting to the SMTP server. Defaults to port 465. Other advanced configurations can be done by setting system properties. See this document for possible values and effects.
masterNode
awsHelpers()
Requires Plugin: aws-java-sdk
labels(List arg0)
mode(String mode)
how to utilize this node
mode(hudson.model.Node.Mode arg0)
numExecutors(int num)
the number of executors on the Jenkins master node
rebuild
awsHelpers()
Requires Plugin: aws-java-sdk
rememberPasswords(boolean remember)
rememberPasswords()
security
authorization
anyoneCanDoAnything()
completely disables the Jenkins security subsystem
awsHelpers()
Requires Plugin: aws-java-sdk
loggedInUsersCanDoAnything()
allows any users who are authenticated to perform any action in Jenkins
matrixAuthorization
Requires Plugin: matrix-auth
In this scheme, you can configure who can do what. a user or a group (often called 'role', depending on the security realm.) includes a special user 'anonymous', which represents unauthenticated users, as well as 'authenticated', which represents all authenticated users (IOW, everyone except anonymous users.) Permissions are additive. That is, if an user X is in group A, B, and C, then the permissions that this user actually has are the union of all permissions given to X, A, B, C, and anonymous.
addPermission(String permission, String user)
adds a permission for the user special permission aliases (case insensitive): 'ADMINISTER', 'FULL_CONTROL','READ','WRITE','CREATE','UPDATE','DELETE','CONFIGURE special user ids 'anonymous' and 'authenticated' are supported
  • Example:
    addPermission('some value', 'some value')
projectMatrixAuthorization
Requires Plugin: matrix-auth
an extension to "Matrix-based security" that allows additional ACL matrix to be defined for each project separately This allows you to say things like "Joe can access project A, B, and C but he can't see D." See the help of "Matrix-based security" for the concept of matrix-based security in general. ACLs are additive, so the access rights granted below will be effective for all the projects.
addPermission(String permission, String user)
adds a permission for the user special permission aliases (case insensitive): 'ADMINISTER', 'FULL_CONTROL','READ','WRITE','CREATE','UPDATE','DELETE','CONFIGURE special user ids 'anonymous' and 'authenticated' are supported
  • Example:
    addPermission('some value', 'some value')
awsHelpers()
Requires Plugin: aws-java-sdk
disableJobDslScriptSecurity()
Requires Plugin: job-dsl
disables the script security mechanism in the Job DSL Plugin Not recommended if this Jenkins instance allows untrusted users to create Job DSL jobs
disableRememberMe()
remove the “Remember me on this computer” checkbox from the login screen.
enableCsrfProtection()
prevent cross site request forgery exploits. does not enable extra options for proxy compatibility at this time
ldap
Requires Plugin: ldap
allowBlankRootDN(boolean allowBlankRootDN)
  • Example:
    allowBlankRootDN(true)
awsHelpers()
Requires Plugin: aws-java-sdk
displayNameAttributeName(String displayNameAttributeName)
  • Example:
    displayNameAttributeName('some value')
emailAddressAttributeName(String emailAddressAttributeName)
  • Example:
    emailAddressAttributeName('some value')
groupMembershipStrategy
groupSearch(String filter)
  • Example:
    groupSearch('some value')
userSearch(String attribute)
  • Example:
    userSearch('some value')
groupSearchBase(String groupSearchBase)
  • Example:
    groupSearchBase('some value')
groupSearchFilter(String groupSearchFilter)
  • Example:
    groupSearchFilter('some value')
managerDN(String managerDN)
  • Example:
    managerDN('some value')
managerPasswordSecret(String managerPasswordSecret)
  • Example:
    managerPasswordSecret('some value')
rootDN(String rootDN)
  • Example:
    rootDN('some value')
server(String server)
  • Example:
    server('somehost.example.com')
userSearchBase(String userSearchBase)
  • Example:
    userSearchBase('some value')
userSearchFilter(String userSearchFilter)
  • Example:
    userSearchFilter('some value')
seedJobs
awsHelpers()
Requires Plugin: aws-java-sdk
buildAfterCreation(boolean buildAfterCreation)
whether or not to build any generated jobs after creation
buildAfterCreation()
builds any generated jobs after creation (default: true)
configXml(String jobName, String xml)
jobDsl(String script)
stashNotifier
awsHelpers()
Requires Plugin: aws-java-sdk
considerUnstableAsSuccess()
credentialsId(String credentialsId)
disableInprogressNotification()
ignoreUnverifiedSsl()
includeBuildNumberInKey()
prependParentProjectKey()
stashRootUrl(String stashRootUrl)
theme
awsHelpers()
Requires Plugin: aws-java-sdk
cssUrl(String url)
faviconUrl(String url)
jsUrl(String url)
tools
awsHelpers()
Requires Plugin: aws-java-sdk
gradle
Requires Plugin: gradle
awsHelpers()
Requires Plugin: aws-java-sdk
batchCommand(String arg0, String arg1)
  • Example:
    batchCommand('some value', 'some value')
batchCommand(String command, String label, String homeDir)
  • Example:
    batchCommand('some value', 'some value', 'some value')
downloadArchive(String arg0, String arg1)
  • Example:
    downloadArchive('some value', 'some value')
downloadArchive(String url, String label, String subDir)
  • Example:
    downloadArchive('some value', 'some value', 'some value')
name(String name)
  • Example:
    name('some value')
shellCommand(String arg0, String arg1)
  • Example:
    shellCommand('some value', 'some value')
shellCommand(String command, String label, String homeDir)
  • Example:
    shellCommand('some value', 'some value', 'some value')
version(String version)
  • Example:
    version('some value')
groovy
awsHelpers()
Requires Plugin: aws-java-sdk
batchCommand(String arg0, String arg1)
  • Example:
    batchCommand('some value', 'some value')
batchCommand(String command, String label, String homeDir)
  • Example:
    batchCommand('some value', 'some value', 'some value')
downloadArchive(String arg0, String arg1)
  • Example:
    downloadArchive('some value', 'some value')
downloadArchive(String url, String label, String subDir)
  • Example:
    downloadArchive('some value', 'some value', 'some value')
name(String name)
  • Example:
    name('some value')
shellCommand(String arg0, String arg1)
  • Example:
    shellCommand('some value', 'some value')
shellCommand(String command, String label, String homeDir)
  • Example:
    shellCommand('some value', 'some value', 'some value')
version(String version)
  • Example:
    version('some value')
jdk
awsHelpers()
Requires Plugin: aws-java-sdk
batchCommand(String arg0, String arg1)
  • Example:
    batchCommand('some value', 'some value')
batchCommand(String command, String label, String homeDir)
  • Example:
    batchCommand('some value', 'some value', 'some value')
downloadArchive(String arg0, String arg1)
  • Example:
    downloadArchive('some value', 'some value')
downloadArchive(String url, String label, String subDir)
  • Example:
    downloadArchive('some value', 'some value', 'some value')
name(String name)
  • Example:
    name('some value')
oraclePassword(String oraclePassword)
  • Example:
    oraclePassword('some value')
oracleUsername(String username)
  • Example:
    oracleUsername('some value')
shellCommand(String arg0, String arg1)
  • Example:
    shellCommand('some value', 'some value')
shellCommand(String command, String label, String homeDir)
  • Example:
    shellCommand('some value', 'some value', 'some value')
version(String version)
  • Example:
    version('some value')
maven
awsHelpers()
Requires Plugin: aws-java-sdk
batchCommand(String arg0, String arg1)
  • Example:
    batchCommand('some value', 'some value')
batchCommand(String command, String label, String homeDir)
  • Example:
    batchCommand('some value', 'some value', 'some value')
downloadArchive(String arg0, String arg1)
  • Example:
    downloadArchive('some value', 'some value')
downloadArchive(String url, String label, String subDir)
  • Example:
    downloadArchive('some value', 'some value', 'some value')
name(String name)
  • Example:
    name('some value')
shellCommand(String arg0, String arg1)
  • Example:
    shellCommand('some value', 'some value')
shellCommand(String command, String label, String homeDir)
  • Example:
    shellCommand('some value', 'some value', 'some value')
version(String version)
  • Example:
    version('some value')
nodeJs
Requires Plugin: nodejs
awsHelpers()
Requires Plugin: aws-java-sdk
batchCommand(String arg0, String arg1)
  • Example:
    batchCommand('some value', 'some value')
batchCommand(String command, String label, String homeDir)
  • Example:
    batchCommand('some value', 'some value', 'some value')
downloadArchive(String arg0, String arg1)
  • Example:
    downloadArchive('some value', 'some value')
downloadArchive(String url, String label, String subDir)
  • Example:
    downloadArchive('some value', 'some value', 'some value')
globalNpmPackages(List arg0)
  • Example:
    globalNpmPackages(null)
name(String name)
  • Example:
    name('some value')
shellCommand(String arg0, String arg1)
  • Example:
    shellCommand('some value', 'some value')
shellCommand(String command, String label, String homeDir)
  • Example:
    shellCommand('some value', 'some value', 'some value')
version(String version)
  • Example:
    version('some value')