Git

#-----------------------------------------------------------------------------
# Jenkins location, login credentials and SSL config.
jenkins:  'https://jenkins.yourdomain.com'
username: 'change-me'
password: 'change-me'

# Verify the SSL certificate of the Jenkins server (default: true).
verify-ssl: true  # optional

# A client certificate can be specified as a single file, containing the
# private key and certificate) or as 'path/to/client.cert:path/to/client.key'.
client-cert: 'path/to/client.cert'  # optional

# Path to a CA_BUNDLE file or a directory with certificates of trusted CAs.
cert-bundle: 'path/to/certs/'  # optional

#-----------------------------------------------------------------------------
# Git repository location. This can be a local filesystem directory or an url.
# If location is local, 'git show-ref' is used. If it is an url, 'git ls-remote'
# is used. Keep in mind that these commands return ref names differently, which
# is relevant for setting the 'repo' configuration key.
repo: 'file:///tmp/project-repo/'  # or /tmp/project-repo

#-----------------------------------------------------------------------------
# Repository login credentials.
scm-username: 'change-me'
scm-password: 'change-me'

#-----------------------------------------------------------------------------
# Job to use as a template for new jobs.
template: 'new-job-template'

#-----------------------------------------------------------------------------
# Character with which to replace '/' in ref names.
namesep: '-'

#-----------------------------------------------------------------------------
# Template string to use for new job names. Several placeholder variables as
# well as regex capture groups and backreferences from the 'refs' match are
# available. Given a ref 'refs/heads/feature/one/two.three' and a regex
# 'refs/heads/feature/(.*)/(.*)', the following placeholders are available:
#
#   {shortref}       feature-one.two.three
#   {shortref-orig}  feature/one/two.three
#   {ref}            refs-heads-feature-one-two.three
#   {ref-orig}       refs/heads/feature/one/two.three
#   {repo}           sanitized value of 'repo' config key
#   {repo-orig}      value of 'repo' config key
#   {0}              one
#   {1}              two.three
#
#
# It’s also possible to refer to regex capture groups. Given the same ref
# and a regex 'refs/heads/(?P<type>(?:feature|release))/(.*)/(.*)', we we
# can refer to following placeholders:
#
#   {0}       feature
#   {1}       one
#   {2}       two.three
#   {type}    feature
#
# The default is '{shortref}'.
namefmt: '{shortref}'

#-----------------------------------------------------------------------------
# If false, a job will never be overwritten if it exists.
# If true, a job will be overwritten if the new configration differs from the
# old one (the default).
overwrite: true

#-----------------------------------------------------------------------------
# If true, new jobs will be added to the build queue after creation.
build-on-create: false

#-----------------------------------------------------------------------------
# State of newly created or overwritten jobs. Default is 'sticky'. One of:
#   true       -> Jobs will be enabled.
#   false      -> Jobs will be disabled.
#   'template' -> Jobs will inherit the state of their template job.
#   'sticky'   -> New jobs inherit the state of the template job -
#                 overwritten jobs keep their most recent state.
enable: 'sticky'

#-----------------------------------------------------------------------------
# Makes text substitutions throughout all text elements of a job’s config.xml.
# This includes the body of all commands that you may have defined. This option
# is useful for plugins that cannot introspect the name of the branch or job
# themselves (e.g. Sidebar-Link). All placeholders available to the namefmt
# option are also available here.
substitute:
  '@@JOB_NAME@@': '{branch}'
  '@@REF_NAME@@': 'ref-{shortref}'
  '@@STORAGE@@':  '/storage/builds/'

#-----------------------------------------------------------------------------
# Substitutions to perform on the ref and shortref.
# The default is '@!?#&|\^_$%*': '_', which substitutes the characters
# that cannot be in a Jenkins job name with '_'.
sanitize:
  '@!?#&|\^_$%*': '_'    # replace any of @!?#&|\^_$%* with _
  're:colou?r': 'color'  # replace regex 'colou?r' with 'color'

#-----------------------------------------------------------------------------
# List of refs to ignore (regular expressions).
ignore:
  - 'refs/heads/feature/.*-nobuild'
  - 'refs/heads/scratch/.*'

#-----------------------------------------------------------------------------
# A list of regular expressions that specify which refs to process.
# Global settings can be overwritten on a per-ref basis.
# Defaults to all refs ('refs: ".*"').
refs:
  - 'refs/heads/release/(.*)'
  - 'refs/heads/feature/(.*)'
  - 'refs/heads/scratch/(.*)':
      'template': 'scratch-template'
      'namefmt':  'wip-{shortref}'
      'enable':   false
      'view':     'scratch-view'
      'tag':      'group-1'

# Although you can match any ref returned by 'git show-ref' or 'git ls-remote'
# (depending on whether the repo is local or remote), only refs under
# 'refs/heads' can be safely used for the branchspec field of the Jenkins Git
# plugin. You can still use the substitute option for such setups.

#-----------------------------------------------------------------------------
# View to which new jobs should be added. Cannot be 'All'.
view: 'view-name'

#-----------------------------------------------------------------------------
# Tag jobs with this string. The tag will be placed inside the config.xml of
# new or updated jobs under the 'createByJenkinsAutojobs/tag' element.
tag: 'throw-away-jobs'

#-----------------------------------------------------------------------------
# If set to true, jenkins-autojobs will remove jobs for branches that were
# deleted. It uses a special property in the job’s config.xml to determine if
# the job was created by jenkins-autojobs.
#
# If set to a tag name, only jobs with that name will be cleaned. This is
# useful if you have more than one instance of jenkins-autojobs running and you
# don’t want them to mutually cleanup each others jobs.
cleanup: true  # or 'throw-away-jobs'

#-----------------------------------------------------------------------------
# Limit the number of jobs to consider for cleanup by view or job name regex.
# This can be used to reduce the time needed to remove jobs with the cleanup
# feature. The default is to process all jobs.

cleanup-filters:
  views:
    - 'My View'
  jobs:
    - '.*'

#-----------------------------------------------------------------------------
# Method for writing tags and marking the build as created by jenkins-autojobs.
#   'description' -> add special strings to the job's description (default).
#   'element'     -> add new xml elements to the job's config.xml.
tag-method: 'description'

Download git-config.yaml

Mercurial

#-----------------------------------------------------------------------------
# Jenkins location, login credentials and SSL config.
jenkins:  'https://jenkins.yourdomain.com'
username: 'change-me'
password: 'change-me'

# Verify the SSL certificate of the Jenkins server (default: true).
verify-ssl: true  # optional

# A client certificate can be specified as a single file, containing the
# private key and certificate) or as 'path/to/client.cert:path/to/client.key'.
client-cert: 'path/to/client.cert'  # optional

# Path to a CA_BUNDLE file or a directory with certificates of trusted CAs.
cert-bundle: 'path/to/certs/'  # optional

#-----------------------------------------------------------------------------
# Mercurial repository url.
repo: 'file:///tmp/repo/'

#-----------------------------------------------------------------------------
# The Python binary to use when calling mercurial. Defaults to 'python'.
python: 'python2'

#-----------------------------------------------------------------------------
# Process closed branches. Note that this works only for local repositories at
# the moment. Defaults to 'true'.
list-closed: true

#-----------------------------------------------------------------------------
# Repository login credentials.
scm-username: 'change-me'
scm-password: 'change-me'

#-----------------------------------------------------------------------------
# Job to use as a template for new jobs.
template: 'new-job-template'

#-----------------------------------------------------------------------------
# Character with which to replace '/' in branch names.
namesep: '-'
#-----------------------------------------------------------------------------
# Template string to use for new job names. Several placeholder variables as
# well as regex capture groups and backreferences from the 'refs' match are
# available. Given a ref 'refs/heads/feature/one/two.three' and a regex
# 'refs/heads/feature/(.*)/(.*)', the following placeholders are available:
#
#   {branch}       feature-one.two.three
#   {branch-orig}  feature/one/two.three
#   {repo}         sanitized value of 'repo' config key
#   {repo-orig}    value of 'repo' config key
#   {0}            one
#   {1}            two.three
#
#
# The default is '{branch}'.
namefmt: '{branch}'

#-----------------------------------------------------------------------------
# Template string to use for new job names. Several placeholder variables as
# well as regex capture groups and backreferences from the 'refs' match are
# available. Given a ref 'refs/heads/feature/one/two.three' and a regex
# 'refs/heads/feature/(.*)/(.*)', the following placeholders are available:

# Template string for new job names
# The following placeholders are available:
# Given a branch feature/one
#   {branch} -> expands to the name of the branch (feature-one)
#   {n}      -> nth backreference of the branch regex
namefmt: '{branch}'

#-----------------------------------------------------------------------------
# If false, a job will never be overwritten if it exists.
# If true, a job will be overwritten if the new configration differs from the
# old one (the default).
overwrite: true

#-----------------------------------------------------------------------------
# If true, new jobs will be added to the build queue after creation.
build-on-create: false

#-----------------------------------------------------------------------------
# State of newly created or overwritten jobs. Default is 'sticky'. One of:
#   true       -> Jobs will be enabled.
#   false      -> Jobs will be disabled.
#   'template' -> Jobs will inherit the state of their template job.
#   'sticky'   -> New jobs inherit the state of the template job -
#                 overwritten jobs keep their most recent state.
enable: 'sticky'

#-----------------------------------------------------------------------------
# Makes text substitutions throughout all text elements of a job’s config.xml.
# This includes the body of all commands that you may have defined. This option
# is useful for plugins that cannot introspect the name of the branch or job
# themselves (e.g. Sidebar-Link). All placeholders available to the namefmt
# option are also available here.
substitute:
  '@@JOB_NAME@@': '{branch}'
  '@@REF_NAME@@': 'ref-{shortref}'
  '@@STORAGE@@':  '/storage/builds/'

#-----------------------------------------------------------------------------
# Substitutions to perform on the ref and shortref.
# The default is '@!?#&|\^_$%*': '_', which substitutes the characters
# that cannot be in a Jenkins job name with '_'.
sanitize:
  '@!?#&|\^_$%*': '_'    # replace any of @!?#&|\^_$%* with _
  're:colou?r': 'color'  # replace regex 'colou?r' with 'color'

#-----------------------------------------------------------------------------
# List of branches to ignore (regular expressions)
ignore:
  - '.*-nobuild'
  - 'scratch/.*'

#-----------------------------------------------------------------------------
# A list of regular expressions that specify which branches to process.
# Global settings can be overwritten on a per-ref basis.
# Defaults to all refs ('refs: ".*"').
refs:
  - 'feature-(.*)'
  - 'release-(.*)':
      'template': 'release-template'
      'namefmt':  'rel-{1}'
      'enable':   false
      'view':     'release-view'
      'tag':      'group-1'

#-----------------------------------------------------------------------------
# View to which new jobs should be added. Cannot be 'All'.
view: 'view-name'

#-----------------------------------------------------------------------------
# Tag jobs with this string. The tag will be placed inside the config.xml of
# new or updated jobs under the 'createByJenkinsAutojobs/tag' element.
tag: 'throw-away-jobs'

#-----------------------------------------------------------------------------
# If set to true, jenkins-autojobs will remove jobs for branches that were
# deleted. It uses a special property in the job’s config.xml to determine if
# the job was created by jenkins-autojobs.
#
# If set to a tag name, only jobs with that name will be cleaned. This is
# useful if you have more than one instance of jenkins-autojobs running and you
# don’t want them to mutually cleanup each others jobs.
cleanup: true  # or 'throw-away-jobs'

#-----------------------------------------------------------------------------
# Limit the number of jobs to consider for cleanup by view or job name regex.
# This can be used to reduce the time needed to remove jobs with the cleanup
# feature. The default is to process all jobs.

cleanup-filters:
  views:
    - 'My View'
  jobs:
    - '.*'

#-----------------------------------------------------------------------------
# Method for writing tags and marking the build as created by jenkins-autojobs.
#   'description' -> add special strings to the job's description (default).
#   'element'     -> add new xml elements to the job's config.xml.
tag-method: 'description'

Download hg-config.yaml

Subversion

#-----------------------------------------------------------------------------
# Jenkins location, login credentials and SSL config.
jenkins:  'https://jenkins.yourdomain.com'
username: 'change-me'
password: 'change-me'

# Verify the SSL certificate of the Jenkins server (default: true).
verify-ssl: true  # optional

# A client certificate can be specified as a single file, containing the
# private key and certificate) or as 'path/to/client.cert:path/to/client.key'.
client-cert: 'path/to/client.cert'  # optional

# Path to a CA_BUNDLE file or a directory with certificates of trusted CAs.
cert-bundle: 'path/to/certs/'  # optional

#-----------------------------------------------------------------------------
# Svn base url (not necessarily the repository root).
repo: 'file:///tmp/repo/'

#-----------------------------------------------------------------------------
# Urls to list for branches that will be matchable by the refs option.
# Autojobs will 'svn ls' each of these and strip the value of 'repo'.
branches:
  - 'file:///tmp/repo/branches/'
  - 'file:///tmp/repo/experimental/'
  - 'file:///tmp/repo/releases/'
  - 'file:///tmp/repo/projects/*/branches'

#-----------------------------------------------------------------------------
# Repository login credentials.
scm-username: 'change-me'
scm-password: 'change-me'

#-----------------------------------------------------------------------------
# Job to use as a template for new jobs.
template: 'new-job-template'

#-----------------------------------------------------------------------------
# Character with which to replace '/' in branch names.
namesep: '-'

#-----------------------------------------------------------------------------
# Template string to use for new job names. Several placeholder variables as
# well as regex capture groups and backreferences from the 'refs' match are
# available. Given a branch 'branches/svn-bisect' and a regex
# 'branches/(.*)-(.*)', the following placeholders will be available:
#
#   {path}       branches-svn-bisect
#   {path-orig}  branches/svn-bisect
#   {branch}     svn-bisect
#   {repo}       sanitized value of 'repo' config key
#   {repo-orig}  value of 'repo' config key
#   {0}          svn
#   {1}          bisect
#
# The default is '{path}'.
namefmt: '{path}'


#-----------------------------------------------------------------------------
# If false, a job will never be overwritten if it exists.
# If true, a job will be overwritten if the new configration differs from the
# old one (the default).
overwrite: true

#-----------------------------------------------------------------------------
# If true, new jobs will be added to the build queue after creation.
build-on-create: false

#-----------------------------------------------------------------------------
# State of newly created or overwritten jobs. Default is 'sticky'. One of:
#   true       -> Jobs will be enabled.
#   false      -> Jobs will be disabled.
#   'template' -> Jobs will inherit the state of their template job.
#   'sticky'   -> New jobs inherit the state of the template job -
#                 overwritten jobs keep their most recent state.
enable: 'sticky'

#-----------------------------------------------------------------------------
# Makes text substitutions throughout all text elements of a job’s config.xml.
# This includes the body of all commands that you may have defined. This option
# is useful for plugins that cannot introspect the name of the branch or job
# themselves (e.g. Sidebar-Link). All placeholders available to the namefmt
# option are also available here.
substitute:
  '@@JOB_NAME@@': '{branch}'
  '@@REF_NAME@@': 'ref-{shortref}'
  '@@STORAGE@@':  '/storage/builds/'

#-----------------------------------------------------------------------------
# Substitutions to perform on the ref and shortref.
# The default is '@!?#&|\^_$%*': '_', which substitutes the characters
# that cannot be in a Jenkins job name with '_'.
sanitize:
  '@!?#&|\^_$%*': '_'    # replace any of @!?#&|\^_$%* with _
  're:colou?r': 'color'  # replace regex 'colou?r' with 'color'

#-----------------------------------------------------------------------------
# List of branches to ignore (regular expressions).
ignore:
  - 'branches/.*-nobuild'
  - 'experimental/john/.*'

#-----------------------------------------------------------------------------
# A list of regular expressions that specify which refs to process.
# Global settings can be overwritten on a per-branch basis.
# Defaults to all branches ('refs: ".*"').
refs:
  - 'branches/(.*)'
  - 'releases/(.*)':
      'template': 'release-template'
      'namefmt':  'release-{short}'
      'enable':   false
      'view':     'release-view'
      'tag':      'group-1'

#-----------------------------------------------------------------------------
# View to which new jobs should be added. Cannot be 'All'.
view: 'view-name'

#-----------------------------------------------------------------------------
# Tag jobs with this string. The tag will be placed inside the config.xml of
# new or updated jobs under the 'createByJenkinsAutojobs/tag' element.
tag: 'throw-away-jobs'

#-----------------------------------------------------------------------------
# If set to true, jenkins-autojobs will remove jobs for branches that were
# deleted. It uses a special property in the job’s config.xml to determine if
# the job was created by jenkins-autojobs.
#
# If set to a tag name, only jobs with that name will be cleaned. This is
# useful if you have more than one instance of jenkins-autojobs running and you
# don’t want them to mutually cleanup each others jobs.
cleanup: true  # or 'throw-away-jobs'

#-----------------------------------------------------------------------------
# Limit the number of jobs to consider for cleanup by view or job name regex.
# This can be used to reduce the time needed to remove jobs with the cleanup
# feature. The default is to process all jobs.

cleanup-filters:
  views:
    - 'My View'
  jobs:
    - '.*'

#-----------------------------------------------------------------------------
# Method for writing tags and marking the build as created by jenkins-autojobs.
#   'description' -> add special strings to the job's description (default).
#   'element'     -> add new xml elements to the job's config.xml.
tag-method: 'description'

Download svn-config.yaml