summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.zuul.yaml7
-rw-r--r--README.rst14
-rw-r--r--doc/source/conf.py21
-rw-r--r--doc/source/definition.rst8
-rw-r--r--doc/source/execution.rst4
-rw-r--r--doc/source/installation.rst2
-rw-r--r--doc/source/quick-start.rst6
-rw-r--r--doc/source/view_delivery_pipeline.rst7
-rw-r--r--jenkins_jobs/modules/base.py2
-rw-r--r--jenkins_jobs/modules/builders.py316
-rw-r--r--jenkins_jobs/modules/general.py5
-rw-r--r--jenkins_jobs/modules/metadata.py3
-rw-r--r--jenkins_jobs/modules/notifications.py5
-rw-r--r--jenkins_jobs/modules/parameters.py64
-rw-r--r--jenkins_jobs/modules/project_externaljob.py4
-rw-r--r--jenkins_jobs/modules/project_folder.py4
-rw-r--r--jenkins_jobs/modules/project_matrix.py14
-rwxr-xr-xjenkins_jobs/modules/project_maven.py4
-rw-r--r--jenkins_jobs/modules/project_multibranch.py89
-rw-r--r--jenkins_jobs/modules/project_multijob.py2
-rw-r--r--jenkins_jobs/modules/project_pipeline.py6
-rw-r--r--jenkins_jobs/modules/project_workflow.py4
-rw-r--r--jenkins_jobs/modules/properties.py97
-rwxr-xr-x[-rw-r--r--]jenkins_jobs/modules/publishers.py482
-rw-r--r--jenkins_jobs/modules/reporters.py3
-rw-r--r--jenkins_jobs/modules/scm.py67
-rw-r--r--jenkins_jobs/modules/triggers.py185
-rw-r--r--jenkins_jobs/modules/view_delivery_pipeline.py217
-rw-r--r--jenkins_jobs/modules/view_list.py2
-rw-r--r--jenkins_jobs/modules/view_pipeline.py5
-rw-r--r--jenkins_jobs/modules/wrappers.py253
-rw-r--r--jenkins_jobs/modules/zuul.py2
-rw-r--r--jenkins_jobs/registry.py4
-rw-r--r--setup.cfg1
-rw-r--r--tests/base.py3
-rw-r--r--tests/multibranch/fixtures/scm_gerrit_full.xml6
-rw-r--r--tests/multibranch/fixtures/scm_gerrit_full.yaml3
-rw-r--r--tests/multibranch/fixtures/scm_gerrit_minimal.xml2
-rwxr-xr-xtests/publishers/fixtures/opsgenie-full.xml15
-rwxr-xr-xtests/publishers/fixtures/opsgenie-full.yaml10
-rwxr-xr-xtests/publishers/fixtures/opsgenie-minimal.xml15
-rwxr-xr-xtests/publishers/fixtures/opsgenie-minimal.yaml2
-rw-r--r--tests/views/fixtures/view_delivery_pipeline-full.xml44
-rw-r--r--tests/views/fixtures/view_delivery_pipeline-full.yaml16
-rw-r--r--tests/views/fixtures/view_delivery_pipeline-minimal.xml38
-rw-r--r--tests/views/fixtures/view_delivery_pipeline-minimal.yaml6
-rw-r--r--tests/views/test_views.py7
-rw-r--r--tests/yamlparser/fixtures/project-with-auth-properties.xml23
-rw-r--r--tests/yamlparser/fixtures/project-with-auth-properties.yaml12
-rw-r--r--tox.ini8
50 files changed, 1407 insertions, 712 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
index 1d239a95..22ded6ab 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -7,6 +7,12 @@
- jjb/jenkins-job-builder
voting: true
+- job:
+ name: jjb-tox-docs-linkcheck
+ parent: tox
+ vars:
+ tox_envlist: docs-linkcheck
+
- project:
templates:
- docs-on-readthedocs
@@ -17,4 +23,5 @@
check:
jobs:
- jjb-tox-cross-python-jenkins
+ - jjb-tox-docs-linkcheck
- tox-cover
diff --git a/README.rst b/README.rst
index fc1171c3..21445897 100644
--- a/README.rst
+++ b/README.rst
@@ -55,7 +55,7 @@ IRC:
More details on how you can contribute is available on our wiki at:
-* http://docs.openstack.org/infra/manual/developers.html
+* https://docs.openstack.org/infra/manual/developers.html
Writing a patch
---------------
@@ -109,10 +109,10 @@ Then install the required python packages using pip_::
$ sudo pip install PyYAML python-jenkins
.. _Jenkins: https://jenkins.io/
-.. _YAML: http://www.yaml.org/
+.. _YAML: https://yaml.org
.. _JSON: http://json.org/
-.. _pep8: https://pypi.python.org/pypi/pep8
-.. _pyflakes: https://pypi.python.org/pypi/pyflakes
-.. _tox: https://testrun.org/tox
-.. _libyaml: http://pyyaml.org/wiki/LibYAML
-.. _pip: https://pypi.python.org/pypi/pip
+.. _pep8: https://pypi.org/project/pep8
+.. _pyflakes: https://pypi.org/project/pyflakes
+.. _tox: https://tox.readthedocs.io/en/latest
+.. _libyaml: https://pyyaml.org/wiki/LibYAML
+.. _pip: https://pypi.org/project/pip
diff --git a/doc/source/conf.py b/doc/source/conf.py
index 57ae43fd..238de16f 100644
--- a/doc/source/conf.py
+++ b/doc/source/conf.py
@@ -276,3 +276,24 @@ extlinks = {
"jenkins-wiki": ("https://wiki.jenkins.io/display/JENKINS/%s", None),
"jenkins-plugins": ("https://plugins.jenkins.io/%s", None),
}
+
+linkcheck_ignore = [
+ r"https?:\/\/.*example\.org",
+ # gitorious is read-only archived with an expired certificate
+ "https://gitorious.org",
+]
+linkcheck_timeout = 300
+
+nitpicky = True
+nitpick_ignore = [
+ ("py:class", "jenkins_jobs.modules.project_multijob.MultiJob"),
+ ("py:func", "jenkins_jobs.modules.builders.multijob"),
+ ("py:obj", "bool"),
+ ("py:obj", "dict"),
+ ("py:obj", "float"),
+ ("py:obj", "int"),
+ ("py:obj", "list"),
+ ("py:obj", "str"),
+ ("py:obj", "Element"),
+ ("py:obj", "YAMLParser"),
+]
diff --git a/doc/source/definition.rst b/doc/source/definition.rst
index 029c9446..978d620b 100644
--- a/doc/source/definition.rst
+++ b/doc/source/definition.rst
@@ -577,7 +577,7 @@ and replace them with the empty string instead.
Refer to :ref:`default-values` for details on setting variable defaults.
-Variable Inheritence
+Variable Inheritance
^^^^^^^^^^^^^^^^^^^^
It is possible in JJB to define defaults for variables at different levels such
@@ -624,7 +624,7 @@ When a project wants to use a job-template it can use override it as follows:
This is the standard way that most folks use and it will set ``branch: master``
for every job-template in the list. However sometimes we may want to provide an
alternative value for a specific job in the list. In this case the more
-specific declaration takes precendence:
+specific declaration takes precedence:
.. code-block:: yaml
@@ -667,8 +667,8 @@ Which will be expanded to the following yaml before being processed:
.. literalinclude:: /../../tests/localyaml/fixtures/anchors_aliases.oyaml
-.. _full length example: http://www.yaml.org/spec/1.2/spec.html#id2761803
-.. _anchors and aliases: http://www.yaml.org/spec/1.2/spec.html#id2765878
+.. _full length example: https://yaml.org/spec/1.2/spec.html#id2761803
+.. _anchors and aliases: https://yaml.org/spec/1.2/spec.html#id2765878
Custom Yaml Tags
diff --git a/doc/source/execution.rst b/doc/source/execution.rst
index eb292e11..2304e88e 100644
--- a/doc/source/execution.rst
+++ b/doc/source/execution.rst
@@ -116,7 +116,7 @@ hipchat section
can be used for any room your jobs might be configured to notify. For more
information on this topic, please see the `Hipchat API Documentation`__
-__ https://www.hipchat.com/docs/apiv2/auth
+__ https://developer.atlassian.com/server/hipchat/about-the-hipchat-rest-api/
stash section
@@ -372,4 +372,4 @@ Command Reference
can be overridden by setting the ``XDG_CACHE_HOME`` environment
variable.
.. [#f2] Jenkins Security Advisory affecting plugins info retrieval
- https://wiki.jenkins-ci.org/display/SECURITY/Jenkins+Security+Advisory+2016-05-11
+ https://wiki.jenkins.io/display/SECURITY/Jenkins+Security+Advisory+2016-05-11
diff --git a/doc/source/installation.rst b/doc/source/installation.rst
index ddd4a5b6..fffc02a1 100644
--- a/doc/source/installation.rst
+++ b/doc/source/installation.rst
@@ -20,7 +20,7 @@ The OpenStack project uses Puppet to manage its infrastructure
systems, including Jenkins. If you use Puppet, you can use the
`OpenStack Jenkins module`__ to install Jenkins Job Builder.
-__ https://git.openstack.org/cgit/openstack-infra/puppet-jenkins/tree/
+__ https://opendev.org/opendev/puppet-jenkins/src/branch/master
Documentation
-------------
diff --git a/doc/source/quick-start.rst b/doc/source/quick-start.rst
index fc2697cb..1ee92153 100644
--- a/doc/source/quick-start.rst
+++ b/doc/source/quick-start.rst
@@ -12,9 +12,9 @@ job definitions we use to test JJB.
Usage of the commands below assumes that you are at the root of the cloned directory.
-.. _repository: http://git.openstack.org/cgit/openstack-infra/jenkins-job-builder/
-.. _pypi: https://pypi.python.org/pypi/jenkins-job-builder/
-.. _examples: http://git.openstack.org/cgit/openstack-infra/jenkins-job-builder/tree/tests
+.. _repository: https://opendev.org/jjb/jenkins-job-builder/
+.. _pypi: https://pypi.org/project/jenkins-job-builder/
+.. _examples: https://opendev.org/jjb/jenkins-job-builder/src/branch/master/tests
.. _use-case-1:
diff --git a/doc/source/view_delivery_pipeline.rst b/doc/source/view_delivery_pipeline.rst
new file mode 100644
index 00000000..76648fb4
--- /dev/null
+++ b/doc/source/view_delivery_pipeline.rst
@@ -0,0 +1,7 @@
+.. _view_delivery_pipeline:
+
+Delivery Pipeline View
+======================
+
+.. automodule:: view_delivery_pipeline
+ :members:
diff --git a/jenkins_jobs/modules/base.py b/jenkins_jobs/modules/base.py
index dca0c7f1..8dc2be72 100644
--- a/jenkins_jobs/modules/base.py
+++ b/jenkins_jobs/modules/base.py
@@ -57,7 +57,7 @@ class Base(object):
loaded from JJB Yaml files without variables interpolation or other
yaml expansions.
- :rtype: boolean
+ :rtype: bool
"""
return False
diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py
index b36707f5..248ad90d 100644
--- a/jenkins_jobs/modules/builders.py
+++ b/jenkins_jobs/modules/builders.py
@@ -93,8 +93,8 @@ def shell(registry, xml_parent, data):
def python(registry, xml_parent, data):
"""yaml: python
- Execute a python command. Requires the Jenkins :jenkins-wiki:`Python plugin
- <Python+Plugin>`.
+ Execute a python command. Requires the Jenkins :jenkins-plugins:`Python plugin
+ <python>`.
:arg str parameter: the python command to execute
@@ -111,11 +111,11 @@ def python(registry, xml_parent, data):
def copyartifact(registry, xml_parent, data):
"""yaml: copyartifact
- Copy artifact from another project. Requires the :jenkins-wiki:`Copy
- Artifact plugin <Copy+Artifact+Plugin>`.
+ Copy artifact from another project. Requires the :jenkins-plugins:`Copy
+ Artifact plugin <copyartifact>`.
Please note using the multijob-build for which-build argument requires
- the :jenkins-wiki:`Multijob plugin <Multijob+Plugin>`
+ the :jenkins-plugins:`Multijob plugin <jenkins-multijob-plugin>`
:arg str project: Project to copy from
:arg str filter: what files to copy
@@ -158,18 +158,18 @@ def copyartifact(registry, xml_parent, data):
last-successful is specified as which-build
:arg bool fallback-to-last-successful: specifies to fallback to
last successful build when upstream-build is specified as which-build
- :arg string param: specifies to use a build parameter to get the build when
+ :arg str param: specifies to use a build parameter to get the build when
build-param is specified as which-build
:arg str upstream-project-name: specifies the project name of downstream
when downstream-build is specified as which-build
:arg str upstream-build-number: specifies the number of the build to
find its downstream build when downstream-build is specified as
which-build
- :arg string parameter-filters: Filter matching jobs based on these
+ :arg str parameter-filters: Filter matching jobs based on these
parameters (optional)
- :arg string exclude: Specify paths or patterns of artifacts to
+ :arg str exclude: Specify paths or patterns of artifacts to
exclude, even if specified in "Artifacts to copy". (default '')
- :arg string result-var-suffix: The build number of the selected build
+ :arg str result-var-suffix: The build number of the selected build
will be recorded into the variable named
COPYARTIFACT_BUILD_NUMBER_(SUFFIX)
for later build steps to reference. (default '')
@@ -206,8 +206,8 @@ def copyartifact(registry, xml_parent, data):
def change_assembly_version(registry, xml_parent, data):
"""yaml: change-assembly-version
Change the assembly version.
- Requires the Jenkins :jenkins-wiki:`Change Assembly Version
- <Change+Assembly+Version>`.
+ Requires the Jenkins :jenkins-plugins:`Change Assembly Version
+ <change-assembly-version-plugin>`.
:arg str version: Set the new version number for replace (default 1.0.0)
:arg str assemblyFile: The file name to search (default AssemblyInfo.cs)
@@ -239,8 +239,10 @@ def change_assembly_version(registry, xml_parent, data):
def fingerprint(registry, xml_parent, data):
"""yaml: fingerprint
Adds the ability to generate fingerprints as build steps instead of waiting
- for a build to complete. Requires the Jenkins :jenkins-wiki:`Fingerprint
- Plugin <Fingerprint+Plugin>`.
+ for a build to complete.
+
+ Requires the Jenkins :jenkins-plugins:`Fingerprint Plugin
+ <create-fingerprint>`.
:arg str targets: Files to fingerprint (default '')
@@ -268,8 +270,8 @@ def fingerprint(registry, xml_parent, data):
def ant(registry, xml_parent, data):
"""yaml: ant
- Execute an ant target. Requires the Jenkins :jenkins-wiki:`Ant Plugin
- <Ant+Plugin>`.
+ Execute an ant target. Requires the Jenkins :jenkins-plugins:`Ant Plugin
+ <ant>`.
To setup this builder you can either reference the list of targets
or use named parameters. Below is a description of both forms:
@@ -337,8 +339,8 @@ def trigger_remote(registry, xml_parent, data):
"""yaml: trigger-remote
Trigger build of job on remote Jenkins instance.
- :jenkins-wiki:`Parameterized Remote Trigger Plugin
- <Parameterized+Remote+Trigger+Plugin>`
+ Requires the Jenkins :jenkins-plugins:`Parameterized Remote Trigger Plugin
+ <Parameterized-Remote-Trigger>`
Please note that this plugin requires system configuration on the Jenkins
Master that is unavailable from individual job views; specifically, one
@@ -420,8 +422,9 @@ def trigger_remote(registry, xml_parent, data):
def trigger_builds(registry, xml_parent, data):
"""yaml: trigger-builds
Trigger builds of other jobs.
- Requires the Jenkins :jenkins-wiki:`Parameterized Trigger Plugin
- <Parameterized+Trigger+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Parameterized Trigger Plugin
+ <parameterized-trigger>`.
:arg list project: the Jenkins project to trigger
:arg str predefined-parameters: key/value pairs to be passed to the job
@@ -798,8 +801,9 @@ def trigger_builds(registry, xml_parent, data):
def builders_from(registry, xml_parent, data):
"""yaml: builders-from
Use builders from another project.
- Requires the Jenkins :jenkins-wiki:`Template Project Plugin
- <Template+Project+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Template Project Plugin
+ <template-project>`.
:arg str projectName: the name of the other project
@@ -816,8 +820,9 @@ def builders_from(registry, xml_parent, data):
def http_request(registry, xml_parent, data):
"""yaml: http-request
This plugin sends a http request to an url with some parameters.
- Requires the Jenkins :jenkins-wiki:`HTTP Request Plugin
- <HTTP+Request+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`HTTP Request Plugin
+ <http_request>`.
:arg str url: Specify an URL to be requested (required)
:arg str mode: The http mode of the request (default GET)
@@ -921,8 +926,8 @@ def http_request(registry, xml_parent, data):
def inject(registry, xml_parent, data):
"""yaml: inject
Inject an environment for the job.
- Requires the Jenkins :jenkins-wiki:`EnvInject Plugin
- <EnvInject+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`EnvInject Plugin <envinject>`.
:arg str properties-file: the name of the property file (optional)
:arg str properties-content: the properties content (optional)
@@ -948,15 +953,16 @@ def inject(registry, xml_parent, data):
def kmap(registry, xml_parent, data):
"""yaml: kmap
Publish mobile applications to your Keivox KMAP Private Mobile App Store.
- Requires the Jenkins :jenkins-wiki:`Keivox KMAP Private Mobile App Store
- Plugin <Keivox+KMAP+Private+Mobile+App+Store+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Keivox KMAP Private Mobile App Store
+ Plugin <kmap-jenkins>`.
:arg str username: KMAP's user email with permissions to upload/publish
applications to KMAP (required)
:arg str password: Password for the KMAP user uploading/publishing
applications (required)
:arg str url: KMAP's url. This url must always end with "/kmap-client/".
- For example: http://testing.keivox.com/kmap-client/ (required)
+ For example: http://testing.example.org/kmap-client/ (required)
:arg str categories: Categories' names. If you want to add the application
to more than one category, write the categories between commas.
(required)
@@ -1022,8 +1028,9 @@ def artifact_resolver(registry, xml_parent, data):
"""yaml: artifact-resolver
Allows one to resolve artifacts from a maven repository like nexus
(without having maven installed)
- Requires the Jenkins :jenkins-wiki:`Repository Connector Plugin
- <Repository+Connector+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Repository Connector Plugin
+ <repository-connector>`.
:arg bool fail-on-error: Whether to fail the build on error (default false)
:arg bool repository-logging: Enable repository logging (default false)
@@ -1087,8 +1094,9 @@ def artifact_resolver(registry, xml_parent, data):
def doxygen(registry, xml_parent, data):
"""yaml: doxygen
- Builds doxygen HTML documentation. Requires the Jenkins
- :jenkins-wiki:`Doxygen plugin <Doxygen+Plugin>`.
+ Builds doxygen HTML documentation.
+
+ Requires the Jenkins :jenkins-plugins:`Doxygen plugin <doxygen>`.
:arg str doxyfile: The doxyfile path (required)
:arg str install: The doxygen installation to use (required)
@@ -1115,8 +1123,9 @@ def doxygen(registry, xml_parent, data):
def gradle(registry, xml_parent, data):
"""yaml: gradle
- Execute gradle tasks. Requires the Jenkins :jenkins-wiki:`Gradle Plugin
- <Gradle+Plugin>`.
+ Execute gradle tasks.
+
+ Requires the Jenkins :jenkins-plugins:`Gradle Plugin <gradle>`.
:arg str tasks: List of tasks to execute
:arg str gradle-name: Use a custom gradle name (default '')
@@ -1180,7 +1189,8 @@ def _groovy_common_scriptSource(data):
def groovy(registry, xml_parent, data):
"""yaml: groovy
Execute a groovy script or command.
- Requires the Jenkins :jenkins-wiki:`Groovy Plugin <Groovy+plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Groovy Plugin <groovy>`.
:arg str file: Groovy file to run. (Alternative: you can chose a command
instead)
@@ -1229,7 +1239,8 @@ def groovy(registry, xml_parent, data):
def system_groovy(registry, xml_parent, data):
"""yaml: system-groovy
Execute a system groovy script or command.
- Requires the Jenkins :jenkins-wiki:`Groovy Plugin <Groovy+plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Groovy Plugin <groovy>`.
:arg str file: Groovy file to run. (Alternative: you can chose a command
instead)
@@ -1274,8 +1285,9 @@ def batch(registry, xml_parent, data):
def powershell(registry, xml_parent, data):
"""yaml: powershell
- Execute a powershell command. Requires the :jenkins-wiki:`Powershell Plugin
- <PowerShell+Plugin>`.
+ Execute a powershell command.
+
+ Requires the :jenkins-plugins:`Powershell Plugin <powershell>`.
:Parameter: the powershell command to execute
@@ -1290,8 +1302,9 @@ def powershell(registry, xml_parent, data):
def msbuild(registry, xml_parent, data):
"""yaml: msbuild
- Build .NET project using msbuild. Requires the :jenkins-wiki:`Jenkins
- MSBuild Plugin <MSBuild+Plugin>`.
+ Build .NET project using msbuild.
+
+ Requires the Jenkins :jenkins-plugins:'MSBuild Plugin <msbuild>`.
:arg str msbuild-version: which msbuild configured in Jenkins to use
(default '(Default)')
@@ -1336,9 +1349,10 @@ def create_builders(registry, step):
def conditional_step(registry, xml_parent, data):
"""yaml: conditional-step
- Conditionally execute some build steps. Requires the Jenkins
- :jenkins-wiki:`Conditional BuildStep Plugin
- <Conditional+BuildStep+Plugin>`.
+ Conditionally execute some build steps.
+
+ Requires the Jenkins :jenkins-plugins:`Conditional BuildStep Plugin
+ <conditional-buildstep>`.
Depending on the number of declared steps, a `Conditional step (single)`
or a `Conditional steps (multiple)` is created in Jenkins.
@@ -1803,8 +1817,8 @@ def maven_builder(registry, xml_parent, data):
Allows your build jobs to deploy artifacts automatically to Artifactory.
- Requires the Jenkins :jenkins-wiki:`Artifactory Plugin
- <Artifactory+Plugin>`.
+ Requires the Jenkins `Artifactory Plugin
+ <https://www.jfrog.com/confluence/display/RTF/Jenkins+Artifactory+Plug-in>`_.
:arg str name: Name of maven installation from the configuration (required)
:arg str pom: Location of pom.xml (default 'pom.xml')
@@ -1831,8 +1845,8 @@ def jira_issue_updater(registry, xml_parent, data):
"""yaml: jenkins-jira-issue-updater
Updates issues in Atlassian JIRA as part of a Jenkins job.
- Requires the Jenkins :jenkins-wiki:`Jira Issue Updater Plugin
- <Jira+Issue+Updater+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Jira Issue Updater Plugin
+ <jenkins-jira-issue-updater>`.
:arg str base-url: The base url of the rest API. (default '')
:arg str username: The Jira username (required)
@@ -1887,8 +1901,8 @@ def maven_target(registry, xml_parent, data):
"""yaml: maven-target
Execute top-level Maven targets.
- Requires the Jenkins :jenkins-wiki:`Config File Provider Plugin
- <Config+File+Provider+Plugin>` for the Config File Provider "settings"
+ Requires the Jenkins :jenkins-plugins:`Config File Provider Plugin
+ <config-file-provider>` for the Config File Provider "settings"
and "global-settings" config.
:arg str goals: Goals to execute
@@ -1939,8 +1953,10 @@ def maven_target(registry, xml_parent, data):
def multijob(registry, xml_parent, data):
"""yaml: multijob
- Define a multijob phase. Requires the Jenkins
- :jenkins-wiki:`Multijob Plugin <Multijob+Plugin>`.
+ Define a multijob phase.
+
+ Requires the Jenkins :jenkins-plugins:`Multijob Plugin
+ <jenkins-multijob-plugin>`.
This builder may only be used in
:py:class:`jenkins_jobs.modules.project_multijob.MultiJob` projects.
@@ -2139,8 +2155,9 @@ def config_file_provider(registry, xml_parent, data):
"""yaml: config-file-provider
Provide configuration files (i.e., settings.xml for maven etc.)
which will be copied to the job's workspace.
- Requires the Jenkins :jenkins-wiki:`Config File Provider Plugin
- <Config+File+Provider+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Config File Provider Plugin
+ <config-file-provider>`.
:arg list files: List of managed config files made up of three
parameters
@@ -2177,8 +2194,9 @@ def config_file_provider(registry, xml_parent, data):
def grails(registry, xml_parent, data):
"""yaml: grails
- Execute a grails build step. Requires the :jenkins-wiki:`Jenkins Grails
- Plugin <Grails+Plugin>`.
+ Execute a grails build step.
+
+ Requires the :jenkins-wiki:`Jenkins Grails Plugin <Grails+Plugin>`.
:arg bool use-wrapper: Use a grails wrapper (default false)
:arg str name: Select a grails installation to use (default '(Default)')
@@ -2239,8 +2257,9 @@ def grails(registry, xml_parent, data):
def sbt(registry, xml_parent, data):
"""yaml: sbt
- Execute a sbt build step. Requires the Jenkins :jenkins-wiki:`Sbt Plugin
- <sbt+plugin>`.
+ Execute a sbt build step.
+
+ Requires the Jenkins :jenkins-plugins:`Sbt Plugin <sbt>`.
:arg str name: Select a sbt installation to use. If no name is
provided, the first in the list of defined SBT builders will be
@@ -2276,7 +2295,7 @@ def critical_block_start(registry, xml_parent, data):
Must also add a build wrapper (exclusion), specifying the resources that
control the critical block. Otherwise, this will have no effect.
- Requires Jenkins :jenkins-wiki:`Exclusion Plugin <Exclusion-Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Exclusion Plugin <Exclusion>`.
Example:
@@ -2298,7 +2317,7 @@ def critical_block_end(registry, xml_parent, data):
Must also add a build wrapper (exclusion), specifying the resources that
control the critical block. Otherwise, this will have no effect.
- Requires Jenkins :jenkins-wiki:`Exclusion Plugin <Exclusion-Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Exclusion Plugin <Exclusion>`.
Example:
@@ -2315,8 +2334,9 @@ def critical_block_end(registry, xml_parent, data):
def publish_over_ssh(registry, xml_parent, data):
"""yaml: publish-over-ssh
Send files or execute commands over SSH.
- Requires the Jenkins :jenkins-wiki:`Publish over SSH Plugin
- <Publish+Over+SSH+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Publish over SSH Plugin
+ <publish-over-ssh>`.
:arg str site: name of the ssh site
:arg str target: destination directory
@@ -2344,8 +2364,9 @@ def publish_over_ssh(registry, xml_parent, data):
def publish_over_cifs(registry, xml_parent, data):
"""yaml: publish-over-cifs
Upload files via CIFS.
- Requires the Jenkins :jenkins-wiki:`Publish over CIFS Plugin
- <Publish+Over+CIFS+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Publish over CIFS Plugin
+ <publish-over-cifs>`.
:arg str site: name of the ssh site
:arg str target: destination directory
@@ -2372,8 +2393,9 @@ def publish_over_cifs(registry, xml_parent, data):
def saltstack(parser, xml_parent, data):
"""yaml: saltstack
- Send a message to Salt API. Requires the :jenkins-wiki:`saltstack plugin
- <saltstack-plugin>`.
+ Send a message to Salt API.
+
+ Requires the Jenkins :jenkins-plugins:`saltstack plugin <saltstack>`.
:arg str servername: Salt master server name (required)
:arg str authtype: Authentication type ('pam' or 'ldap', default 'pam')
@@ -2545,8 +2567,10 @@ class Builders(jenkins_jobs.modules.base.Base):
def shining_panda(registry, xml_parent, data):
"""yaml: shining-panda
- Execute a command inside various python environments. Requires the Jenkins
- :jenkins-wiki:`ShiningPanda plugin <ShiningPanda+Plugin>`.
+ Execute a command inside various python environments.
+
+ Requires the Jenkins :jenkins-plugins:`ShiningPanda plugin
+ <shiningpanda>`.
:arg str build-environment: Building environment to set up (required).
@@ -2656,8 +2680,10 @@ def shining_panda(registry, xml_parent, data):
def tox(registry, xml_parent, data):
"""yaml: tox
- Use tox to build a multi-configuration project. Requires the Jenkins
- :jenkins-wiki:`ShiningPanda plugin <ShiningPanda+Plugin>`.
+ Use tox to build a multi-configuration project.
+
+ Requires the Jenkins :jenkins-plugins:`ShiningPanda plugin
+ <shiningpanda>`.
:arg str ini: The TOX configuration file path (default tox.ini)
:arg bool recreate: If true, create a new environment each time (default
@@ -2682,8 +2708,10 @@ def tox(registry, xml_parent, data):
def managed_script(registry, xml_parent, data):
"""yaml: managed-script
This step allows you to reference and execute a centrally managed
- script within your build. Requires the Jenkins
- :jenkins-wiki:`Managed Script Plugin <Managed+Script+Plugin>`.
+ script within your build.
+
+ Requires the Jenkins :jenkins-plugins:`Managed Scripts Plugin
+ <managed-scripts>`.
:arg str script-id: Id of script to execute (required)
:arg str type: Type of managed file (default script)
@@ -2721,8 +2749,9 @@ def managed_script(registry, xml_parent, data):
def cmake(registry, xml_parent, data):
"""yaml: cmake
- Execute a CMake target. Requires the Jenkins :jenkins-wiki:`CMake Plugin
- <CMake+Plugin>`.
+ Execute a CMake target.
+
+ Requires the Jenkins :jenkins-plugins:`CMake Plugin <cmakebuilder>`.
This builder is compatible with both versions 2.x and 1.x of the
plugin. When specifying paramenters from both versions only the ones from
@@ -2905,7 +2934,7 @@ def dsl(registry, xml_parent, data):
r"""yaml: dsl
Process Job DSL
- Requires the Jenkins :jenkins-wiki:`Job DSL plugin <Job+DSL+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Job DSL plugin <job-dsl>`.
:arg str script-text: dsl script which is Groovy code (Required if targets
is not specified)
@@ -2995,7 +3024,8 @@ def dsl(registry, xml_parent, data):
def github_notifier(registry, xml_parent, data):
"""yaml: github-notifier
Set pending build status on Github commit.
- Requires the Jenkins :jenkins-wiki:`Github Plugin <GitHub+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Github Plugin <github>`.
Example:
@@ -3013,8 +3043,8 @@ def scan_build(registry, xml_parent, data):
The scan-build report has to be generated in the directory
``${WORKSPACE}/clangScanBuildReports`` for the publisher to find it.
- Requires the Jenkins :jenkins-wiki:`Clang Scan-Build Plugin
- <Clang+Scan-Build+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Clang Scan-Build Plugin
+ <clang-scanbuild>`.
:arg str target: Provide the exact name of the XCode target you wish to
have compiled and analyzed (required)
@@ -3069,7 +3099,8 @@ def scan_build(registry, xml_parent, data):
def ssh_builder(registry, xml_parent, data):
"""yaml: ssh-builder
Executes command on remote host
- Requires the Jenkins :jenkins-wiki:`SSH plugin <SSH+plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`SSH plugin <ssh>`.
:arg str ssh-user-ip: user@ip:ssh_port of machine that was defined
in jenkins according to SSH plugin instructions
@@ -3089,11 +3120,9 @@ def ssh_builder(registry, xml_parent, data):
def sonar(registry, xml_parent, data):
"""yaml: sonar
Invoke standalone Sonar analysis.
- Requires the Jenkins `Sonar Plugin.
- <http://docs.sonarqube.org/display/SCAN/\
- Analyzing+with+SonarQube+Scanner+for+Jenkins\
- #AnalyzingwithSonarQubeScannerforJenkins-\
- AnalyzingwiththeSonarQubeScanner>`_
+
+ Requires the Jenkins `Sonar Plugin
+ <https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-jenkins>`_.
:arg str sonar-name: Name of the Sonar installation.
:arg str sonar-scanner: Name of the Sonar Scanner.
@@ -3128,8 +3157,9 @@ def sonar(registry, xml_parent, data):
def xcode(registry, xml_parent, data):
"""yaml: xcode
- This step allows you to execute an xcode build step. Requires the Jenkins
- :jenkins-wiki:`Xcode Plugin <Xcode+Plugin>`.
+ This step allows you to execute an xcode build step.
+
+ Requires the Jenkins :jenkins-plugins:`Xcode Plugin <xcode-plugin>`.
:arg str developer-profile: the jenkins credential id for a
ios developer profile. (optional)
@@ -3352,8 +3382,10 @@ def sonatype_clm(registry, xml_parent, data):
def beaker(registry, xml_parent, data):
"""yaml: beaker
- Execute a beaker build step. Requires the Jenkins :jenkins-wiki:`Beaker
- Builder Plugin <Beaker+Builder+Plugin>`.
+ Execute a beaker build step.
+
+ Requires the Jenkins :jenkins-plugins:`Beaker Builder Plugin
+ <beaker-builder>`.
:arg str content: Run job from string
(Alternative: you can choose a path instead)
@@ -3394,8 +3426,10 @@ def beaker(registry, xml_parent, data):
def cloudformation(registry, xml_parent, data):
"""yaml: cloudformation
Create cloudformation stacks before running a build and optionally
- delete them at the end. Requires the Jenkins :jenkins-wiki:`AWS
- Cloudformation Plugin <AWS+Cloudformation+Plugin>`.
+ delete them at the end.
+
+ Requires the Jenkins :jenkins-plugins:`AWS Cloudformation Plugin
+ <jenkins-cloudformation-plugin>`.
:arg list name: The names of the stacks to create (required)
:arg str description: Description of the stack (optional)
@@ -3409,7 +3443,7 @@ def cloudformation(registry, xml_parent, data):
:arg str secret-key: The Amazon API Secret Key (required)
:arg int sleep: Number of seconds to wait before continuing to the
next step (default 0)
- :arg array region: The region to run cloudformation in (required)
+ :arg str region: The region to run cloudformation in (required)
:region values:
* **us-east-1**
@@ -3450,8 +3484,8 @@ def jms_messaging(registry, xml_parent, data):
- ActiveMQ
- FedMsg
- Requires the Jenkins :jenkins-wiki:`JMS Messaging Plugin
- Pipeline Plugin <JMS+Messaging+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`JMS Messaging Plugin Pipeline Plugin
+ <jms-messaging>`.
:arg str override-topic: If you need to override the default topic.
(default '')
@@ -3486,8 +3520,9 @@ def openshift_build_verify(registry, xml_parent, data):
provided buildConfig key provided; once the list of builds are obtained,
the state of the latest build is inspected for up to a minute to see if
it has completed successfully.
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -3532,8 +3567,9 @@ def openshift_build_verify(registry, xml_parent, data):
def openshift_builder(registry, xml_parent, data):
r"""yaml: openshift-builder
Perform builds in OpenShift for the job.
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -3591,8 +3627,9 @@ def openshift_creator(registry, xml_parent, data):
this build step takes in the provided JSON or YAML text, and if it
conforms to OpenShift schema, creates whichever
OpenShift resources are specified.
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -3638,8 +3675,9 @@ def openshift_dep_verify(registry, xml_parent, data):
Determines whether the expected set of DeploymentConfig's,
ReplicationController's, and active replicas are present based on prior
use of the scaler (2) and deployer (3) steps
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`._
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -3688,8 +3726,9 @@ def openshift_dep_verify(registry, xml_parent, data):
def openshift_deployer(registry, xml_parent, data):
r"""yaml: openshift-deployer
Start a deployment in OpenShift for the job.
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -3735,8 +3774,9 @@ def openshift_img_tagger(registry, xml_parent, data):
r"""yaml: openshift-img-tagger
Performs the equivalent of an oc tag command invocation in order to
manipulate tags for images in OpenShift ImageStream's
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -3785,8 +3825,9 @@ def openshift_img_tagger(registry, xml_parent, data):
def openshift_scaler(registry, xml_parent, data):
r"""yaml: openshift-scaler
Scale deployments in OpenShift for the job.
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -3832,8 +3873,9 @@ def openshift_scaler(registry, xml_parent, data):
def openshift_svc_verify(registry, xml_parent, data):
r"""yaml: openshift-svc-verify
Verify a service is up in OpenShift for the job.
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -3877,7 +3919,8 @@ def openshift_svc_verify(registry, xml_parent, data):
def runscope(registry, xml_parent, data):
"""yaml: runscope
Execute a Runscope test.
- Requires the Jenkins :jenkins-wiki:`Runscope Plugin <Runscope+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Runscope Plugin <runscope>`.
:arg str test-trigger-url: Trigger URL for test. (required)
:arg str access-token: OAuth Personal Access token. (required)
@@ -3911,8 +3954,8 @@ def description_setter(registry, xml_parent, data):
This plugin sets the description for each build,
based upon a RegEx test of the build log file.
- Requires the Jenkins :jenkins-wiki:`Description Setter Plugin
- <Description+Setter+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Description Setter Plugin
+ <description-setter>`.
:arg str regexp: A RegEx which is used to scan the build log file
(default '')
@@ -3936,8 +3979,11 @@ def description_setter(registry, xml_parent, data):
def build_publish_docker_image(registry, xml_parent, data):
"""yaml: build-publish-docker-image
- Requires the Jenkins :jenkins-wiki:`CloudBees Docker Build and
- Publish plugin <CloudBees+Docker+Build+and+Publish+plugin>`.
+ Provides the ability to build projects with a Dockerfile and publish the
+ resultant tagged image (repo) to the docker registry.
+
+ Requires the Jenkins :jenkins-plugins:`CloudBees Docker Build and Publish
+ plugin <docker-build-publish>`.
:arg str docker-registry-url: URL to the Docker registry you are
using (default '')
@@ -3994,8 +4040,11 @@ def build_publish_docker_image(registry, xml_parent, data):
def docker_build_publish(parse, xml_parent, data):
"""yaml: docker-build-publish
- Requires the Jenkins :jenkins-wiki:`Docker build publish Plugin
- <Docker+build+publish+Plugin>`.
+ Provides the ability to build projects with a Dockerfile, and publish the
+ resultant tagged image (repo) to the docker registry.
+
+ Requires the Jenkins :jenkins-plugins:`Docker build publish Plugin
+ <docker-build-publish>`.
:arg str repo-name: Name of repository to push to.
:arg str repo-tag: Tag for image. (default '')
@@ -4085,8 +4134,9 @@ def docker_pull_image(registry, xml_parent, data):
"""yaml: docker-pull-image
Provides integration between Jenkins and Docker Hub, utilizing a
Docker Hub hook to trigger one (or more) Jenkins job(s).
- Requires the Jenkins :jenkins-wiki:`CloudBees Docker Hub Notification
- <CloudBees+Docker+Hub+Notification>`.
+
+ Requires the Jenkins :jenkins-plugins:`CloudBees Docker Hub Notification
+ <dockerhub-notification>`.
:arg str image: Image ID on DockerHub (default '')
:arg str docker-registry-url: URL to the Docker registry
@@ -4127,8 +4177,9 @@ def build_name_setter(registry, xml_parent, data):
"""yaml: build-name-setter
Define Build Name Setter options which allows your build name to be
updated during the build process.
- Requires the Jenkins :jenkins-wiki:`Build Name Setter Plugin
- <Build+Name+Setter+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Build Name Setter Plugin
+ <build-name-setter>`.
:arg str name: Filename to use for Build Name Setter, only used if
file bool is true. (default 'version.txt')
@@ -4166,8 +4217,10 @@ def build_name_setter(registry, xml_parent, data):
def nexus_artifact_uploader(registry, xml_parent, data):
"""yaml: nexus-artifact-uploader
To upload result of a build as an artifact in Nexus without the need of
- Maven. Requires the Jenkins :nexus-artifact-uploader:
- `Nexus Artifact Uploader Plugin <Nexus+Artifact+Uploader>`.
+ Maven.
+
+ Requires the Jenkins :jenkins-plugins:`Nexus Artifact Uploader Plugin
+ <nexus-artifact-uploader>`.
:arg str protocol: Protocol to use to connect to Nexus (default https)
:arg str nexus_url: Nexus url (without protocol) (default '')
@@ -4224,8 +4277,9 @@ def nexus_iq_policy_evaluator(registry, xml_parent, data):
"""yaml: nexus-iq-policy-evaluator
Integrates the Nexus Lifecycle into a Jenkins job.
This function triggers 'Invokes Nexus Policy Evaluation'.
- Requires the Jenkins :jenkins-wiki:`Nexus
- Platform Plugin <Nexus+Platform+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Nexus Platform Plugin
+ <nexus-jenkins-plugin>`.
:arg str stage: Controls the stage the policy evaluation will be
run against on the Nexus IQ Server (required)
@@ -4319,8 +4373,9 @@ def nexus_repo_manager(registry, xml_parent, data):
"""yaml: nexus-repo-manager
Allows for artifacts selected in Jenkins packages to be
available in Nexus Repository Manager.
- Requires the Jenkins :jenkins-wiki:`Nexus
- Platform Plugin <Nexus+Platform+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Nexus Platform Plugin
+ <nexus-jenkins-plugin>`.
:arg str instance-id: The ID of the Nexus Instance (required)
:arg str repo-id: The ID of the Nexus Repository (required)
@@ -4346,7 +4401,8 @@ def nexus_repo_manager(registry, xml_parent, data):
def ansible_playbook(parser, xml_parent, data):
"""yaml: ansible-playbook
This plugin allows you to execute Ansible tasks as a job build step.
- Requires the Jenkins :jenkins-wiki:`Ansible Plugin <Ansible+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Ansible Plugin <ansible>`.
:arg str playbook: Path to the ansible playbook file. The path can be
absolute or relative to the job workspace. (required)
@@ -4509,7 +4565,8 @@ def ansible_playbook(parser, xml_parent, data):
def nodejs(parser, xml_parent, data):
"""yaml: nodejs
This plugin allows you to execute NodeJS scripts as a job build step.
- Requires the Jenkins :jenkins-wiki:`NodeJS Plugin <NodeJS+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`NodeJS Plugin <nodejs>`.
:arg str name: NodeJS installation name
:arg str script: NodeJS script (required)
@@ -4545,8 +4602,9 @@ def nodejs(parser, xml_parent, data):
def xunit(registry, xml_parent, data):
"""yaml: xunit
- Process tests results. Requires the Jenkins :jenkins-wiki:`xUnit Plugin
- <xUnit+Plugin>`.
+ Process tests results.
+
+ Requires the Jenkins :jenkins-plugins:`xUnit Plugin <xunit>`.
:arg str thresholdmode: Whether thresholds represents an absolute number
of tests or a percentage. Either 'number' or 'percent'. (default
diff --git a/jenkins_jobs/modules/general.py b/jenkins_jobs/modules/general.py
index 02b1647b..0e2bea24 100644
--- a/jenkins_jobs/modules/general.py
+++ b/jenkins_jobs/modules/general.py
@@ -59,8 +59,9 @@ Example:
* **folder**:
The folder attribute provides an alternative to using '<path>/<name>' as
the job name to specify which Jenkins folder to upload the job to.
- Requires the `CloudBees Folders Plugin.
- <https://wiki.jenkins-ci.org/display/JENKINS/CloudBees+Folders+Plugin>`_
+
+ Requires the Jenkins :jenkins-plugins:`CloudBees Folders Plugin
+ <cloudbees-folder>`.
* **child-workspace**:
Path for a child custom workspace. Defaults to Jenkins default
diff --git a/jenkins_jobs/modules/metadata.py b/jenkins_jobs/modules/metadata.py
index eb28ccd6..4c1fa2a2 100644
--- a/jenkins_jobs/modules/metadata.py
+++ b/jenkins_jobs/modules/metadata.py
@@ -16,7 +16,8 @@
"""
The Metadata plugin module enables the ability to add metadata to the projects
that can be exposed to job environment.
-Requires the Jenkins :jenkins-wiki:`Metadata Plugin <Metadata+plugin>`.
+
+Requires the Jenkins :jenkins-plugins:`Metadata Plugin <metadata>`.
**Component**: metadata
:Macro: metadata
diff --git a/jenkins_jobs/modules/notifications.py b/jenkins_jobs/modules/notifications.py
index f1f9407e..b9c7840e 100644
--- a/jenkins_jobs/modules/notifications.py
+++ b/jenkins_jobs/modules/notifications.py
@@ -33,8 +33,9 @@ import jenkins_jobs.modules.helpers as helpers
def http_endpoint(registry, xml_parent, data):
"""yaml: http
Defines an HTTP notification endpoint.
- Requires the Jenkins :jenkins-wiki:`Notification Plugin
- <Notification+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Notification Plugin
+ <notification>`.
:arg str format: notification payload format, JSON (default) or XML
:arg str event: job events that trigger notifications: started,
diff --git a/jenkins_jobs/modules/parameters.py b/jenkins_jobs/modules/parameters.py
index 763c0e24..fca02e1c 100644
--- a/jenkins_jobs/modules/parameters.py
+++ b/jenkins_jobs/modules/parameters.py
@@ -78,8 +78,9 @@ def string_param(registry, xml_parent, data):
def promoted_param(registry, xml_parent, data):
"""yaml: promoted build
A promoted build parameter.
- Requires the Jenkins :jenkins-wiki:`Promoted Builds Plugin
- <Promoted+Builds+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Promoted Builds Plugin
+ <promoted-builds>`.
:arg str name: the name of the parameter (required)
:arg str project-name: the job from which the user can pick runs (required)
@@ -338,9 +339,9 @@ def choice_param(registry, xml_parent, data):
def credentials_param(registry, xml_parent, data):
"""yaml: credentials
- A credentials selection parameter. Requires the Jenkins
- :jenkins-wiki:`Credentials Plugin
- <Credentials+Plugin>`.
+ A credentials selection parameter.
+
+ Requires the Jenkins :jenkins-plugins:`Credentials Plugin <credentials>`.
:arg str name: the name of the parameter
:arg str type: credential type (optional, default 'any')
@@ -354,7 +355,7 @@ def credentials_param(registry, xml_parent, data):
:arg bool required: whether this parameter is required (optional, default
false)
- :arg string default: default credentials ID (optional)
+ :arg str default: default credentials ID (optional)
:arg str description: a description of the parameter (optional)
Example:
@@ -418,8 +419,9 @@ def run_param(registry, xml_parent, data):
def extended_choice_param(registry, xml_parent, data):
"""yaml: extended-choice
Creates an extended choice parameter where values can be read from a file
- Requires the Jenkins :jenkins-wiki:`Extended Choice Parameter Plugin
- <Extended+Choice+Parameter+plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Extended Choice Parameter Plugin
+ <extended-choice-parameter>`.
:arg str name: name of the parameter
:arg str description: description of the parameter
@@ -529,8 +531,9 @@ def extended_choice_param(registry, xml_parent, data):
def validating_string_param(registry, xml_parent, data):
"""yaml: validating-string
A validating string parameter
- Requires the Jenkins :jenkins-wiki:`Validating String Plugin
- <Validating+String+Parameter+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Validating String Plugin
+ <validating-string-parameter>`.
:arg str name: the name of the parameter
:arg str default: the default value of the parameter (optional)
@@ -563,8 +566,9 @@ def validating_string_param(registry, xml_parent, data):
def svn_tags_param(registry, xml_parent, data):
"""yaml: svn-tags
A svn tag parameter
- Requires the Jenkins :jenkins-wiki:`Parameterized Trigger Plugin
- <Parameterized+Trigger+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Parameterized Trigger Plugin
+ <parameterized-trigger>`.
:arg str name: the name of the parameter
:arg str url: the url to list tags from
@@ -585,7 +589,7 @@ def svn_tags_param(registry, xml_parent, data):
name: BRANCH_NAME
default: release
description: A parameter named BRANCH_NAME default is release
- url: http://svn.example.com/repo
+ url: http://svn.example.org/repo
filter: [A-za-z0-9]*
"""
pdef = base_param(
@@ -610,6 +614,7 @@ def svn_tags_param(registry, xml_parent, data):
def dynamic_choice_param(registry, xml_parent, data):
"""yaml: dynamic-choice
Dynamic Choice Parameter
+
Requires the Jenkins :jenkins-wiki:`Jenkins Dynamic Parameter Plug-in
<Dynamic+Parameter+Plug-in>`.
@@ -638,6 +643,7 @@ def dynamic_choice_param(registry, xml_parent, data):
def dynamic_string_param(registry, xml_parent, data):
"""yaml: dynamic-string
Dynamic Parameter
+
Requires the Jenkins :jenkins-wiki:`Jenkins Dynamic Parameter Plug-in
<Dynamic+Parameter+Plug-in>`.
@@ -666,6 +672,7 @@ def dynamic_string_param(registry, xml_parent, data):
def dynamic_choice_scriptler_param(registry, xml_parent, data):
"""yaml: dynamic-choice-scriptler
Dynamic Choice Parameter (Scriptler)
+
Requires the Jenkins :jenkins-wiki:`Jenkins Dynamic Parameter Plug-in
<Dynamic+Parameter+Plug-in>`.
@@ -704,6 +711,7 @@ def dynamic_choice_scriptler_param(registry, xml_parent, data):
def dynamic_string_scriptler_param(registry, xml_parent, data):
"""yaml: dynamic-string-scriptler
Dynamic Parameter (Scriptler)
+
Requires the Jenkins :jenkins-wiki:`Jenkins Dynamic Parameter Plug-in
<Dynamic+Parameter+Plug-in>`.
@@ -799,8 +807,9 @@ def dynamic_scriptler_param_common(registry, xml_parent, data, ptype):
def matrix_combinations_param(registry, xml_parent, data):
"""yaml: matrix-combinations
Matrix combinations parameter
- Requires the Jenkins :jenkins-wiki:`Matrix Combinations Plugin
- <Matrix+Combinations+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Matrix Combinations Plugin
+ <matrix-combinations-parameter>`.
:arg str name: the name of the parameter
:arg str description: a description of the parameter (optional)
@@ -834,8 +843,9 @@ def copyartifact_build_selector_param(registry, xml_parent, data):
"""yaml: copyartifact-build-selector
Control via a build parameter, which build the copyartifact plugin should
- copy when it is configured to use 'build-param'. Requires the Jenkins
- :jenkins-wiki:`Copy Artifact plugin <Copy+Artifact+Plugin>`.
+ copy when it is configured to use 'build-param'.
+
+ Requires the Jenkins :jenkins-plugins:`Copy Artifact plugin <copyartifact>`.
:arg str name: name of the build parameter to store the selection in
:arg str description: a description of the parameter (optional)
@@ -865,8 +875,9 @@ def maven_metadata_param(registry, xml_parent, data):
"""yaml: maven-metadata
This parameter allows the resolution of maven artifact versions
by contacting the repository and reading the maven-metadata.xml.
- Requires the Jenkins :jenkins-wiki:`Maven Metadata Plugin
- <Maven+Metadata+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Maven Metadata Plugin
+ <maven-metadata-plugin>`.
:arg str name: Name of the parameter
:arg str description: Description of the parameter (optional)
@@ -934,8 +945,9 @@ def maven_metadata_param(registry, xml_parent, data):
def hidden_param(parser, xml_parent, data):
"""yaml: hidden
Allows you to use parameters hidden from the build with parameter page.
- Requires the Jenkins :jenkins-wiki:`Hidden Parameter Plugin
- <Hidden+Parameter+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Hidden Parameter Plugin
+ <hidden-parameter>`.
:arg str name: the name of the parameter
:arg str default: the default value of the parameter (optional)
@@ -957,8 +969,9 @@ def random_string_param(registry, xml_parent, data):
"""yaml: random-string
This parameter generates a random string and passes it to the
build, preventing Jenkins from combining queued builds.
- Requires the Jenkins :jenkins-wiki:`Random String Parameter Plugin
- <Random+String+Parameter+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Random String Parameter Plugin
+ <random-string-parameter>`.
:arg str name: Name of the parameter
:arg str description: Description of the parameter (default '')
@@ -990,8 +1003,9 @@ def git_parameter_param(registry, xml_parent, data):
"""yaml: git-parameter
This parameter allows you to select a git tag, branch or revision number as
parameter in Parametrized builds.
- Requires the Jenkins :jenkins-wiki:`Git Parameter Plugin
- <Git+Parameter+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Git Parameter Plugin
+ <git-parameter>`.
:arg str name: Name of the parameter
:arg str description: Description of the parameter (default '')
diff --git a/jenkins_jobs/modules/project_externaljob.py b/jenkins_jobs/modules/project_externaljob.py
index c6c7c490..969e3d65 100644
--- a/jenkins_jobs/modules/project_externaljob.py
+++ b/jenkins_jobs/modules/project_externaljob.py
@@ -22,8 +22,8 @@ This type of job allows you to record the execution of a process run outside
Jenkins, even on a remote machine. This is designed so that you can use
Jenkins as a dashboard of your existing automation system.
-Requires the Jenkins :jenkins-wiki:`External Monitor Job Type Plugin
-<Monitoring+external+jobs>`.
+Requires the Jenkins :jenkins-plugins:`External Monitor Job Type Plugin
+<external-monitor-job>`.
Example:
diff --git a/jenkins_jobs/modules/project_folder.py b/jenkins_jobs/modules/project_folder.py
index b88db566..61885d97 100644
--- a/jenkins_jobs/modules/project_folder.py
+++ b/jenkins_jobs/modules/project_folder.py
@@ -19,8 +19,8 @@ The folder Project module handles creating Jenkins folder projects.
You may specify ``folder`` in the ``project-type`` attribute of
the :ref:`Job` definition.
-Requires the Jenkins :jenkins-wiki:`CloudBees Folders Plugin
-<CloudBees+Folders+Plugin>`.
+Requires the Jenkins :jenkins-plugins:`CloudBees Folders Plugin
+<cloudbees-folder>`.
Job example:
diff --git a/jenkins_jobs/modules/project_matrix.py b/jenkins_jobs/modules/project_matrix.py
index f092279b..ebd566f5 100644
--- a/jenkins_jobs/modules/project_matrix.py
+++ b/jenkins_jobs/modules/project_matrix.py
@@ -25,17 +25,17 @@ internal YAML structure:
* slave name or label (``slave``)
* JDK name (``jdk``)
-Requires the Jenkins :jenkins-wiki:`Matrix Project Plugin
-<Matrix+Project+Plugin>`.
+Requires the Jenkins :jenkins-plugins:`Matrix Project Plugin
+<matrix-project>`.
The module also supports additional, plugin-defined axes:
* DynamicAxis (``dynamic``), requires the Jenkins
- :jenkins-wiki:`DynamicAxis Plugin <DynamicAxis+Plugin>`
+ :jenkins-plugins:`DynamicAxis Plugin <dynamic-axis>`
* GroovyAxis (``groovy``), requires the Jenkins
:jenkins-wiki:`GroovyAxis Plugin <GroovyAxis>`
* YamlAxis (``yaml``), requires the Jenkins
- :jenkins-wiki:`Yaml Axis Plugin <Yaml+Axis+Plugin>`
+ :jenkins-plugins:`Yaml Axis Plugin <yaml-axis>`
To tie the parent job to a specific node, you should use ``node`` parameter.
On a matrix project, this will tie *only* the parent job. To restrict axes
@@ -56,7 +56,7 @@ jobs, you can define a single value ``slave`` axis.
stable (default) or unstable
* **yaml-strategy** (optional, requires
- :jenkins-wiki:`Yaml Axis Plugin <Yaml+Axis+Plugin>`):
+ :jenkins-plugins:`Yaml Axis Plugin <yaml-axis>`):
* **exclude-key** (`str`) -- top key containing exclusion rules
* Either one of:
@@ -67,7 +67,7 @@ jobs, you can define a single value ``slave`` axis.
* **axes** (`list`):
* **axis**:
* **type** (`str`) -- axis type, must be either type defined by
- :jenkins-wiki:`Matrix Project Plugin <Matrix+Project+Plugin>`
+ :jenkins-plugins:`Matrix Project Plugin <matrix-project>`
(``label-expression``, ``user-defined``, ``slave`` or ``jdk``) or
a type defined by a plugin (see top of this document for a list
of supported plugins).
@@ -80,7 +80,7 @@ Example:
.. literalinclude:: /../../tests/general/fixtures/matrix-axis003.yaml
-Requires the Jenkins :jenkins-wiki:`ShiningPanda Plugin <ShiningPanda+Plugin>`.
+Requires the Jenkins :jenkins-plugins:`ShiningPanda Plugin <shiningpanda>`.
Example:
diff --git a/jenkins_jobs/modules/project_maven.py b/jenkins_jobs/modules/project_maven.py
index 719b1d2d..91178598 100755
--- a/jenkins_jobs/modules/project_maven.py
+++ b/jenkins_jobs/modules/project_maven.py
@@ -70,8 +70,8 @@ in the :ref:`Job` definition.
build succeeds ('SUCCESS'), build succeeds or is unstable ('UNSTABLE'),
regardless of build result ('FAILURE'). (default 'FAILURE').
-Requires the Jenkins :jenkins-wiki:`Config File Provider Plugin
-<Config+File+Provider+Plugin>`
+Requires the Jenkins :jenkins-plugins:`Config File Provider Plugin
+<config-file-provider>`
for the Config File Provider "settings" and "global-settings" config.
Example:
diff --git a/jenkins_jobs/modules/project_multibranch.py b/jenkins_jobs/modules/project_multibranch.py
index 3761ddc1..93b5f380 100644
--- a/jenkins_jobs/modules/project_multibranch.py
+++ b/jenkins_jobs/modules/project_multibranch.py
@@ -26,11 +26,12 @@ which means that there is no guarantee that its behavior (or configuration)
will not change, even between minor releases.
Plugins required:
- * :jenkins-wiki:`Workflow Plugin <Workflow+Plugin>`.
- * :jenkins-wiki:`Pipeline Multibranch Defaults Plugin
- <Pipeline+Multibranch+Defaults+Plugin>` (optional)
- * :jenkins-wiki:`Basic Branch Build Strategies Plugin
- <Basic+Branch+Build+Strategies+Plugin>` (optional)
+
+* :jenkins-plugins:`Workflow Plugin <workflow-aggregator>`.
+* :jenkins-plugins:`Pipeline Multibranch Defaults Plugin
+ <pipeline-multibranch-defaults>` (optional)
+* :jenkins-plugins:`Basic Branch Build Strategies Plugin
+ <basic-branch-build-strategies>` (optional)
:Job Parameters:
@@ -294,8 +295,8 @@ class WorkflowMultiBranchDefaults(WorkflowMultiBranch):
def bitbucket_scm(xml_parent, data):
r"""Configure BitBucket scm
- Requires the :jenkins-wiki:`Bitbucket Branch Source Plugin
- <Bitbucket+Branch+Source+Plugin>`.
+ Requires the :jenkins-plugins:`Bitbucket Branch Source Plugin
+ <cloudbees-bitbucket-branch-source>`.
:arg str credentials-id: The credential to use to scan BitBucket.
(required)
@@ -307,8 +308,8 @@ def bitbucket_scm(xml_parent, data):
(default false)
:arg str server-url: The address of the bitbucket server. (optional)
:arg str head-filter-regex: A regular expression for filtering
- discovered source branches. Requires the :jenkins-wiki:`SCM API Plugin
- <SCM+API+Plugin>`.
+ discovered source branches. Requires the :jenkins-plugins:`SCM API
+ Plugin <scm-api>`.
:arg str discover-branch: Discovers branches on the repository.
Valid options: ex-pr, only-pr, all.
Value is not specified by default.
@@ -338,14 +339,14 @@ def bitbucket_scm(xml_parent, data):
be checked out to a local branch named master, and a remote branch
origin/develop/new-feature will be checked out to a local branch
named develop/newfeature.
- Requires the :jenkins-wiki:`Git Plugin <Git+Plugin>`.
+ Requires the :jenkins-plugins:`Git Plugin <git>`.
:arg dict checkout-over-ssh: Checkout repo over ssh.
* **credentials** ('str'): Credentials to use for
checkout of the repo over ssh.
:arg dict filter-by-name-wildcard: Enable filter by name with wildcards.
- Requires the :jenkins-wiki:`SCM API Plugin <SCM+API+Plugin>`.
+ Requires the :jenkins-plugins:`SCM API Plugin <scm-api>`.
* **includes** ('str'): Space-separated list
of name patterns to consider. You may use * as a wildcard;
@@ -546,8 +547,8 @@ def bitbucket_scm(xml_parent, data):
def gerrit_scm(xml_parent, data):
"""Configure Gerrit SCM
- Requires the :jenkins-wiki:`Gerrit Code Review Plugin
- <Gerrit+Code+Review+Plugin>`.
+ Requires the :jenkins-plugins:`Gerrit Code Review Plugin
+ <gerrit-code-review>`.
:arg str url: The git url. (required)
:arg str credentials-id: The credential to use to connect to the GIT URL.
@@ -569,6 +570,13 @@ def gerrit_scm(xml_parent, data):
(like to disable SCM triggering or to override the pipeline durability)
(optional)
Refer to :func:`~property_strategies <property_strategies>`.
+ :arg dict filter-checks: Enable the filtering by pending checks, allowing to
+ discover the changes that need validation only. This feature is using
+ the gerrit checks plugin.
+ (optional)
+ query-operator: Name of the query operator, supported values are:
+ 'SCHEME' or 'ID'.
+ query-string: Value of the query operator.
Minimal Example:
@@ -583,7 +591,10 @@ def gerrit_scm(xml_parent, data):
source = XML.SubElement(
xml_parent,
"source",
- {"class": "jenkins.plugins.gerrit.GerritSCMSource", "plugin": "gerrit"},
+ {
+ "class": "jenkins.plugins.gerrit.GerritSCMSource",
+ "plugin": "gerrit-code-review",
+ },
)
source_mapping = [
("", "id", "-".join(["gr", data.get("url", "")])),
@@ -632,11 +643,25 @@ def gerrit_scm(xml_parent, data):
if data.get("build-strategies", None):
build_strategies(xml_parent, data)
+ # FilterChecks Trait
+ checks = data.get("filter-checks", None)
+ if checks:
+ checks_trait = XML.SubElement(
+ traits, "jenkins.plugins.gerrit.traits.FilterChecksTrait"
+ )
+ checks_source_mapping = [
+ ("query-operator", "queryOperator", None),
+ ("query-string", "queryString", None),
+ ]
+ helpers.convert_mapping_to_xml(
+ checks_trait, checks, checks_source_mapping, fail_required=True
+ )
+
def git_scm(xml_parent, data):
r"""Configure Git SCM
- Requires the :jenkins-wiki:`Git Plugin <Git+Plugin>`.
+ Requires the :jenkins-plugins:`Git Plugin <git>`.
:arg str url: The git repo url. (required)
:arg str credentials-id: The credential to use to connect to the GIT repo.
@@ -649,8 +674,8 @@ def git_scm(xml_parent, data):
:arg bool ignore-on-push-notifications: If a job should not trigger upon
push notifications. (default false)
:arg str head-filter-regex: A regular expression for filtering
- discovered source branches. Requires the :jenkins-wiki:`SCM API Plugin
- <SCM+API+Plugin>`.
+ discovered source branches. Requires the :jenkins-plugins:`SCM API
+ Plugin <scm-api>`.
:arg list build-strategies: Provides control over whether to build a branch
(or branch like things such as change requests and tags) whenever it is
discovered initially or a change from the previous revision has been
@@ -753,8 +778,8 @@ def git_scm(xml_parent, data):
def github_scm(xml_parent, data):
r"""Configure GitHub SCM
- Requires the :jenkins-wiki:`GitHub Branch Source Plugin
- <GitHub+Branch+Source+Plugin>`.
+ Requires the :jenkins-plugins:`GitHub Branch Source Plugin
+ <github-branch-source>`.
:arg str api-uri: The GitHub API uri for hosted / on-site GitHub. Must
first be configured in Global Configuration. (default GitHub)
@@ -789,8 +814,8 @@ def github_scm(xml_parent, data):
Refer to :func:`~build_strategies <build_strategies>`.
:arg str notification-context: Change the default GitHub check notification
context from "continuous-integration/jenkins/SUFFIX" to a custom text,
- Requires the :jenkins-wiki:`Github Custom Notification Context SCM
- Behaviour <Github+Custom+Notification+Context+SCM+Behaviour+Plugin>`.
+ Requires the :jenkins-plugins:`Github Custom Notification Context SCM
+ Behaviour <github-scm-trait-notification-context>`.
:arg dict property-strategies: Provides control over how to build a branch
(like to disable SCM triggering or to override the pipeline durability)
(optional)
@@ -979,8 +1004,8 @@ def github_scm(xml_parent, data):
def build_strategies(xml_parent, data):
"""Configure Basic Branch Build Strategies.
- Requires the :jenkins-wiki:`Basic Branch Build Strategies Plugin
- <Basic+Branch+Build+Strategies+Plugin>`.
+ Requires the :jenkins-plugins:`Basic Branch Build Strategies Plugin
+ <basic-branch-build-strategies>`.
:arg list build-strategies: Definition of build strategies.
@@ -1152,7 +1177,7 @@ def build_strategies(xml_parent, data):
def property_strategies(xml_parent, data):
"""Configure Basic Branch Property Strategies.
- Requires the :jenkins-wiki:`Branch API Plugin <Branch+API+Plugin>`.
+ Requires the :jenkins-plugins:`Branch API Plugin <branch-api>`.
:arg dict property-strategies: Definition of property strategies. Either
`named-branches` or `all-branches` may be specified, but not both.
@@ -1165,8 +1190,9 @@ def property_strategies(xml_parent, data):
* **pipeline-branch-durability-override** (str): Set a custom
branch speed/durability level. Valid values:
performance-optimized, survivable-nonatomic, or
- max-survivability (optional) Requires the :jenkins-wiki:
- `Pipeline Multibranch Plugin <Pipeline+Multibranch+Plugin>`
+ max-survivability (optional)
+ Requires the :jenkins-plugins:`Pipeline Multibranch Plugin
+ <workflow-multibranch>`
* **named-branches** (dict): Named branches get different properties.
Comprised of a list of defaults and a list of property strategy
@@ -1181,8 +1207,9 @@ def property_strategies(xml_parent, data):
* **pipeline-branch-durability-override** (str): Set a custom
branch speed/durability level. Valid values:
performance-optimized, survivable-nonatomic, or
- max-survivability (optional) Requires the :jenkins-wiki:
- `Pipeline Multibranch Plugin <Pipeline+Multibranch+Plugin>`
+ max-survivability (optional)
+ Requires the :jenkins-plugins:`Pipeline Multibranch Plugin
+ <workflow-multibranch>`
* **exceptions** (list): A list of branch names and the property
strategies to be used on that branch, instead of any listed
@@ -1199,9 +1226,9 @@ def property_strategies(xml_parent, data):
* **pipeline-branch-durability-override** (str): Set a
custom branch speed/durability level. Valid values:
performance-optimized, survivable-nonatomic, or
- max-survivability (optional) Requires the
- :jenkins-wiki:`Pipeline Multibranch Plugin
- <Pipeline+Multibranch+Plugin>`
+ max-survivability (optional)
+ Requires the :jenkins-plugins:`Pipeline
+ Multibranch Plugin <workflow-multibranch>`
"""
valid_prop_strats = ["all-branches", "named-branches"]
diff --git a/jenkins_jobs/modules/project_multijob.py b/jenkins_jobs/modules/project_multijob.py
index 6536432b..fde5986d 100644
--- a/jenkins_jobs/modules/project_multijob.py
+++ b/jenkins_jobs/modules/project_multijob.py
@@ -21,7 +21,7 @@ the :ref:`Job` definition.
This project type may use :py:func:`jenkins_jobs.modules.builders.multijob` \
builders.
-Requires the Jenkins :jenkins-wiki:`Multijob Plugin <Multijob+Plugin>`.
+Requires the Jenkins :jenkins-plugins:`Multijob Plugin <jenkins-multijob-plugin>`.
Example::
diff --git a/jenkins_jobs/modules/project_pipeline.py b/jenkins_jobs/modules/project_pipeline.py
index 3248c30d..15c39cb4 100644
--- a/jenkins_jobs/modules/project_pipeline.py
+++ b/jenkins_jobs/modules/project_pipeline.py
@@ -23,7 +23,7 @@ The Pipeline Project module handles creating Jenkins Pipeline projects
You may specify ``pipeline`` in the ``project-type`` attribute of
the :ref:`Job` definition.
-Requires the Jenkins :jenkins-wiki:`Pipeline Plugin <Pipeline+Plugin>`:
+Requires the Jenkins :jenkins-plugins:`Pipeline Plugin <workflow-aggregator>`.
In order to write an inline script within a job-template you have to escape the
curly braces by doubling them in the DSL: { -> {{ , otherwise it will be
@@ -93,8 +93,8 @@ class Pipeline(jenkins_jobs.modules.base.Base):
xml_parent,
"definition",
{
- "plugin": "workflow-cps",
"class": "org.jenkinsci.plugins." "workflow.cps.CpsFlowDefinition",
+ "plugin": "workflow-cps",
},
)
XML.SubElement(xml_definition, "script").text = data["dsl"]
@@ -103,9 +103,9 @@ class Pipeline(jenkins_jobs.modules.base.Base):
xml_parent,
"definition",
{
- "plugin": "workflow-cps",
"class": "org.jenkinsci.plugins.workflow.cps."
"CpsScmFlowDefinition",
+ "plugin": "workflow-cps",
},
)
else:
diff --git a/jenkins_jobs/modules/project_workflow.py b/jenkins_jobs/modules/project_workflow.py
index 731f7257..994e89c8 100644
--- a/jenkins_jobs/modules/project_workflow.py
+++ b/jenkins_jobs/modules/project_workflow.py
@@ -25,7 +25,7 @@ You may specify ``workflow`` in the ``project-type`` attribute of
the :ref:`Job` definition.
For now only inline scripts are supported.
-Requires the Jenkins :jenkins-wiki:`Workflow Plugin <Workflow+Plugin>`.
+Requires the Jenkins :jenkins-plugins:`Workflow Plugin <workflow-aggregator>`.
In order to use it for job-template you have to escape the curly braces by
doubling them in the DSL: { -> {{ , otherwise it will be interpreted by the
@@ -66,8 +66,8 @@ class Workflow(jenkins_jobs.modules.base.Base):
xml_parent,
"definition",
{
- "plugin": "workflow-cps",
"class": "org.jenkinsci.plugins." "workflow.cps.CpsFlowDefinition",
+ "plugin": "workflow-cps",
},
)
diff --git a/jenkins_jobs/modules/properties.py b/jenkins_jobs/modules/properties.py
index 342841f8..867d5399 100644
--- a/jenkins_jobs/modules/properties.py
+++ b/jenkins_jobs/modules/properties.py
@@ -46,6 +46,7 @@ import jenkins_jobs.modules.helpers as helpers
def builds_chain_fingerprinter(registry, xml_parent, data):
"""yaml: builds-chain-fingerprinter
Builds chain fingerprinter.
+
Requires the Jenkins :jenkins-wiki:`Builds chain fingerprinter Plugin
<Builds+chain+fingerprinter>`.
@@ -75,7 +76,8 @@ def builds_chain_fingerprinter(registry, xml_parent, data):
def ownership(registry, xml_parent, data):
"""yaml: ownership
Plugin provides explicit ownership for jobs and slave nodes.
- Requires the Jenkins :jenkins-wiki:`Ownership Plugin <Ownership+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Ownership Plugin <ownership>`.
:arg bool enabled: whether ownership enabled (default : true)
:arg str owner: the owner of job
@@ -107,8 +109,9 @@ def promoted_build(registry, xml_parent, data):
name must be created via the web interface in the job in order for the job
promotion to persist. Promotion processes themselves cannot be configured
by jenkins-jobs due to the separate storage of plugin configuration files.
- Requires the Jenkins :jenkins-wiki:`Promoted Builds Plugin
- <Promoted+Builds+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Promoted Builds Plugin
+ <promoted-builds>`.
:arg list names: the promoted build names (optional)
@@ -130,7 +133,8 @@ def promoted_build(registry, xml_parent, data):
def gitbucket(parser, xml_parent, data):
"""yaml: gitbucket
Integrate GitBucket to Jenkins.
- Requires the Jenkins :jenkins-wiki:`GitBucket Plugin <GitBucket+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`GitBucket Plugin <gitbucket>`.
:arg str url: GitBucket URL to issue (required)
:arg bool link-enabled: Enable hyperlink to issue (default false)
@@ -186,7 +190,8 @@ def gitlab(registry, xml_parent, data):
"""yaml: gitlab
Sets the GitLab connection for the project. Configured via Jenkins Global
Configuration.
- Requires the Jenkins :jenkins-wiki:`GitLab Plugin <GitLab+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`GitLab Plugin <gitlab-plugin>`.
:arg str connection: the GitLab connection name (required)
@@ -206,8 +211,9 @@ def gitlab(registry, xml_parent, data):
def gitlab_logo(registry, xml_parent, data):
"""yaml: gitlab-logo
Configures the GitLab-Logo Plugin.
- Requires the Jenkins :jenkins-wiki:`GitLab Logo Plugin
- <GitLab+Logo+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`GitLab Logo Plugin
+ <gitlab-logo>`.
:arg str repository-name: the GitLab repository name (required)
@@ -226,7 +232,8 @@ def gitlab_logo(registry, xml_parent, data):
def disk_usage(registry, xml_parent, data):
"""yaml: disk-usage
Enables the Disk Usage Plugin.
- Requires the Jenkins :jenkins-wiki:`Disk Usage Plugin <Disk+Usage+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Disk Usage Plugin <disk-usage>`.
Example:
@@ -239,7 +246,8 @@ def disk_usage(registry, xml_parent, data):
def least_load(registry, xml_parent, data):
"""yaml: least-load
Enables the Least Load Plugin.
- Requires the Jenkins :jenkins-wiki:`Least Load Plugin <Least+Load+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Least Load Plugin <leastload>`.
:arg bool disabled: whether or not leastload is disabled (default true)
@@ -259,8 +267,9 @@ def least_load(registry, xml_parent, data):
def throttle(registry, xml_parent, data):
"""yaml: throttle
Throttles the number of builds for this job.
- Requires the Jenkins :jenkins-wiki:`Throttle Concurrent Builds Plugin
- <Throttle+Concurrent+Builds+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Throttle Concurrent Builds Plugin
+ <throttle-concurrents>`.
:arg str option: throttle `project` (throttle the project alone)
or `category` (throttle the project as part of one or more categories)
@@ -320,8 +329,8 @@ def throttle(registry, xml_parent, data):
def branch_api(registry, xml_parent, data):
"""yaml: branch-api
Enforces a minimum time between builds based on the desired maximum rate.
- Requires the Jenkins :jenkins-wiki:`Branch API Plugin
- <Branch+API+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Branch API Plugin <branch-api>`.
:arg int number-of-builds: The maximum number of builds allowed within
the specified time period. (default 1)
@@ -362,8 +371,7 @@ def branch_api(registry, xml_parent, data):
def sidebar(registry, xml_parent, data):
"""yaml: sidebar
Allows you to add links in the sidebar.
- Requires the Jenkins :jenkins-wiki:`Sidebar-Link Plugin
- <Sidebar-Link+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Sidebar-Link Plugin <sidebar-link>`.
:arg str url: url to link to (optional)
:arg str text: text for the link (optional)
@@ -390,7 +398,8 @@ def sidebar(registry, xml_parent, data):
def inject(registry, xml_parent, data):
"""yaml: inject
Allows you to inject environment variables into the build.
- Requires the Jenkins :jenkins-wiki:`Env Inject Plugin <EnvInject+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`EnvInject Plugin <envinject>`.
:arg str properties-file: file to read with properties (optional)
:arg str properties-content: key=value properties (optional)
@@ -510,7 +519,7 @@ def authorization(registry, xml_parent, data):
"""
# get the folder name if it exists
- in_a_folder = data.pop("_use_folder_perms")
+ in_a_folder = data.pop("_use_folder_perms", None) if data else None
credentials = "com.cloudbees.plugins.credentials.CredentialsProvider."
ownership = "com.synopsys.arc.jenkins.plugins.ownership.OwnershipPlugin."
@@ -569,8 +578,8 @@ def priority_sorter(registry, xml_parent, data):
"""yaml: priority-sorter
Allows simple ordering of builds, using a configurable job priority.
- Requires the Jenkins :jenkins-wiki:`Priority Sorter Plugin
- <Priority+Sorter+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Priority Sorter Plugin
+ <PrioritySorter>`.
:arg int priority: Priority of the job. Higher value means higher
priority, with 3 as the default priority. (required)
@@ -615,8 +624,8 @@ def build_blocker(registry, xml_parent, data):
if at least one name of currently running jobs
is matching with one of the given regular expressions.
- Requires the Jenkins :jenkins-wiki:`Build Blocker Plugin
- <Build+Blocker+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Build Blocker Plugin
+ <build-blocker-plugin>`.
:arg bool use-build-blocker: Enable or disable build blocker (default true)
:arg list blocking-jobs: One regular expression per line to select
@@ -668,8 +677,8 @@ def copyartifact(registry, xml_parent, data):
Specify a list of projects that have access to copy the artifacts of
this project.
- Requires the Jenkins :jenkins-wiki:`Copy Artifact plugin
- <Copy+Artifact+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Copy Artifact plugin
+ <copyartifact>`.
:arg str projects: comma separated list of projects that can copy
artifacts of this project. Wild card character '*' is available.
@@ -704,7 +713,7 @@ def batch_tasks(registry, xml_parent, data):
Batch tasks and builds "lock" the workspace, so when one of those
activities is in progress, all the others will block in the queue.
- Requires the Jenkins :jenkins-wiki:`Batch Task Plugin <Batch+Task+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Batch Task Plugin <batch-task>`.
:arg list batch-tasks: Batch tasks.
@@ -731,7 +740,7 @@ def heavy_job(registry, xml_parent, data):
This plugin allows you to define "weight" on each job,
and making each job consume that many executors
- Requires the Jenkins :jenkins-wiki:`Heavy Job Plugin <Heavy+Job+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Heavy Job Plugin <heavy-job>`.
:arg int weight: Specify the total number of executors
that this job should occupy (default 1)
@@ -754,8 +763,8 @@ def slave_utilization(registry, xml_parent, data):
This plugin allows you to specify the percentage of a slave's capacity a
job wants to use.
- Requires the Jenkins :jenkins-wiki:`Slave Utilization Plugin
- <Slave+Utilization+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Slave Utilization Plugin
+ <slave-utilization-plugin>`.
:arg int slave-percentage: Specify the percentage of a slave's execution
slots that this job should occupy (default 0)
@@ -786,8 +795,8 @@ def slave_utilization(registry, xml_parent, data):
def delivery_pipeline(registry, xml_parent, data):
"""yaml: delivery-pipeline
- Requires the Jenkins :jenkins-wiki:`Delivery Pipeline Plugin
- <Delivery+Pipeline+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Delivery Pipeline Plugin
+ <delivery-pipeline-plugin>`.
:arg str stage: Name of the stage for this job (default '')
:arg str task: Name of the task for this job (default '')
@@ -823,7 +832,7 @@ def zeromq_event(registry, xml_parent, data):
(start, complete, finish) to a ZMQ PUB socket.
Requires the Jenkins `ZMQ Event Publisher.
- <https://git.openstack.org/cgit/openstack-infra/zmq-event-publisher>`_
+ <https://opendev.org/x/zmq-event-publisher>`_
Example:
@@ -843,7 +852,7 @@ def zeromq_event(registry, xml_parent, data):
def slack(registry, xml_parent, data):
"""yaml: slack
- Requires the Jenkins :jenkins-wiki:`Slack Plugin <Slack+Plugin>`
+ Requires the Jenkins :jenkins-plugins:`Slack Plugin <slack>`.
When using Slack Plugin version < 2.0, Slack Plugin itself requires a
publisher aswell as properties please note that you have to add the
@@ -920,7 +929,8 @@ def rebuild(registry, xml_parent, data):
This plug-in allows the user to rebuild a parameterized build without
entering the parameters again.It will also allow the user to edit the
parameters before rebuilding.
- Requires the Jenkins :jenkins-wiki:`Rebuild Plugin <Rebuild+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Rebuild Plugin <rebuild>`.
:arg bool auto-rebuild: Rebuild without asking for parameters
(default false)
@@ -985,8 +995,8 @@ def slave_prerequisites(registry, xml_parent, data):
This plugin allows you to check prerequisites on slave before
a job can run a build on it
- Requires the Jenkins :jenkins-wiki:`Slave Prerequisites Plugin
- <Slave+Prerequisites+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Slave Prerequisites Plugin
+ <slave-prerequisites>`.
:arg str script: A script to be executed on slave node.
If returning non 0 status, the node will be vetoed from hosting
@@ -1024,8 +1034,8 @@ def groovy_label(registry, xml_parent, data):
This plugin allows you to use Groovy script to restrict where this project
can be run.
- Requires the Jenkins :jenkins-wiki:`Groovy Label Assignment Plugin
- <Groovy+Label+Assignment+plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Groovy Label Assignment Plugin
+ <groovy-label-assignment>`.
Return value from Groovy script is treated as Label Expression.
It is treated as followings:
@@ -1078,8 +1088,8 @@ def groovy_label(registry, xml_parent, data):
def lockable_resources(registry, xml_parent, data):
"""yaml: lockable-resources
- Requires the Jenkins :jenkins-wiki:`Lockable Resources Plugin
- <Lockable+Resources+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Lockable Resources Plugin
+ <lockable-resources>`.
:arg str resources: List of required resources, space separated.
(required, mutual exclusive with label)
@@ -1138,7 +1148,7 @@ def lockable_resources(registry, xml_parent, data):
def docker_container(registry, xml_parent, data):
"""yaml: docker-container
- Requires the Jenkins: :jenkins-wiki:`Docker Plugin<Docker+Plugin>`.
+ Requires the Jenkins: :jenkins-plugins:`Docker Plugin <docker-plugin>`.
:arg str docker-registry-url: URL of the Docker registry. (default '')
:arg str credentials-id: Credentials Id for the Docker registey.
@@ -1190,8 +1200,9 @@ def docker_container(registry, xml_parent, data):
def disable_resume(registry, xml_parent, data):
"""yaml: disable-resume
Do not allow the pipeline to resume if the master restarts
- Requires the Jenkins :jenkins-wiki:`Pipeline Job Plugin
- <Pipeline+Job+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Pipeline Job Plugin
+ <workflow-aggregator>`.
Example:
@@ -1211,8 +1222,8 @@ def cachet_gating(registry, xml_parent, data):
The Cachet Gating Plugin provides a gating mechanism
based on the availability of resources.
- Requires the Jenkins: :jenkins-wiki:`Cachet Gate Plugin
- <Cachet+Gate+Plugin>`.
+ Requires the Jenkins: :jenkins-plugins:`Cachet Gate Plugin
+ <cachet-gating>`.
:arg bool required-resources: Confirm availability of listed
resources before building. Requires the list of resources to
diff --git a/jenkins_jobs/modules/publishers.py b/jenkins_jobs/modules/publishers.py
index da281485..6c1de7ce 100644..100755
--- a/jenkins_jobs/modules/publishers.py
+++ b/jenkins_jobs/modules/publishers.py
@@ -42,8 +42,8 @@ import jenkins_jobs.modules.helpers as helpers
def influx_db(registry, xml_parent, data):
"""yaml: influx-db
- Requires the Jenkins :jenkins-wiki: `Influx DB
- <Influx+DB+Plugin>`.
+ Requires the Jenkins :jenkins-plugins: `Influx DB
+ <influxdb>`.
"""
influx_db = XML.SubElement(
@@ -67,7 +67,7 @@ def allure(registry, xml_parent, data):
"""yaml: allure
Publish Allure report for the build. Requires the Jenkins
- :jenkins-wiki:`Allure Plugin <Allure+Plugin>`.
+ :jenkins-plugins:`Allure Plugin <allure-jenkins-plugin>`.
:arg str jdk: String identifier for a JDK installation in Jenkins
:arg str commandline: String identifier for a Allure-commandline tool
@@ -174,6 +174,7 @@ def archive(registry, xml_parent, data):
def blame_upstream(registry, xml_parent, data):
"""yaml: blame-upstream
Notify upstream committers when build fails
+
Requires the Jenkins :jenkins-wiki:`Blame upstream committers Plugin
<Blame+Upstream+Committers+Plugin>`.
@@ -193,7 +194,7 @@ def jclouds(registry, xml_parent, data):
"""yaml: jclouds
JClouds Cloud Storage Settings provides a way to store artifacts on
JClouds supported storage providers. Requires the Jenkins
- :jenkins-wiki:`JClouds Plugin <JClouds+Plugin>`.
+ :jenkins-plugins:`JClouds Plugin <jclouds-jenkins>`.
JClouds Cloud Storage Settings must be configured for the Jenkins instance.
@@ -235,7 +236,7 @@ def jclouds(registry, xml_parent, data):
def javadoc(registry, xml_parent, data):
"""yaml: javadoc
Publish Javadoc
- Requires the Jenkins :jenkins-wiki:`Javadoc Plugin <Javadoc+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Javadoc Plugin <javadoc>`.
:arg str directory: Directory relative to the root of the workspace,
such as 'myproject/build/javadoc' (optional)
@@ -263,7 +264,7 @@ def javadoc(registry, xml_parent, data):
def jdepend(registry, xml_parent, data):
"""yaml: jdepend
Publish jdepend report
- Requires the :jenkins-wiki:`JDepend Plugin <JDepend+Plugin>`.
+ Requires the :jenkins-plugins:`JDepend Plugin <jdepend>`.
:arg str file: path to jdepend file (required)
@@ -282,15 +283,15 @@ def hue_light(registry, xml_parent, data):
This plugin shows the state of your builds using the awesome Philips hue
lights.
- Requires the Jenkins :jenkins-wiki:`hue-light Plugin
- <hue-light+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`hue-light Plugin
+ <hue-light>`.
:arg int light-id: ID of light. Define multiple lights by a comma as a
separator (required)
- :arg string pre-build: Colour of building state (default 'blue')
- :arg string good-build: Colour of successful state (default 'green')
- :arg string unstable-build: Colour of unstable state (default 'yellow')
- :arg string bad-build: Colour of unsuccessful state (default 'red')
+ :arg str pre-build: Colour of building state (default 'blue')
+ :arg str good-build: Colour of successful state (default 'green')
+ :arg str unstable-build: Colour of unstable state (default 'yellow')
+ :arg str bad-build: Colour of unsuccessful state (default 'red')
Full Example:
@@ -326,7 +327,7 @@ def hue_light(registry, xml_parent, data):
def campfire(registry, xml_parent, data):
"""yaml: campfire
Send build notifications to Campfire rooms.
- Requires the Jenkins :jenkins-wiki:`Campfire Plugin <Campfire+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Campfire Plugin <campfire>`.
Campfire notifications global default values must be configured for
the Jenkins instance. Default values will be used if no specific
@@ -364,8 +365,8 @@ def campfire(registry, xml_parent, data):
def mqtt(registry, xml_parent, data):
"""yaml: mqtt
This plugin lets you send build notifications to a MQTT message queue.
- Requires the :jenkins-wiki:`MQTT Notification Plugin
- <MQTT+Notification+Plugin>`.
+ Requires the :jenkins-plugins:`MQTT Notification Plugin
+ <mqtt-notification-plugin>`.
:arg str broker-url: the broker URL, as protocol://address:port (required)
:arg str credentials-id: credentials to use to connect to the broker
@@ -411,7 +412,7 @@ def codecover(registry, xml_parent, data):
"""yaml: codecover
This plugin allows you to capture code coverage report from CodeCover.
Jenkins will generate the trend report of coverage.
- Requires the Jenkins :jenkins-wiki:`CodeCover Plugin <CodeCover+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`CodeCover Plugin <codecover>`.
:arg str include: Specify the path to the CodeCover HTML report file,
relative to the workspace root (default '')
@@ -463,8 +464,8 @@ def emotional_jenkins(registry, xml_parent, data):
Emotional Jenkins. This funny plugin changes the expression of Mr. Jenkins
in the background when your builds fail.
- Requires the Jenkins :jenkins-wiki:`Emotional Jenkins Plugin
- <Emotional+Jenkins+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Emotional Jenkins Plugin
+ <emotional-jenkins-plugin>`.
Example:
@@ -481,12 +482,12 @@ def emotional_jenkins(registry, xml_parent, data):
def trigger_parameterized_builds(registry, xml_parent, data):
"""yaml: trigger-parameterized-builds
Trigger parameterized builds of other jobs.
- Requires the Jenkins :jenkins-wiki:`Parameterized Trigger Plugin
- <Parameterized+Trigger+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Parameterized Trigger Plugin
+ <parameterized-trigger>`.
Use of the `node-label-name` or `node-label` parameters
- requires the Jenkins :jenkins-wiki:`NodeLabel Parameter Plugin
- <NodeLabel+Parameter+Plugin>`.
+ requires the Jenkins :jenkins-plugins:`NodeLabel Parameter Plugin
+ <nodelabelparameter>`.
Note: 'node-parameters' overrides the Node that the triggered
project is tied to.
@@ -625,8 +626,8 @@ def clone_workspace(registry, xml_parent, data):
"""yaml: clone-workspace
Archive the workspace from builds of one project and reuse them as the SCM
source for another project.
- Requires the Jenkins :jenkins-wiki:`Clone Workspace SCM Plugin
- <Clone+Workspace+SCM+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Clone Workspace SCM Plugin
+ <clone-workspace-scm>`.
:arg str workspace-glob: Files to include in cloned workspace (default '')
:arg str workspace-exclude-glob: Files to exclude from cloned workspace
@@ -673,8 +674,8 @@ def clone_workspace(registry, xml_parent, data):
def cloud_foundry(parser, xml_parent, data):
"""yaml: cloudfoundry
Pushes a project to Cloud Foundry or a CF-based platform (e.g. Stackato) at
- the end of a build. Requires the Jenkins :jenkins-wiki:`Cloud Foundry
- Plugin <Cloud+Foundry+Plugin>`.
+ the end of a build. Requires the Jenkins :jenkins-plugins:`Cloud Foundry
+ Plugin <cloudfoundry>`.
:arg str target: The API endpoint of the platform you want to push to.
This is the URL you use to access the platform, possibly with ".api"
@@ -823,7 +824,7 @@ def cloud_foundry(parser, xml_parent, data):
def cloverphp(registry, xml_parent, data):
"""yaml: cloverphp
Capture code coverage reports from PHPUnit
- Requires the Jenkins :jenkins-wiki:`Clover PHP Plugin <Clover+PHP+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Clover PHP Plugin <cloverphp>`.
Your job definition should pass to PHPUnit the --coverage-clover option
pointing to a file in the workspace (ex: clover-coverage.xml). The filename
@@ -928,8 +929,8 @@ def coverage(registry, xml_parent, data):
"""yaml: coverage
WARNING: The coverage function is deprecated. Instead, use the
cobertura function to generate a cobertura coverage report.
- Requires the Jenkins :jenkins-wiki:`Cobertura Coverage Plugin
- <Cobertura+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Cobertura Coverage Plugin
+ <cobertura>`.
Example:
@@ -1022,8 +1023,8 @@ def coverage(registry, xml_parent, data):
def cobertura(registry, xml_parent, data):
"""yaml: cobertura
Generate a cobertura coverage report.
- Requires the Jenkins :jenkins-wiki:`Cobertura Coverage Plugin
- <Cobertura+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Cobertura Coverage Plugin
+ <cobertura>`.
:arg str report-file: This is a file name pattern that can be used
to locate the cobertura xml report files (optional)
@@ -1127,7 +1128,7 @@ def cobertura(registry, xml_parent, data):
def jacoco(registry, xml_parent, data):
"""yaml: jacoco
Generate a JaCoCo coverage report.
- Requires the Jenkins :jenkins-wiki:`JaCoCo Plugin <JaCoCo+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`JaCoCo Plugin <jacoco>`.
:arg str exec-pattern: This is a file name pattern that can be used to
locate the jacoco report files (default ``**/**.exec``)
@@ -1200,8 +1201,8 @@ def jacoco(registry, xml_parent, data):
def ftp(registry, xml_parent, data):
"""yaml: ftp
Upload files via FTP.
- Requires the Jenkins :jenkins-wiki:`Publish over FTP Plugin
- <Publish+Over+FTP+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Publish over FTP Plugin
+ <publish-over-ftp>`.
:arg str site: name of the ftp site (required)
:arg str target: destination directory (required)
@@ -1258,8 +1259,8 @@ def ftp_publisher(registry, xml_parent, data):
"""yaml: ftp-publisher
This plugin can be used to upload project artifacts and whole directories
to an ftp server.
- Requires the Jenkins :jenkins-wiki:`FTP-Publisher Plugin
- <FTP-Publisher+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`FTP-Publisher Plugin
+ <ftppublisher>`.
:arg list uploads: List of files to upload
@@ -1311,10 +1312,58 @@ def ftp_publisher(registry, xml_parent, data):
helpers.convert_mapping_to_xml(ftp, data, mapping, fail_required=True)
+def opsgenie(registry, xml_parent, data):
+ """yaml: opsgenie
+ OpsGenie notification on build completion,
+ Requires the :jenkins-plugins:`OpsGenie Notifier Plugin <opsgenie>`.
+
+ :arg bool enable-sending-alerts: Send alerts to opsgenie. (default false)
+ :arg bool notify-build-start: Send a notification when the build starts. (default false)
+ :arg str api-key: This token is used to verify requests between OpsGenie and Jenkins. You can copy this key from your OpsGenie-Jenkins Integration page. (default '')
+ :arg str tags: Comma-separated list of tags you want to add on alert. (default '')
+ :arg str teams: Comma-separated list of teams that get notified from alert. (default '')
+ :arg str priority: Set the priority of the alert that's going to be created at OpsGenie, if job's build fails. (default 'P3')
+ :arg str build-starts-alerts-priority: Set the priority of the build started alert that's going to be created at OpsGenie. (default 'P3')
+ :arg str api-url: Api url that collects the webhook. (default '')
+
+ Minimal example:
+
+ .. literalinclude::
+ /../../tests/publishers/fixtures/opsgenie-minimal.yaml
+ :language: yaml
+
+ Full Example:
+
+ .. literalinclude::
+ /../../tests/publishers/fixtures/opsgenie-full.yaml
+ :language: yaml
+ """
+
+ mapping = [
+ ("priority", "alertPriority", "P3"),
+ ("build-starts-alerts-priority", "notifyBuildStartPriority", "P3"),
+ ("enable-sending-alerts", "enable", "false"),
+ ("notify-build-start", "notifyBuildStart", "false"),
+ ("api-key", "apiKey", ""),
+ ("api-url", "apiUrl", ""),
+ ("tags", "tags", ""),
+ ("teams", "teams", ""),
+ ]
+
+ opsgenie_notifier = XML.SubElement(
+ xml_parent,
+ "com.opsgenie.integration.jenkins.OpsGenieNotifier",
+ {"plugin": "opsgenie"},
+ )
+
+ helpers.convert_mapping_to_xml(opsgenie_notifier, data, mapping, fail_required=True)
+
+
def rocket(registry, xml_parent, data):
"""yaml: rocket
RocketChat notification on build completion,
- Requires the `RocketChat Notifier Plugin`.
+ Requires the :jenkins-plugins:`RocketChat Notifier Plugin
+ <rocketchatnotifier>`.
:arg str channel: Comma separated list of rooms (e.g. #project)
or persons (e.g. @john)
@@ -1450,8 +1499,8 @@ def hp_alm(registry, xml_parent, data):
"""yaml: hp-alm
Publish test results to HP-ALM.
- Requires the Jenkins :jenkins-wiki:`Micro Focus Application Automation
- Tools <Micro+Focus+Application+Automation+Tools)>`.
+ Requires the Jenkins :jenkins-plugins:`Micro Focus Application Automation
+ Tools <hp-application-automation-tools-plugin>`.
:arg str server-name: The name of the ALM Server. (required)
:arg str credentials-id: credentials-id of the user (default '')
@@ -1483,7 +1532,7 @@ def hp_alm(registry, xml_parent, data):
for Junit Plugin, ``**/testng-results.xml`` to find
testing result file for TestNG plugin. (required)
:arg str jenkins-server-url: The HTTP URL of the Jenkins Server,
- form example, http://myjenkinsserver.test.com:8080 . (optional)
+ form example, http://jenkins.example.org:8080 . (optional)
Minimal example using defaults:
@@ -1531,19 +1580,19 @@ def junit(registry, xml_parent, data):
(default false)
:arg bool test-stability: Add historical information about test
results stability (default false).
- Requires the Jenkins :jenkins-wiki:`Test stability Plugin
- <Test+stability+plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Test stability Plugin
+ <test-stability>`.
:arg bool claim-build: Allow claiming of failed tests (default false)
- Requires the Jenkins :jenkins-wiki:`Claim Plugin <Claim+plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Claim Plugin <claim>`.
:arg bool measurement-plots: Create measurement plots (default false)
Requires the Jenkins :jenkins-wiki:`Measurement Plots Plugin
<Measurement+Plots+Plugin>`.
:arg bool flaky-test-reports: Publish flaky test reports (default false).
- Requires the Jenkins :jenkins-wiki:`Flaky Test Handler Plugin
- <Flaky+Test+Handler+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Flaky Test Handler Plugin
+ <flaky-test-handler>`.
:arg bool junit-attachments: Publish test attachments (default false).
- Requires the Jenkins :jenkins-wiki:`JUnit Attachments Plugin
- <JUnit+Attachments+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`JUnit Attachments Plugin
+ <junit-attachments>`.
Minimal example using defaults:
@@ -1593,8 +1642,8 @@ def cucumber_reports(registry, xml_parent, data):
"""yaml: cucumber-reports
This plugin creates pretty cucumber-jvm html reports on jenkins.
- Requires the Jenkins :jenkins-wiki:`cucumber reports
- <Cucumber+Reports+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`cucumber reports
+ <cucumber-reports>`.
:arg str json-reports-path: The path relative to the workspace of
the json reports generated by cucumber-jvm e.g. target - leave
@@ -1701,8 +1750,8 @@ def cucumber_reports(registry, xml_parent, data):
def cucumber_testresult(registry, xml_parent, data):
"""yaml: cucumber-testresult
Publish cucumber test results.
- Requires the Jenkins :jenkins-wiki:`cucumber testresult
- <Cucumber+Test+Result+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Cucumber testresult
+ <cucumber-testresult-plugin>`.
:arg str results: Results filename (required)
:arg bool ignore-bad-steps: Ignore not existed step results (default false)
@@ -1736,8 +1785,8 @@ def cucumber_testresult(registry, xml_parent, data):
def xunit(registry, xml_parent, data):
"""yaml: xunit
- Publish tests results. Requires the Jenkins :jenkins-wiki:`xUnit Plugin
- <xUnit+Plugin>`.
+ Publish tests results. Requires the Jenkins :jenkins-plugins:`xUnit Plugin
+ <xunit>`.
:arg str thresholdmode: Whether thresholds represents an absolute number
of tests or a percentage. Either 'number' or 'percent'. (default
@@ -1897,7 +1946,7 @@ def _violations_add_entry(xml_parent, name, data):
def violations(registry, xml_parent, data):
"""yaml: violations
Publish code style violations.
- Requires the Jenkins :jenkins-wiki:`Violations Plugin <Violations>`.
+ Requires the Jenkins :jenkins-plugins:`Violations Plugin <violations>`.
The violations component accepts any number of dictionaries keyed
by the name of the violations system. The dictionary has the
@@ -1962,8 +2011,8 @@ def findbugs(registry, xml_parent, data):
r"""yaml: findbugs
FindBugs reporting for builds
- Requires the Jenkins :jenkins-wiki:`FindBugs Plugin
- <FindBugs+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`FindBugs Plugin
+ <findbugs>`.
:arg str pattern: specifies the generated raw FindBugs XML report files,
such as \*\*/findbugs.xml or \*\*/findbugsXml.xml. (default '')
@@ -2029,7 +2078,7 @@ def findbugs(registry, xml_parent, data):
def checkstyle(registry, xml_parent, data):
"""yaml: checkstyle
Publish trend reports with Checkstyle.
- Requires the Jenkins :jenkins-wiki:`Checkstyle Plugin <Checkstyle+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Checkstyle Plugin <checkstyle>`.
The checkstyle component accepts a dictionary with the
following values:
@@ -2135,12 +2184,12 @@ def checkstyle(registry, xml_parent, data):
def scp(registry, xml_parent, data):
"""yaml: scp
Upload files via SCP
- Requires the Jenkins :jenkins-wiki:`SCP Plugin <SCP+plugin>`.
+ Requires the Jenkins :jenkins-plugins:`SCP Plugin <scp>`.
When writing a publisher macro, it is important to keep in mind that
Jenkins uses Ant's `SCP Task
<https://ant.apache.org/manual/Tasks/scp.html>`_ via the Jenkins
- :jenkins-wiki:`SCP Plugin <SCP+plugin>` which relies on `FileSet
+ :jenkins-plugins:`SCP Plugin <scp>` which relies on `FileSet
<https://ant.apache.org/manual/Types/fileset.html>`_
and `DirSet <https://ant.apache.org/manual/Types/dirset.html>`_ patterns.
The relevant piece of documentation is excerpted below:
@@ -2199,8 +2248,8 @@ def scp(registry, xml_parent, data):
def ssh(registry, xml_parent, data):
"""yaml: ssh
Upload files via SCP.
- Requires the Jenkins :jenkins-wiki:`Publish over SSH Plugin
- <Publish+Over+SSH+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Publish over SSH Plugin
+ <publish-over-ssh>`.
:arg str site: name of the ssh site
:arg str target: destination directory
@@ -2267,12 +2316,12 @@ def ssh(registry, xml_parent, data):
def pipeline(registry, xml_parent, data):
"""yaml: pipeline
Specify a downstream project in a pipeline.
- Requires the Jenkins :jenkins-wiki:`Build Pipeline Plugin
- <Build+Pipeline+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Build Pipeline Plugin
+ <build-pipeline-plugin>`.
Use of the `node-label-name` or `node-label` parameters
- requires the Jenkins :jenkins-wiki:`NodeLabel Parameter Plugin
- <NodeLabel+Parameter+Plugin>`.
+ requires the Jenkins :jenkins-plugins:`NodeLabel Parameter Plugin
+ <nodelabelparameter>`.
Note: 'node-parameters' overrides the Node that the triggered
project is tied to.
@@ -2352,9 +2401,7 @@ def pipeline(registry, xml_parent, data):
def email(registry, xml_parent, data):
"""yaml: email
Email notifications on build failure.
- Requires the Jenkins :jenkins-wiki:`Mailer Plugin
- <Mailer>`.
-
+ Requires the Jenkins :jenkins-plugins:`Mailer Plugin <mailer>`.
:arg str recipients: Space separated list of recipient email addresses
(required)
@@ -2392,7 +2439,7 @@ def email(registry, xml_parent, data):
def claim_build(registry, xml_parent, data):
"""yaml: claim-build
Claim build failures
- Requires the Jenkins :jenkins-wiki:`Claim Plugin <Claim+plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Claim Plugin <claim>`.
Example:
@@ -2436,8 +2483,8 @@ def base_email_ext(registry, xml_parent, data, ttype):
def email_ext(registry, xml_parent, data):
"""yaml: email-ext
Extend Jenkin's built in email notification
- Requires the Jenkins :jenkins-wiki:`Email-ext Plugin
- <Email-ext+plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Email-ext Plugin
+ <email-ext>`.
:arg bool disable-publisher: Disable the publisher, while maintaining the
settings. The usage model for this is when you want to test things out
@@ -2602,7 +2649,7 @@ def email_ext(registry, xml_parent, data):
def fingerprint(registry, xml_parent, data):
"""yaml: fingerprint
Fingerprint files to track them across builds. Requires the
- Jenkins :jenkins-wiki:`Fingerprint Plugin <Fingerprint+Plugin>`.
+ Jenkins :jenkins-plugins:`Fingerprint Plugin <create-fingerprint>`.
:arg str files: files to fingerprint, follows the @includes of Ant fileset
(default '')
@@ -2643,6 +2690,7 @@ def aggregate_tests(registry, xml_parent, data):
def aggregate_flow_tests(registry, xml_parent, data):
"""yaml: aggregate-flow-tests
Aggregate downstream test results in a Build Flow job.
+
Requires the Jenkins :jenkins-wiki:`Build Flow Test Aggregator Plugin
<Build+Flow+Test+Aggregator+Plugin>`.
@@ -2667,7 +2715,7 @@ def aggregate_flow_tests(registry, xml_parent, data):
def cppcheck(registry, xml_parent, data):
"""yaml: cppcheck
Cppcheck result publisher
- Requires the Jenkins :jenkins-wiki:`Cppcheck Plugin <Cppcheck+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Cppcheck Plugin <cppcheck>`.
:arg str pattern: File pattern for cppcheck xml report (required)
:arg bool ignoreblankfiles: Ignore blank files (default false)
@@ -2793,7 +2841,7 @@ def cppcheck(registry, xml_parent, data):
def logparser(registry, xml_parent, data):
"""yaml: logparser
- Requires the Jenkins :jenkins-wiki:`Log Parser Plugin <Log+Parser+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Log Parser Plugin <log-parser>`.
:arg str parse-rules: full path to parse rules (default '')
:arg bool use-project-rules: use project rules instead of global
@@ -2833,13 +2881,14 @@ def logparser(registry, xml_parent, data):
def copy_to_master(registry, xml_parent, data):
"""yaml: copy-to-master
- Copy files to master from slave
+ Copy files to master from slave.
+
Requires the Jenkins :jenkins-wiki:`Copy To Slave Plugin
<Copy+To+Slave+Plugin>`.
:arg list includes: list of file patterns to copy
:arg list excludes: list of file patterns to exclude
- :arg string destination: absolute path into which the files will be copied.
+ :arg str destination: absolute path into which the files will be copied.
If left blank they will be copied into the workspace of the current job
(default '')
:arg bool run-after-result: If this is checked then copying files back to
@@ -2872,7 +2921,7 @@ def copy_to_master(registry, xml_parent, data):
def jira(registry, xml_parent, data):
"""yaml: jira
Update relevant JIRA issues
- Requires the Jenkins :jenkins-wiki:`JIRA Plugin <JIRA+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`JIRA Plugin <jira>`.
Example:
@@ -2885,7 +2934,7 @@ def jira(registry, xml_parent, data):
def growl(registry, xml_parent, data):
"""yaml: growl
Push notifications to growl client.
- Requires the Jenkins :jenkins-wiki:`Growl Plugin <Growl+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Growl Plugin <growl>`.
:arg str ip: IP address to send growl notifications to (required)
:arg bool notify-only-on-fail-or-recovery: send a growl only when build
@@ -2914,12 +2963,12 @@ def growl(registry, xml_parent, data):
def groovy_postbuild(registry, xml_parent, data):
"""yaml: groovy-postbuild
Execute a groovy script.
- Requires the Jenkins :jenkins-wiki:`Groovy Postbuild Plugin
- <Groovy+Postbuild+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Groovy Postbuild Plugin
+ <groovy-postbuild>`.
Please pay attention on version of plugin you have installed.
There were incompatible changes between 1.x and 2.x. Please see
- :jenkins-wiki:`home page <Groovy+Postbuild+Plugin>` of this plugin
+ :jenkins-plugins:`home page <groovy-postbuild>` of this plugin
for full information including migration process.
:arg str script: The groovy script to execute
@@ -3069,8 +3118,8 @@ def base_publish_over(
def cifs(registry, xml_parent, data):
"""yaml: cifs
Upload files via CIFS.
- Requires the Jenkins :jenkins-wiki:`Publish over CIFS Plugin
- <Publish+Over+CIFS+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Publish over CIFS Plugin
+ <publish-over-cifs>`.
:arg str site: name of the cifs site/share (required)
:arg str target: destination directory (required)
@@ -3131,8 +3180,8 @@ def cigame(registry, xml_parent, data):
"""yaml: cigame
This plugin introduces a game where users get points
for improving the builds.
- Requires the Jenkins :jenkins-wiki:`The Continuous Integration Game plugin
- <The+Continuous+Integration+Game+plugin>`.
+ Requires the Jenkins :jenkins-plugins:`The Continuous Integration Game
+ plugin <ci-game>`.
Example:
@@ -3146,8 +3195,7 @@ def sonar(registry, xml_parent, data):
"""yaml: sonar
Sonar plugin support.
Requires the Jenkins `Sonar Plugin.
- <http://docs.sonarqube.org/display/SONAR/\
- Analyzing+with+SonarQube+Scanner+for+Jenkins>`_
+ <https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-jenkins>`_
:arg str installation-name: name of the Sonar instance to use (optional)
:arg str jdk: JDK to use (inherited from the job if omitted). (optional)
@@ -3175,8 +3223,8 @@ def sonar(registry, xml_parent, data):
possible to provide a ConfigFileProvider settings file, see Example
below. (optional)
- Requires the Jenkins :jenkins-wiki:`Config File Provider Plugin
- <Config+File+Provider+Plugin>`
+ Requires the Jenkins :jenkins-plugins:`Config File Provider Plugin
+ <config-file-provider>`
for the Config File Provider "settings" and "global-settings" config.
This publisher supports the post-build action exposed by the Jenkins
@@ -3235,8 +3283,8 @@ def sounds(parser, xml_parent, data):
remotely by piping them through an operating system command,
or simultaneously through all browsers on a Jenkins page.
- Requires the Jenkins :jenkins-wiki:`Jenkins Sounds plugin
- <Jenkins+Sounds+plugin>`
+ Requires the Jenkins :jenkins-plugins:`Jenkins Sounds plugin
+ <sounds>`
:arg dict success: Play on success
@@ -3317,8 +3365,8 @@ def sounds(parser, xml_parent, data):
def performance(registry, xml_parent, data):
r"""yaml: performance
Publish performance test results from jmeter and junit.
- Requires the Jenkins :jenkins-wiki:`Performance Plugin
- <Performance+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Performance Plugin
+ <performance>`.
:arg int failed-threshold: Specify the error percentage threshold that
set the build failed. A negative value means don't use this threshold
@@ -3442,7 +3490,7 @@ def performance(registry, xml_parent, data):
def join_trigger(registry, xml_parent, data):
"""yaml: join-trigger
Trigger a job after all the immediate downstream jobs have completed.
- Requires the Jenkins :jenkins-wiki:`Join Plugin <Join+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Join Plugin <join>`.
:arg bool even-if-unstable: if true jobs will trigger even if some
downstream jobs are marked as unstable (default false)
@@ -3473,7 +3521,7 @@ def join_trigger(registry, xml_parent, data):
def jabber(registry, xml_parent, data):
"""yaml: jabber
Integrates Jenkins with the Jabber/XMPP instant messaging protocol
- Requires the Jenkins :jenkins-wiki:`Jabber Plugin <Jabber+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Jabber Plugin <jabber>`.
:arg bool notify-on-build-start: Whether to send notifications
to channels when a build starts (default false)
@@ -3582,8 +3630,8 @@ def jabber(registry, xml_parent, data):
def workspace_cleanup(registry, xml_parent, data):
"""yaml: workspace-cleanup (post-build)
- Requires the Jenkins :jenkins-wiki:`Workspace Cleanup Plugin
- <Workspace+Cleanup+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Workspace Cleanup Plugin
+ <ws-cleanup>`.
The pre-build workspace-cleanup is available as a wrapper.
@@ -3704,8 +3752,8 @@ def artifactory(registry, xml_parent, data):
Uses/requires the Artifactory plugin to deploy artifacts to
Artifactory Server.
- Requires the Jenkins :jenkins-wiki:`Artifactory Plugin
- <Artifactory+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Artifactory Plugin
+ <artifactory>`.
:arg str url: Artifactory server url (default '')
:arg str name: Artifactory user with permissions use for
@@ -3845,8 +3893,8 @@ def test_fairy(registry, xml_parent, data):
This plugin helps you to upload Android APKs or iOS IPA files to
www.testfairy.com.
- Requires the Jenkins :jenkins-wiki:`Test Fairy Plugin
- <TestFairy+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Test Fairy Plugin
+ <TestFairy>`.
:arg str platform: Select platform to upload to, **android** or **ios**
(required)
@@ -3962,8 +4010,8 @@ def text_finder(registry, xml_parent, data):
This plugin lets you search keywords in the files you specified and
additionally check build status
- Requires the Jenkins :jenkins-wiki:`Text-finder Plugin
- <Text-finder+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Text-finder Plugin
+ <text-finder>`.
:arg str regexp: Specify a regular expression (required)
:arg str fileset: Specify the path to search (optional)
@@ -4000,8 +4048,8 @@ def html_publisher(registry, xml_parent, data):
"""yaml: html-publisher
This plugin publishes HTML reports.
- Requires the Jenkins :jenkins-wiki:`HTML Publisher Plugin
- <HTML+Publisher+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`HTML Publisher Plugin
+ <htmlpublisher>`.
:arg str name: Report name (required)
:arg str dir: HTML directory to archive (required)
@@ -4040,8 +4088,8 @@ def rich_text_publisher(registry, xml_parent, data):
This plugin puts custom rich text message to the Build pages and Job main
page.
- Requires the Jenkins :jenkins-wiki:`Rich Text Publisher Plugin
- <Rich+Text+Publisher+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Rich Text Publisher Plugin
+ <rich-text-publisher-plugin>`.
:arg str stable-text: The stable text (required)
:arg str unstable-text: The unstable text if different from stable
@@ -4087,7 +4135,7 @@ def tap(registry, xml_parent, data):
"""yaml: tap
Adds support to TAP test result files
- Requires the Jenkins :jenkins-wiki:`TAP Plugin <TAP+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`TAP Plugin <tap>`.
:arg str results: TAP test result files (required)
:arg bool fail-if-no-results: Fail if no result (default false)
@@ -4141,8 +4189,8 @@ def post_tasks(registry, xml_parent, data):
"""yaml: post-tasks
Adds support to post build task plugin
- Requires the Jenkins :jenkins-wiki:`Post Build Task plugin
- <Post+build+task>`.
+ Requires the Jenkins :jenkins-plugins:`Post Build Task plugin
+ <postbuild-task>`.
:arg dict task: Post build task definition
:arg list task[matches]: list of matches when to run the task
@@ -4196,8 +4244,8 @@ def postbuildscript(registry, xml_parent, data):
Executes additional builders, script or Groovy after the build is
complete.
- Requires the Jenkins :jenkins-wiki:`Post Build Script plugin
- <PostBuildScript+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Post Build Script plugin
+ <postbuildscript>`.
:arg list generic-script: Series of Batch/Shell scripts to to run
@@ -4460,8 +4508,8 @@ def xml_summary(registry, xml_parent, data):
"""yaml: xml-summary
Adds support for the Summary Display Plugin
- Requires the Jenkins :jenkins-wiki:`Summary Display Plugin
- <Summary+Display+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Summary Display Plugin
+ <summary_report>`.
:arg str files: Files to parse (required)
:arg bool shown-on-project-page: Display summary on project page
@@ -4495,8 +4543,7 @@ def robot(registry, xml_parent, data):
"""yaml: robot
Adds support for the Robot Framework Plugin
- Requires the Jenkins :jenkins-wiki:`Robot Framework Plugin
- <Robot+Framework+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Robot Framework Plugin <robot>`.
:arg str output-path: Path to directory containing robot xml and html files
relative to build workspace. (required)
@@ -4555,8 +4602,8 @@ def robot(registry, xml_parent, data):
def warnings(registry, xml_parent, data):
"""yaml: warnings
Generate trend report for compiler warnings in the console log or
- in log files. Requires the Jenkins :jenkins-wiki:`Warnings Plugin
- <Warnings+Plugin>`.
+ in log files. Requires the Jenkins :jenkins-plugins:`Warnings Plugin
+ <warnings>`.
:arg list console-log-parsers: The parser to use to scan the console
log (default '')
@@ -4754,7 +4801,7 @@ def sloccount(registry, xml_parent, data):
r"""yaml: sloccount
Generates the trend report for SLOCCount
- Requires the Jenkins :jenkins-wiki:`SLOCCount Plugin <SLOCCount+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`SLOCCount Plugin <sloccount>`.
:arg str report-files: Setting that specifies the generated raw
SLOCCount report files. Be sure not to include any non-report files
@@ -4798,9 +4845,9 @@ def ircbot(registry, xml_parent, data):
ircbot enables Jenkins to send build notifications via IRC and lets you
interact with Jenkins via an IRC bot.
- Requires the Jenkins :jenkins-wiki:`IRC Plugin <IRC+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`IRC Plugin <ircbot>`.
- :arg string strategy: When to send notifications
+ :arg str strategy: When to send notifications
:strategy values:
* **all** always (default)
@@ -4819,7 +4866,7 @@ def ircbot(registry, xml_parent, data):
(default false)
:arg bool notify-fixers: Whether to send notifications to the users that
have fixed a broken build (default false)
- :arg string message-type: Channel Notification Message.
+ :arg str message-type: Channel Notification Message.
:message-type values:
* **summary-scm** for summary and SCM changes (default)
@@ -4837,7 +4884,7 @@ def ircbot(registry, xml_parent, data):
* **password** (`str`) Channel password (optional)
* **notify-only** (`bool`) Set to true if you want to
disallow bot commands (default false)
- :arg string matrix-notifier: notify for matrix projects
+ :arg str matrix-notifier: notify for matrix projects
instant-messaging-plugin injects an additional
field in the configuration form whenever the
project is a multi-configuration project
@@ -4911,7 +4958,7 @@ def plot(registry, xml_parent, data):
"""yaml: plot
Plot provides generic plotting (or graphing).
- Requires the Jenkins :jenkins-wiki:`Plot Plugin <Plot+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Plot Plugin <plot>`.
:arg str title: title for the graph (default '')
:arg str yaxis: title of Y axis (default '')
@@ -5081,7 +5128,7 @@ def git(registry, xml_parent, data):
push merge results, tags, and/or branches to
remote repositories after the job completes.
- Requires the Jenkins :jenkins-wiki:`Git Plugin <Git+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Git Plugin <git>`.
:arg bool push-merge: push merges back to the origin specified in the
pre-build merge options (default false)
@@ -5195,7 +5242,7 @@ def git(registry, xml_parent, data):
def github_notifier(registry, xml_parent, data):
"""yaml: github-notifier
Set build status on Github commit.
- Requires the Jenkins :jenkins-wiki:`Github Plugin <GitHub+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Github Plugin <github>`.
Example:
@@ -5208,7 +5255,7 @@ def github_notifier(registry, xml_parent, data):
def gitlab_notifier(registry, xml_parent, data):
"""yaml: gitlab-notifier
Set build status on GitLab commit.
- Requires the Jenkins :jenkins-wiki:`GitLab Plugin <GitLab+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`GitLab Plugin <gitlab-plugin>`.
:arg str name: The name of the build in GitLab. With this you can
distinguish different Jenkins jobs for the same commit in GitLab.
@@ -5242,7 +5289,7 @@ def gitlab_notifier(registry, xml_parent, data):
def gitlab_vote(registry, xml_parent, data):
"""yaml: gitlab-vote
Set vote for build status on GitLab merge request.
- Requires the Jenkins :jenkins-wiki:`GitLab Plugin <GitLab+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`GitLab Plugin <gitlab-plugin>`.
Example:
@@ -5258,7 +5305,7 @@ def gitlab_vote(registry, xml_parent, data):
def gitlab_message(registry, xml_parent, data):
"""yaml: gitlab-message
Add note with build status on GitLab merge request.
- Requires the Jenkins :jenkins-wiki:`GitLab Plugin <GitLab+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`GitLab Plugin <gitlab-plugin>`.
:arg bool failure-only: make a comment only on failure (default false)
:arg bool success-note: make a comment on GitLab Merge Request
@@ -5310,7 +5357,7 @@ def gitlab_message(registry, xml_parent, data):
def zulip(registry, xml_parent, data):
"""yaml: zulip
Set build status on zulip.
- Requires the Jenkins :jenkins-wiki:`Humbug Plugin <Humbug+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Humbug Plugin <humbug>`.
Example:
@@ -5325,8 +5372,8 @@ def build_publisher(registry, xml_parent, data):
This plugin allows records from one Jenkins to be published
on another Jenkins.
- Requires the Jenkins :jenkins-wiki:`Build Publisher Plugin
- <Build+Publisher+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Build Publisher Plugin
+ <build-publisher>`.
:arg bool publish-unstable-builds: publish unstable builds (default true)
:arg bool publish-failed-builds: publish failed builds (default true)
@@ -5371,18 +5418,18 @@ def build_publisher(registry, xml_parent, data):
def stash(registry, xml_parent, data):
"""yaml: stash
- This plugin will configure the Jenkins Stash Notifier plugin to
- notify Atlassian Stash after job completes.
+ This plugin will configure the Jenkins BitBucket Server Notifier plugin to
+ notify Atlassian BitBucket after job completes.
- Requires the Jenkins :jenkins-wiki:`StashNotifier Plugin
- <StashNotifier+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Bitbucket Server Notifier Plugin
+ <stashNotifier>`.
- :arg string url: Base url of Stash Server (default "")
- :arg string username: Username of Stash Server (default "")
- :arg string password: Password of Stash Server (default "")
- :arg string credentials-id: Credentials of Stash Server (optional)
+ :arg str url: Base url of Stash Server (default "")
+ :arg str username: Username of Stash Server (default "")
+ :arg str password: Password of Stash Server (default "")
+ :arg str credentials-id: Credentials of Stash Server (optional)
:arg bool ignore-ssl: Ignore unverified SSL certificate (default false)
- :arg string commit-sha1: Commit SHA1 to notify (default "")
+ :arg str commit-sha1: Commit SHA1 to notify (default "")
:arg bool include-build-number: Include build number in key
(default false)
@@ -5428,8 +5475,8 @@ def dependency_check(registry, xml_parent, data):
dependencies and checks if there are any known, publicly disclosed,
vulnerabilities.
- Requires the Jenkins :jenkins-wiki:`OWASP Dependency-Check Plugin
- <OWASP+Dependency-Check+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`OWASP Dependency-Check Plugin
+ <dependency-check-jenkins-plugin>`.
:arg str pattern: Report filename pattern (optional)
:arg bool can-run-on-failed: Also runs for failed builds, instead of just
@@ -5503,8 +5550,8 @@ def description_setter(registry, xml_parent, data):
This plugin sets the description for each build,
based upon a RegEx test of the build log file.
- Requires the Jenkins :jenkins-wiki:`Description Setter Plugin
- <Description+Setter+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Description Setter Plugin
+ <description-setter>`.
:arg str regexp: A RegEx which is used to scan the build log file
(default '')
@@ -5549,7 +5596,7 @@ def doxygen(registry, xml_parent, data):
This plugin parses the Doxygen descriptor (Doxyfile) and provides a link to
the generated Doxygen documentation.
- Requires the Jenkins :jenkins-wiki:`Doxygen Plugin <Doxygen+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Doxygen Plugin <doxygen>`.
:arg str doxyfile: The doxyfile path (required)
:arg str slave: The node or label to pull the doxygen HTML files from
@@ -5594,8 +5641,8 @@ def doxygen(registry, xml_parent, data):
def docker_stop_container(registry, xml_parent, data):
"""yaml: docker-stop-container
This plugin allows removing stopped docker containers.
- It requires the :jenkins-wiki:`Docker build step plugin
- <Docker+build+step+plugin>`.
+ It requires the :jenkins-plugins:`Docker build step plugin
+ <docker-build-step>`.
:arg bool remove-stopped-containers: Boolean value to remove
stopped docker containers (default False)
@@ -5623,7 +5670,7 @@ def sitemonitor(registry, xml_parent, data):
"""yaml: sitemonitor
This plugin checks the availability of an url.
- It requires the :jenkins-wiki:`sitemonitor plugin <SiteMonitor+Plugin>`.
+ It requires the :jenkins-plugins:`sitemonitor plugin <sitemonitor>`.
:arg list sites: List of URLs to check
@@ -5650,7 +5697,8 @@ def testng(registry, xml_parent, data):
"""yaml: testng
This plugin publishes TestNG test reports.
- Requires the Jenkins :jenkins-wiki:`TestNG Results Plugin <testng-plugin>`.
+ Requires the Jenkins :jenkins-plugins:`TestNG Results Plugin
+ <testng-plugin>`.
:arg str pattern: filename pattern to locate the TestNG XML report files
(required)
@@ -5709,8 +5757,8 @@ def artifact_deployer(registry, xml_parent, data):
"""yaml: artifact-deployer
This plugin makes it possible to copy artifacts to remote locations.
- Requires the Jenkins :jenkins-wiki:`ArtifactDeployer Plugin
- <ArtifactDeployer+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`ArtifactDeployer Plugin
+ <artifactdeployer>`.
:arg list entries:
:entries:
@@ -5778,7 +5826,7 @@ def s3(registry, xml_parent, data):
"""yaml: s3
Upload build artifacts to Amazon S3.
- Requires the Jenkins :jenkins-wiki:`S3 plugin <S3+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`S3 plugin <s3>`.
:arg str s3-profile: Globally-defined S3 profile to use
:arg bool dont-wait-for-concurrent-builds: Don't wait
@@ -5866,8 +5914,8 @@ def ruby_metrics(registry, xml_parent, data):
Rcov plugin parses rcov html report files and
shows it in Jenkins with a trend graph.
- Requires the Jenkins :jenkins-wiki:`Ruby metrics plugin
- <RubyMetrics+plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Ruby metrics plugin
+ <rubyMetrics>`.
:arg str report-dir: Relative path to the coverage report directory
:arg dict targets:
@@ -5912,7 +5960,7 @@ def fitnesse(registry, xml_parent, data):
"""yaml: fitnesse
Publish Fitnesse test results
- Requires the Jenkins :jenkins-wiki:`Fitnesse plugin <Fitnesse+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Fitnesse plugin <fitnesse>`.
:arg str results: path specifier for results files
@@ -5932,7 +5980,7 @@ def valgrind(registry, xml_parent, data):
"""yaml: valgrind
This plugin publishes Valgrind Memcheck XML results.
- Requires the Jenkins :jenkins-wiki:`Valgrind Plugin <Valgrind+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Valgrind Plugin <valgrind>`.
:arg str pattern: Filename pattern to locate the Valgrind XML report files
(required)
@@ -6001,7 +6049,7 @@ def valgrind(registry, xml_parent, data):
def pmd(registry, xml_parent, data):
"""yaml: pmd
Publish trend reports with PMD.
- Requires the Jenkins :jenkins-wiki:`PMD Plugin <PMD+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`PMD Plugin <pmd>`.
The PMD component accepts a dictionary with the following values:
@@ -6074,15 +6122,15 @@ def scan_build(registry, xml_parent, data):
The scan-build report has to be generated in the directory
``${WORKSPACE}/clangScanBuildReports`` for the publisher to find it.
- Requires the Jenkins :jenkins-wiki:`Clang Scan-Build Plugin
- <Clang+Scan-Build+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Clang Scan-Build Plugin
+ <clang-scanbuild>`.
:arg bool mark-unstable: Mark build as unstable if the number of bugs
exceeds a threshold (default false)
:arg int threshold: Threshold for marking builds as unstable (default 0)
- :arg string exclude-paths: Comma separated paths to exclude from reports
+ :arg str exclude-paths: Comma separated paths to exclude from reports
(>=1.5) (default '')
- :arg string report-folder: Folder where generated reports are located
+ :arg str report-folder: Folder where generated reports are located
(>=1.7) (default 'clangScanBuildReports')
Full Example:
@@ -6113,7 +6161,7 @@ def scan_build(registry, xml_parent, data):
def dry(registry, xml_parent, data):
"""yaml: dry
Publish trend reports with DRY.
- Requires the Jenkins :jenkins-wiki:`DRY Plugin <DRY+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`DRY Plugin <dry>`.
The DRY component accepts a dictionary with the following values:
@@ -6192,7 +6240,7 @@ def dry(registry, xml_parent, data):
def shining_panda(registry, xml_parent, data):
"""yaml: shining-panda
Publish coverage.py results. Requires the Jenkins
- :jenkins-wiki:`ShiningPanda Plugin <ShiningPanda+Plugin>`.
+ :jenkins-plugins:`ShiningPanda Plugin <shiningpanda>`.
:arg str html-reports-directory: path to coverage.py html results
(optional)
@@ -6217,14 +6265,14 @@ def downstream_ext(registry, xml_parent, data):
Trigger multiple downstream jobs when a job is completed and
condition is met.
- Requires the Jenkins :jenkins-wiki:`Downstream-Ext Plugin
- <Downstream-Ext+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Downstream-Ext Plugin
+ <downstream-ext>`.
:arg list projects: Projects to build (required)
- :arg string condition: comparison condition used for the criteria.
+ :arg str condition: comparison condition used for the criteria.
One of 'equal-or-over', 'equal-or-under', 'equal'
(default 'equal-or-over')
- :arg string criteria: Trigger downstream job if build results meets
+ :arg str criteria: Trigger downstream job if build results meets
condition. One of 'success', 'unstable', 'failure' or
'aborted' (default 'success')
:arg bool only-on-scm-change: Trigger only if downstream project
@@ -6281,8 +6329,7 @@ def rundeck(registry, xml_parent, data):
"""yaml: rundeck
Trigger a rundeck job when the build is complete.
- Requires the Jenkins :jenkins-wiki:`RunDeck
- Plugin <RunDeck+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`RunDeck Plugin <rundeck>`.
:arg str job-id: The RunDeck job identifier. (required)
This could be:
@@ -6335,7 +6382,7 @@ def create_publishers(registry, action):
def conditional_publisher(registry, xml_parent, data):
"""yaml: conditional-publisher
Conditionally execute some post-build steps. Requires the Jenkins
- :jenkins-wiki:`Flexible Publish Plugin <Flexible+Publish+Plugin>`.
+ :jenkins-plugins:`Flexible Publish Plugin <flexible-publish>`.
A Flexible Publish list of Conditional Actions is created in Jenkins.
@@ -6500,6 +6547,12 @@ def conditional_publisher(registry, xml_parent, data):
for edited_node in create_publishers(registry, action):
if not use_publisher_list:
edited_node.set("class", edited_node.tag)
+ # sort attributes alphabetically
+ attrib = edited_node.attrib
+ if len(attrib) > 1:
+ attribs = sorted(attrib.items())
+ attrib.clear()
+ attrib.update(attribs)
edited_node.tag = "publisher"
parent.append(edited_node)
@@ -6582,7 +6635,7 @@ def conditional_publisher(registry, xml_parent, data):
def scoverage(registry, xml_parent, data):
"""yaml: scoverage
Publish scoverage results as a trend graph.
- Requires the Jenkins :jenkins-wiki:`Scoverage Plugin <Scoverage+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Scoverage Plugin <scoverage>`.
:arg str report-directory: This is a directory that specifies the locations
where the xml scoverage report is generated (required)
@@ -6609,8 +6662,8 @@ def scoverage(registry, xml_parent, data):
def display_upstream_changes(registry, xml_parent, data):
"""yaml: display-upstream-changes
Display SCM changes of upstream jobs. Requires the Jenkins
- :jenkins-wiki:`Display Upstream Changes Plugin
- <Display+Upstream+Changes+Plugin>`.
+ :jenkins-plugins:`Display Upstream Changes Plugin
+ <display-upstream-changes>`.
Example:
@@ -6626,7 +6679,7 @@ def display_upstream_changes(registry, xml_parent, data):
def gatling(registry, xml_parent, data):
"""yaml: gatling
Publish gatling results as a trend graph
- Requires the Jenkins :jenkins-wiki:`Gatling Plugin <Gatling+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Gatling Plugin <gatling>`.
Example:
@@ -6642,7 +6695,7 @@ def logstash(registry, xml_parent, data):
"""yaml: logstash
Send job's console log to Logstash for processing and analyis of
your job data. Also stores test metrics from Junit.
- Requires the Jenkins :jenkins-wiki:`Logstash Plugin <Logstash+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Logstash Plugin <logstash>`.
:arg int max-lines: The maximum number of log lines to send to Logstash.
(default 1000)
@@ -6670,7 +6723,7 @@ def logstash(registry, xml_parent, data):
def image_gallery(registry, xml_parent, data):
"""yaml: image-gallery
Produce an image gallery using Javascript library. Requires the Jenkins
- :jenkins-wiki:`Image Gallery Plugin<Image+Gallery+Plugin>`.
+ :jenkins-plugins:`Image Gallery Plugin <image-gallery>`.
:arg str gallery-type:
@@ -6740,7 +6793,7 @@ def image_gallery(registry, xml_parent, data):
def naginator(registry, xml_parent, data):
"""yaml: naginator
Automatically reschedule a build after a build failure
- Requires the Jenkins :jenkins-wiki:`Naginator Plugin <Naginator+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Naginator Plugin <naginator>`.
:arg bool rerun-unstable-builds: Rerun build for unstable builds as well
as failures (default false)
@@ -6815,8 +6868,8 @@ def disable_failed_job(registry, xml_parent, data):
"""yaml: disable-failed-job
Automatically disable failed jobs.
- Requires the Jenkins :jenkins-wiki:`Disable Failed Job Plugin
- <Disable+Failed+Job+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Disable Failed Job Plugin
+ <disable-failed-job>`.
:arg str when-to-disable: The condition to disable the job. (required)
Possible values are
@@ -6858,8 +6911,8 @@ def disable_failed_job(registry, xml_parent, data):
def google_cloud_storage(registry, xml_parent, data):
"""yaml: google-cloud-storage
Upload build artifacts to Google Cloud Storage. Requires the
- Jenkins :jenkins-wiki:`Google Cloud Storage plugin
- <Google+Cloud+Storage+Plugin>`.
+ Jenkins :jenkins-plugins:`Google Cloud Storage plugin
+ <google-storage-plugin>`.
Apart from the Google Cloud Storage Plugin itself, installation of Google
OAuth Credentials and addition of required credentials to Jenkins is
@@ -7041,8 +7094,8 @@ def flowdock(registry, xml_parent, data):
"""yaml: flowdock
This plugin publishes job build results to a Flowdock flow.
- Requires the Jenkins :jenkins-wiki:`Flowdock Plugin
- <Flowdock+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Flowdock Plugin
+ <jenkins-flowdock-plugin>`.
:arg str token: API token for the targeted flow.
(required)
@@ -7110,7 +7163,7 @@ def flowdock(registry, xml_parent, data):
def clamav(registry, xml_parent, data):
"""yaml: clamav
Check files with ClamAV, an open source antivirus engine.
- Requires the Jenkins :jenkins-wiki:`ClamAV Plugin <ClamAV+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`ClamAV Plugin <clamav>`.
:arg str includes: Comma separated list of files that should be scanned.
Must be set for ClamAV to check for artifacts. (default '')
@@ -7138,8 +7191,8 @@ def testselector(registry, xml_parent, data):
"""yaml: testselector
This plugin allows you to choose specific tests you want to run.
- Requires the Jenkins :jenkins-wiki:`Tests Selector Plugin
- <Tests+Selector+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Tests Selector Plugin
+ <selected-tests-executor>`.
:arg str name: Environment variable in which selected tests are saved
(required)
@@ -7184,8 +7237,8 @@ def testselector(registry, xml_parent, data):
def cloudformation(registry, xml_parent, data):
"""yaml: cloudformation
Create cloudformation stacks before running a build and optionally
- delete them at the end. Requires the Jenkins :jenkins-wiki:`AWS
- Cloudformation Plugin <AWS+Cloudformation+Plugin>`.
+ delete them at the end. Requires the Jenkins :jenkins-plugins:`AWS
+ Cloudformation Plugin <jenkins-cloudformation-plugin>`.
:arg list create-stacks: List of stacks to create
@@ -7263,8 +7316,8 @@ def whitesource(registry, xml_parent, data):
"""yaml: whitesource
This plugin brings automatic open source management to Jenkins users.
- Requires the Jenkins :jenkins-wiki:`Whitesource Plugin
- <Whitesource+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Whitesource Plugin
+ <whitesource>`.
:arg str product-token: Product name or token to update (default '')
:arg str version: Product version (default '')
@@ -7314,8 +7367,8 @@ def whitesource(registry, xml_parent, data):
def hipchat(registry, xml_parent, data):
"""yaml: hipchat
Publisher that sends hipchat notifications on job events
- Requires the Jenkins :jenkins-wiki:`Hipchat Plugin
- <Hipchat+Plugin>` version >=1.9
+ Requires the Jenkins :jenkins-plugins:`Hipchat Plugin
+ <hipchat>` version >=1.9
Please see documentation for older plugin version
https://jenkins-job-builder.readthedocs.io/en/latest/hipchat.html
@@ -7372,7 +7425,7 @@ def slack(registry, xml_parent, data):
"""yaml: slack
Publisher that sends slack notifications on job events.
- Requires the Jenkins :jenkins-wiki:`Slack Plugin <Slack+Plugin>`
+ Requires the Jenkins :jenkins-plugins:`Slack Plugin <slack>`
When using Slack Plugin version < 2.0, Slack Plugin itself requires a
publisher as well as properties please note that you have to create those
@@ -7404,7 +7457,7 @@ def slack(registry, xml_parent, data):
(>=2.0). (default false)
:arg bool notify-failure: Send notification when job fails for the first
time (previous build was a success) (>=2.0). (default false)
- :arg bool notify-every-failure: Send notification everytime a job fails
+ :arg bool notify-every-failure: Send notification every time a job fails
(>=2.23). (default false)
:arg bool notify-back-to-normal: Send notification when job is succeeding
again after being unstable or failed (>=2.0). (default false)
@@ -7537,10 +7590,10 @@ def slack(registry, xml_parent, data):
def phabricator(registry, xml_parent, data):
"""yaml: phabricator
- Integrate with `Phabricator <http://phabricator.org/>`_
+ Integrate with `Phabricator <https://www.phacility.com/>`_
- Requires the Jenkins :jenkins-wiki:`Phabricator Plugin
- <Phabricator+Differential+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Phabricator Plugin
+ <phabricator-plugin>`.
:arg bool comment-on-success: Post a *comment* when the build
succeeds. (optional)
@@ -7590,8 +7643,8 @@ def jms_messaging(registry, xml_parent, data):
- ActiveMQ
- FedMsg
- Requires the Jenkins :jenkins-wiki:`JMS Messaging Plugin
- Pipeline Plugin <JMS+Messaging+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`JMS Messaging Plugin
+ Pipeline Plugin <jms-messaging>`.
:arg str override-topic: If you need to override the default topic.
(default '')
@@ -7628,8 +7681,9 @@ def openshift_build_canceller(registry, xml_parent, data):
for the provided build config; any builds under that build config which
are not previously terminated (either successfully or unsuccessfully)
or cancelled will be cancelled.
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -7676,8 +7730,9 @@ def openshift_deploy_canceller(registry, xml_parent, data):
This action is intended to provide cleanup for any OpenShift deployments
left running when the Job completes; this step will allow you to perform
the equivalent of a oc deploy --cancel for the provided deployment config.
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str api-url: this would be the value you specify if you leverage the
--server option on the OpenShift `oc` command.
@@ -7723,8 +7778,9 @@ def github_pull_request_merge(registry, xml_parent, data):
"""yaml: github-pull-request-merge
This action merges the pull request that triggered the build (see the
github pull request trigger)
- Requires the Jenkins :jenkins-wiki:`GitHub pull request builder plugin
- <GitHub+pull+request+builder+plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`GitHub pull request builder plugin
+ <ghprb>`.
:arg bool only-admins-merge: if `true` only administrators can merge the
@@ -7770,8 +7826,8 @@ def chuck_norris(registry, xml_parent, data):
"""yaml: chuck-norris
Displays a picture of Chuck Norris (instead of Jenkins the butler) and a
random Chuck Norris 'The Programmer' fact on each build page.
- Requires the Jenkins :jenkins-wiki:`ChuckNorris Plugin
- <ChuckNorris+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`ChuckNorris Plugin <chucknorris>`.
Example:
@@ -7788,8 +7844,8 @@ def chuck_norris(registry, xml_parent, data):
def publishers_from(registry, xml_parent, data):
"""yaml: publishers-from
Use publishers from another project.
- Requires the Jenkins :jenkins-wiki:`Template Project Plugin
- <Template+Project+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Template Project Plugin
+ <template-project>`.
:arg str project-name: The name of the other project.
@@ -7807,8 +7863,8 @@ def tasks(registry, xml_parent, data):
"""yaml: tasks
Scans the workspace files for open tasks and generates a trend report.
- Requires the Jenkins
- :jenkins-wiki:`Task Scanner Plugin <Task+Scanner+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Task Scanner Plugin <tasks>`.
:arg list files-to-scan: Fileset includes setting that specifies the
workspace files to scan for tasks, such as ``**/*.java``. Basedir of
@@ -8012,7 +8068,7 @@ def tasks(registry, xml_parent, data):
def packer(registry, xml_parent, data):
"""yaml: packer
This plugin allows for a job to publish an image generated Packer
- Requires the Jenkins :jenkins-wiki:`Packer Plugin <Packer+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Packer Plugin <packer>`.
:arg str name: Name of the packer installation (required)
:arg str json-template: Path to a Packer JSON template file (default '')
diff --git a/jenkins_jobs/modules/reporters.py b/jenkins_jobs/modules/reporters.py
index 5fd5641e..153fa047 100644
--- a/jenkins_jobs/modules/reporters.py
+++ b/jenkins_jobs/modules/reporters.py
@@ -76,8 +76,7 @@ def findbugs(registry, xml_parent, data):
"""yaml: findbugs
FindBugs reporting for builds
- Requires the Jenkins :jenkins-wiki:`FindBugs Plugin
- <FindBugs+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`FindBugs Plugin <findbugs>`.
:arg bool rank-priority: Use rank as priority (default false)
:arg str include-files: Comma separated list of files to include.
diff --git a/jenkins_jobs/modules/scm.py b/jenkins_jobs/modules/scm.py
index 6e7e6291..c594ff20 100644
--- a/jenkins_jobs/modules/scm.py
+++ b/jenkins_jobs/modules/scm.py
@@ -27,7 +27,7 @@ default with no SCM.
The scm module allows referencing multiple repositories in a Jenkins job.
Note: Adding more than one scm definition requires the Jenkins
-:jenkins-wiki:`Multiple SCMs plugin <Multiple+SCMs+Plugin>`.
+:jenkins-plugins:`Multiple SCMs plugin <multiple-scms>`.
Example of multiple repositories in a single job:
.. literalinclude:: /../../tests/macros/fixtures/scm/multi-scms001.yaml
@@ -47,8 +47,9 @@ import jenkins_jobs.modules.helpers as helpers
def p4(registry, xml_parent, data):
r"""yaml: p4
- Specifies the Perforce (P4) repository for this job
- Requires the Jenkins :jenkins-wiki:`P4 Plugin <P4+Plugin>`.
+ Specifies the Perforce (P4) repository for this job.
+
+ Requires the Jenkins :jenkins-plugins:`P4 Plugin <p4>`.
"""
scm = XML.SubElement(
xml_parent,
@@ -171,7 +172,8 @@ def p4_construct_populate(xml_parent, data):
def git(registry, xml_parent, data):
r"""yaml: git
Specifies the git SCM repository for this job.
- Requires the Jenkins :jenkins-wiki:`Git Plugin <Git+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Git Plugin <git>`.
:arg str url: URL of the git repository
:arg str credentials-id: ID of credential to use to connect, which is the
@@ -225,17 +227,17 @@ def git(registry, xml_parent, data):
* **fisheye** - https://www.atlassian.com/software/fisheye
* **gitblit** - http://gitblit.com/
* **githubweb** - https://github.com/
- * **gitiles** - https://code.google.com/p/gitiles/
+ * **gitiles** - https://code.google.com/archive/p/gitiles/
* **gitlab** - https://about.gitlab.com/
* **gitlist** - http://gitlist.org/
* **gitoriousweb** - https://gitorious.org/
* **gitweb** - https://git-scm.com/docs/gitweb
- * **kiln** - https://www.fogcreek.com/kiln/
+ * **kiln** - https://www.fogbugz.com/version-control
* **microsoft\-tfs\-2013** - |tfs_2013|
- * **phabricator** - http://phabricator.org/
- * **redmineweb** - http://www.redmine.org/
+ * **phabricator** - https://www.phacility.com/
+ * **redmineweb** - https://www.redmine.org/
* **rhodecode** - https://rhodecode.com/
- * **stash** - https://www.atlassian.com/software/bitbucket/server
+ * **stash** - https://www.atlassian.com/software/bitbucket/enterprise/data-center
* **viewgit** - http://viewgit.fealdia.org/
:arg str browser-url: url for the repository browser (required if browser
is not 'auto', no default)
@@ -326,7 +328,7 @@ def git(registry, xml_parent, data):
.. literalinclude:: /../../tests/scm/fixtures/git001.yaml
.. |tfs_2013| replace::
- https://www.visualstudio.com/en-us/products/tfs-overview-vs.aspx
+ https://azure.microsoft.com/en-us/services/devops/server
"""
logger = logging.getLogger("%s:git" % __name__)
@@ -704,7 +706,8 @@ def git_extensions(xml_parent, data):
def cvs(registry, xml_parent, data):
"""yaml: cvs
Specifies the CVS SCM repository for this job.
- Requires the Jenkins :jenkins-wiki:`CVS Plugin <CVS+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`CVS Plugin <cvs>`.
:arg list repos: List of CVS repositories. (required)
@@ -835,7 +838,8 @@ def cvs(registry, xml_parent, data):
def repo(registry, xml_parent, data):
"""yaml: repo
Specifies the repo SCM repository for this job.
- Requires the Jenkins :jenkins-wiki:`Repo Plugin <Repo+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Repo Plugin <repo>`.
:arg str manifest-url: URL of the repo manifest (required)
:arg str manifest-branch: The branch of the manifest to use (optional)
@@ -916,8 +920,9 @@ def repo(registry, xml_parent, data):
def store(registry, xml_parent, data):
"""yaml: store
Specifies the Visualworks Smalltalk Store repository for this job.
- Requires the Jenkins :jenkins-wiki:`Visualworks Smalltalk Store Plugin
- <Visualworks+Smalltalk+Store+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Visualworks Smalltalk Store Plugin
+ <visualworks-store>`.
:arg str script: name of the Store script to run
:arg str repository: name of the Store repository
@@ -1121,8 +1126,9 @@ def svn(registry, xml_parent, data):
def tfs(registry, xml_parent, data):
r"""yaml: tfs
Specifies the Team Foundation Server repository for this job.
- Requires the Jenkins :jenkins-wiki:`Team Foundation Server Plugin
- <Team+Foundation+Server+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Team Foundation Server Plugin
+ <tfs>`.
**NOTE**: TFS Password must be entered manually on the project if a
user name is specified. The password will be overwritten with an empty
@@ -1225,8 +1231,9 @@ def tfs(registry, xml_parent, data):
def workspace(registry, xml_parent, data):
"""yaml: workspace
Specifies the cloned workspace for this job to use as a SCM source.
- Requires the Jenkins :jenkins-wiki:`Clone Workspace SCM Plugin
- <Clone+Workspace+SCM+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Clone Workspace SCM Plugin
+ <clone-workspace-scm>`.
The job the workspace is cloned from must be configured with an
clone-workspace publisher
@@ -1262,7 +1269,8 @@ def workspace(registry, xml_parent, data):
def hg(self, xml_parent, data):
"""yaml: hg
Specifies the mercurial SCM repository for this job.
- Requires the Jenkins :jenkins-wiki:`Mercurial Plugin <Mercurial+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Mercurial Plugin <mercurial>`.
:arg str url: URL of the hg repository (required)
:arg str credentials-id: ID of credentials to use to connect (optional)
@@ -1285,8 +1293,8 @@ def hg(self, xml_parent, data):
* **bitbucketweb** - https://bitbucket.org/
* **fisheye** - https://www.atlassian.com/software/fisheye
* **googlecode** - https://code.google.com/
- * **hgweb** - https://www.selenic.com/hg/help/hgweb
- * **kilnhg** - https://www.fogcreek.com/kiln/
+ * **hgweb** - https://www.mercurial-scm.org/repo/hg/help/hgweb
+ * **kilnhg** - https://www.fogbugz.com/version-control
* **rhodecode** - https://rhodecode.com/ (versions >= 1.2)
* **rhodecode-pre-1.2.0** - https://rhodecode.com/ (versions < 1.2)
@@ -1354,8 +1362,9 @@ def openshift_img_streams(registry, xml_parent, data):
OpenShift ImageStreams (which are abstractions of Docker repositories)
and SCMs - versions / commit IDs of related artifacts
(images vs. programmatics files)
- Requires the Jenkins :jenkins-wiki:`OpenShift
- Pipeline Plugin <OpenShift+Pipeline+Plugin>`._
+
+ Requires the Jenkins :jenkins-plugins:`OpenShift Pipeline Plugin
+ <openshift-pipeline>`.
:arg str image-stream-name: The name of the ImageStream is what shows up
in the NAME column if you dump all the ImageStream's with the
@@ -1405,7 +1414,8 @@ def openshift_img_streams(registry, xml_parent, data):
def bzr(registry, xml_parent, data):
"""yaml: bzr
Specifies the bzr SCM repository for this job.
- Requires the Jenkins :jenkins-wiki:`Bazaar Plugin <Bazaar+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Bazaar Plugin <bazaar>`.
:arg str url: URL of the bzr branch (required)
:arg bool clean-tree: Clean up the workspace (using bzr) before pulling
@@ -1470,7 +1480,8 @@ def url(registry, xml_parent, data):
"""yaml: url
Watch for changes in, and download an artifact from a particular url.
- Requires the Jenkins :jenkins-wiki:`URL SCM <URL+SCM>`.
+
+ Requires the Jenkins :jenkins-plugins:`URL SCM <URLSCM>`.
:arg list url-list: List of URLs to watch. (required)
:arg bool clear-workspace: If set to true, clear the workspace before
@@ -1498,7 +1509,8 @@ def dimensions(registry, xml_parent, data):
"""yaml: dimensions
Specifies the Dimensions SCM repository for this job.
- Requires Jenkins :jenkins-wiki:`Dimensions Plugin <Dimensions+Plugin>`.
+
+ Requires Jenkins :jenkins-plugins:`Dimensions Plugin <dimensionsscm>`.
:arg str project: Project name of format PRODUCT_ID:PROJECT_NAME (required)
:arg str permissions: Default Permissions for updated files
@@ -1600,7 +1612,8 @@ def dimensions(registry, xml_parent, data):
def accurev(registry, xml_parent, data):
"""yaml: accurev
Specifies the AccuRev SCM repository for this job.
- Requires the Jenkins :jenkins-wiki:`AccuRev Plugin <AccuRev+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`AccuRev Plugin <accurev>`.
:arg str depot: Depot you want to use for the current job (optional)
:arg str stream: Stream where the build will be generated from (optional)
diff --git a/jenkins_jobs/modules/triggers.py b/jenkins_jobs/modules/triggers.py
index c8b6b715..90f9e2ee 100644
--- a/jenkins_jobs/modules/triggers.py
+++ b/jenkins_jobs/modules/triggers.py
@@ -244,8 +244,9 @@ def gerrit(registry, xml_parent, data):
"""yaml: gerrit
Trigger on a Gerrit event.
- Requires the Jenkins :jenkins-wiki:`Gerrit Trigger Plugin <Gerrit+Trigger>`
- version >= 2.6.0.
+
+ Requires the Jenkins :jenkins-plugins:`Gerrit Trigger Plugin
+ <gerrit-trigger>` version >= 2.6.0.
:arg list trigger-on: Events to react on. Please use either the new
**trigger-on**, or the old **trigger-on-*** events definitions. You
@@ -296,8 +297,8 @@ def gerrit(registry, xml_parent, data):
* **approval-category** (`str`) -- Approval (verdict) category
(for example 'APRV', 'CRVW', 'VRIF' -- see `Gerrit access
control
- <http://gerrit.googlecode.com/svn/documentation/2.1/
- access-control.html#categories>`_
+ <https://gerrit-review.googlesource.com/Documentation/
+ access-control.html#access_categories>`_
* **approval-value** -- Approval value for the comment added.
* **comment-added-contains-event** (`dict`) -- Trigger on comment
@@ -693,8 +694,8 @@ def dockerhub_notification(registry, xml_parent, data):
The job will get triggered when Docker Hub/Registry notifies
that Docker image(s) used in this job has been rebuilt.
- Requires the Jenkins :jenkins-wiki:`CloudBees Docker Hub Notification
- <CloudBees+Docker+Hub+Notification>`.
+ Requires the Jenkins :jenkins-plugins:`CloudBees Docker Hub Notification
+ <dockerhub-notification>`.
:arg bool referenced-image: Trigger the job based on repositories
used by any compatible docker plugin in this job. (default true)
@@ -751,7 +752,7 @@ def pollscm(registry, xml_parent, data):
.. _cron:
- :arg string cron: the polling interval (cron syntax, required)
+ :arg str cron: the polling interval (cron syntax, required)
:arg bool ignore-post-commit-hooks: Ignore changes notified by SCM
post-commit hooks. The subversion-plugin supports this since
version 1.44. (default false)
@@ -812,10 +813,10 @@ def build_content_type(
def pollurl(registry, xml_parent, data):
"""yaml: pollurl
Trigger when the HTTP response from a URL changes.
- Requires the Jenkins :jenkins-wiki:`URLTrigger Plugin <URLTrigger+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`URLTrigger Plugin <urltrigger>`.
- :arg string cron: cron syntax of when to run (default '')
- :arg string polling-node: Restrict where the polling should run.
+ :arg str cron: cron syntax of when to run (default '')
+ :arg str polling-node: Restrict where the polling should run.
(optional)
:arg list urls: List of URLs to monitor
@@ -823,9 +824,9 @@ def pollurl(registry, xml_parent, data):
* **proxy** (`bool`) -- Activate the Jenkins proxy (default false)
* **timeout** (`int`) -- Connect/read timeout in seconds
(default 300)
- * **username** (`string`) -- User name for basic authentication
+ * **username** (`str`) -- User name for basic authentication
(optional)
- * **password** (`string`) -- Password for basic authentication
+ * **password** (`str`) -- Password for basic authentication
(optional)
* **check-status** (`int`) -- Check for a specific HTTP status
code (optional)
@@ -930,8 +931,8 @@ def jms_messaging(registry, xml_parent, data):
- ActiveMQ
- FedMsg
- Requires the Jenkins :jenkins-wiki:`JMS Messaging Plugin
- <JMS+Messaging+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`JMS Messaging Plugin
+ <jms-messaging>`.
:arg bool no-squash: true = schedule a new job for every triggering message.
(default false)
@@ -1009,8 +1010,9 @@ def timed(registry, xml_parent, data):
def bitbucket(registry, xml_parent, data):
"""yaml: bitbucket
Trigger a job when bitbucket repository is pushed to.
- Requires the Jenkins :jenkins-wiki:`BitBucket Plugin
- <BitBucket+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`BitBucket Plugin
+ <bitbucket>`.
Example:
@@ -1025,7 +1027,8 @@ def bitbucket(registry, xml_parent, data):
def github(registry, xml_parent, data):
"""yaml: github
Trigger a job when github repository is pushed to.
- Requires the Jenkins :jenkins-wiki:`GitHub Plugin <GitHub+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`GitHub Plugin <github>`.
Example::
@@ -1039,24 +1042,25 @@ def github(registry, xml_parent, data):
def github_pull_request(registry, xml_parent, data):
"""yaml: github-pull-request
Build pull requests in github and report results.
- Requires the Jenkins :jenkins-wiki:`GitHub Pull Request Builder Plugin
- <GitHub+pull+request+builder+plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`GitHub Pull Request Builder Plugin
+ <ghprb>`.
:arg list admin-list: the users with admin rights (optional)
:arg list white-list: users whose pull requests build (optional)
:arg list org-list: orgs whose users should be white listed (optional)
:arg bool allow-whitelist-orgs-as-admins: members of white listed orgs
will have admin rights. (default false)
- :arg string cron: cron syntax of when to run (optional)
- :arg string trigger-phrase: when filled, commenting this phrase
+ :arg str cron: cron syntax of when to run (optional)
+ :arg str trigger-phrase: when filled, commenting this phrase
in the pull request will trigger a build (optional)
:arg bool only-trigger-phrase: only commenting the trigger phrase
in the pull request will trigger a build (default false)
- :arg string skip-build-phrase: when filled, adding this phrase to
+ :arg str skip-build-phrase: when filled, adding this phrase to
the pull request title or body will not trigger a build (optional)
- :arg string black-list-labels: list of GitHub labels for which the build
+ :arg str black-list-labels: list of GitHub labels for which the build
should not be triggered (optional)
- :arg string white-list-labels: list of GitHub labels for which the build
+ :arg str white-list-labels: list of GitHub labels for which the build
should only be triggered. (Leave blank for 'any') (optional)
:arg bool github-hooks: use github hook (default false)
:arg bool permit-all: build every pull request automatically
@@ -1071,29 +1075,29 @@ def github_pull_request(registry, xml_parent, data):
allows you to selectively prevent pull requests builds destined for
these branches. Supports regular expressions (e.g. 'master',
'feature-.*'). (optional)
- :arg string auth-id: the auth id to use (optional)
- :arg string build-desc-template: the template for build descriptions in
+ :arg str auth-id: the auth id to use (optional)
+ :arg str build-desc-template: the template for build descriptions in
jenkins (optional)
- :arg string status-context: the context to include on PR status comments
+ :arg str status-context: the context to include on PR status comments
(optional)
- :arg string triggered-status: the status message to set when the build has
+ :arg str triggered-status: the status message to set when the build has
been triggered (optional)
- :arg string started-status: the status comment to set when the build has
+ :arg str started-status: the status comment to set when the build has
been started (optional)
- :arg string status-url: the status URL to set (optional)
+ :arg str status-url: the status URL to set (optional)
:arg bool status-add-test-results: add test result one-liner to status
message (optional)
- :arg string success-status: the status message to set if the job succeeds
+ :arg str success-status: the status message to set if the job succeeds
(optional)
- :arg string failure-status: the status message to set if the job fails
+ :arg str failure-status: the status message to set if the job fails
(optional)
- :arg string error-status: the status message to set if the job errors
+ :arg str error-status: the status message to set if the job errors
(optional)
- :arg string success-comment: comment to add to the PR on a successful job
+ :arg str success-comment: comment to add to the PR on a successful job
(optional)
- :arg string failure-comment: comment to add to the PR on a failed job
+ :arg str failure-comment: comment to add to the PR on a failed job
(optional)
- :arg string error-comment: comment to add to the PR on an errored job
+ :arg str error-comment: comment to add to the PR on an errored job
(optional)
:arg bool cancel-builds-on-update: cancel existing builds when a PR is
updated (optional)
@@ -1290,30 +1294,31 @@ def github_pull_request(registry, xml_parent, data):
def gitlab_merge_request(registry, xml_parent, data):
"""yaml: gitlab-merge-request
Build merge requests in gitlab and report results.
- Requires the Jenkins :jenkins-wiki:`Gitlab MergeRequest Builder Plugin
- <Gitlab+Merge+Request+Builder+Plugin>`.
- :arg string cron: Cron syntax of when to run (required)
- :arg string project-path: Gitlab-relative path to project (required)
- :arg string target-branch-regex: Allow execution of this job for certain
+ Requires the Jenkins :jenkins-plugins:`Gitlab MergeRequest Builder Plugin
+ <ghprb>`.
+
+ :arg str cron: Cron syntax of when to run (required)
+ :arg str project-path: Gitlab-relative path to project (required)
+ :arg str target-branch-regex: Allow execution of this job for certain
branches only (default ''). Requires Gitlab MergeRequest Builder
Plugin >= 2.0.0
- :arg string use-http-url: Use the HTTP(S) URL to fetch/clone repository
+ :arg str use-http-url: Use the HTTP(S) URL to fetch/clone repository
(default false)
- :arg string assignee-filter: Only MRs with this assigned user will
+ :arg str assignee-filter: Only MRs with this assigned user will
trigger the build automatically (default 'jenkins')
- :arg string tag-filter: Only MRs with this label will trigger the build
+ :arg str tag-filter: Only MRs with this label will trigger the build
automatically (default 'Build')
- :arg string trigger-comment: Force build if this comment is the last
+ :arg str trigger-comment: Force build if this comment is the last
in merge reguest (default '')
- :arg string publish-build-progress-messages: Publish build progress
+ :arg str publish-build-progress-messages: Publish build progress
messages (except build failed) (default true)
.. deprecated:: 2.0.0
- :arg string auto-close-failed: On failure, auto close the request
+ :arg str auto-close-failed: On failure, auto close the request
(default false)
- :arg string auto-merge-passed: On success, auto merge the request
+ :arg str auto-merge-passed: On success, auto merge the request
(default false)
Example (version < 2.0.0):
@@ -1375,8 +1380,8 @@ def gitlab_merge_request(registry, xml_parent, data):
def gitlab(registry, xml_parent, data):
"""yaml: gitlab
Makes Jenkins act like a GitLab CI server.
- Requires the Jenkins :jenkins-wiki:`GitLab Plugin
- <GitLab+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`GitLab Plugin <gitlab-plugin>`.
:arg bool trigger-push: Build on Push Events (default true)
:arg bool trigger-merge-request: Build on Merge Request Events (default
@@ -1540,8 +1545,9 @@ def build_result(registry, xml_parent, data):
"""yaml: build-result
Configure jobB to monitor jobA build result. A build is scheduled if there
is a new build result that matches your criteria (unstable, failure, ...).
- Requires the Jenkins :jenkins-wiki:`BuildResultTrigger Plugin
- <BuildResultTrigger+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`BuildResultTrigger Plugin
+ <buildresult-trigger>`.
:arg list groups: List groups of jobs and results to monitor for
:arg list jobs: The jobs to monitor (required)
@@ -1658,8 +1664,9 @@ def reverse(registry, xml_parent, data):
def monitor_folders(registry, xml_parent, data):
"""yaml: monitor-folders
Configure Jenkins to monitor folders.
- Requires the Jenkins :jenkins-wiki:`Filesystem Trigger Plugin
- <FSTrigger+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Filesystem Trigger Plugin
+ <fstrigger>`.
:arg str path: Folder path to poll. (default '')
:arg list includes: Fileset includes setting that specifies the list of
@@ -1711,8 +1718,8 @@ def monitor_folders(registry, xml_parent, data):
def monitor_files(registry, xml_parent, data):
"""yaml: monitor-files
Configure Jenkins to monitor files.
- Requires the Jenkins :jenkins-wiki:`Filesystem Trigger Plugin
- <FSTrigger+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Filesystem Trigger Plugin
+ <fstrigger>`.
:arg list files: List of files to monitor
@@ -1866,9 +1873,10 @@ def monitor_files(registry, xml_parent, data):
def ivy(registry, xml_parent, data):
"""yaml: ivy
- Poll with an Ivy script
- Requires the Jenkins :jenkins-wiki:`IvyTrigger Plugin
- <IvyTrigger+Plugin>`.
+ Poll with an Ivy script.
+
+ Requires the Jenkins :jenkins-plugins:`IvyTrigger Plugin
+ <ivytrigger>`.
:arg str path: Path of the ivy file. (optional)
:arg str settings-path: Ivy Settings Path. (optional)
@@ -1911,6 +1919,7 @@ def ivy(registry, xml_parent, data):
def script(registry, xml_parent, data):
"""yaml: script
Triggers the job using shell or batch script.
+
Requires the Jenkins :jenkins-wiki:`ScriptTrigger Plugin
<ScriptTrigger+Plugin>`.
@@ -1951,6 +1960,7 @@ def script(registry, xml_parent, data):
def groovy_script(registry, xml_parent, data):
"""yaml: groovy-script
Triggers the job using a groovy script.
+
Requires the Jenkins :jenkins-wiki:`ScriptTrigger Plugin
<ScriptTrigger+Plugin>`.
@@ -2000,8 +2010,9 @@ def groovy_script(registry, xml_parent, data):
def rabbitmq(registry, xml_parent, data):
"""yaml: rabbitmq
This plugin triggers build using remote build message in RabbitMQ queue.
- Requires the Jenkins :jenkins-wiki:`RabbitMQ Build Trigger Plugin
- <RabbitMQ+Build+Trigger+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`RabbitMQ Build Trigger Plugin
+ <rabbitmq-build-trigger>`.
:arg str token: the build token expected in the message queue (required)
:arg list filters: list of filters to apply (optional)
@@ -2039,8 +2050,8 @@ def rabbitmq(registry, xml_parent, data):
def parameterized_timer(parser, xml_parent, data):
"""yaml: parameterized-timer
Trigger builds with parameters at certain times.
- Requires the Jenkins :jenkins-wiki:`Parameterized Scheduler Plugin
- <Parameterized+Scheduler+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Parameterized Scheduler Plugin
+ <parameterized-scheduler>`.
:arg str cron: cron syntax of when to run and with which parameters
(required)
@@ -2062,9 +2073,10 @@ def parameterized_timer(parser, xml_parent, data):
def jira_changelog(registry, xml_parent, data):
"""yaml: jira-changelog
- Sets up a trigger that listens to JIRA issue changes
- Requires the Jenkins :jenkins-wiki:`JIRA Trigger Plugin
- <JIRA+Trigger+Plugin>`.
+ Sets up a trigger that listens to JIRA issue changes.
+
+ Requires the Jenkins :jenkins-plugins:`JIRA Trigger Plugin
+ <jira-trigger>`.
:arg str jql-filter: Must match updated issues to trigger a build.
(default '')
@@ -2175,8 +2187,9 @@ def jira_changelog(registry, xml_parent, data):
def jira_comment_trigger(registry, xml_parent, data):
"""yaml: jira-comment-trigger
Trigger builds when a comment is added to JIRA.
- Requires the Jenkins :jenkins-wiki:`JIRA Trigger Plugin
- <JIRA+Trigger+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`JIRA Trigger Plugin
+ <jira-trigger>`.
:arg str jql-filter: Must match updated issues to trigger a build.
(default '')
@@ -2231,8 +2244,9 @@ def jira_comment_trigger(registry, xml_parent, data):
def stash_pull_request(registry, xml_parent, data):
"""yaml: stash-pull-request
Trigger builds via Stash/Bitbucket Server Pull Requests.
- Requires the Jenkins :jenkins-wiki:`Stash Pull Request Builder Plugin
- <Stash+pullrequest+builder+plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Stash Pull Request Builder Plugin
+ <stash-pullrequest-builder>`.
:arg str cron: cron syntax of when to run (required)
:arg str stash-host: The HTTP or HTTPS URL of the Stash host (NOT ssh).
@@ -2305,43 +2319,44 @@ def stash_pull_request(registry, xml_parent, data):
def generic_webhook_trigger(registry, xml_parent, data):
"""yaml: generic-webhook-trigger
Generic webhook trigger. Trigger when a set of parameters are submitted.
- Requires the Jenkins
- :jenkins-wiki:`Generic Webhook Trigger <Generic+Webhook+Trigger+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Generic Webhook Trigger
+ <generic-webhook-trigger>`.
- :arg string token: A token to use to trigger the job. (default '')
+ :arg str token: A token to use to trigger the job. (default '')
:arg bool print-post-content: Print post content in job log.
:arg bool print-contrib-var: Print contributed variables in job log.
:arg bool silent-response: Avoid responding with information about
triggered jobs.
- :arg string cause: This will be displayed in any triggered job.
- :arg string regex-filter-expression: Regular expression to test on the
+ :arg str cause: This will be displayed in any triggered job.
+ :arg str regex-filter-expression: Regular expression to test on the
evaluated text specified in regex-filter-text
- :arg string regex-filter-text: Text to test for the given
+ :arg str regex-filter-text: Text to test for the given
regexp-filter-expression.
:arg list post-content-params: Parameters to use from posted JSON/XML
- :post-content-params: * **type** (`string`) -- JSONPath or XPath
- * **key** (`string`) -- Variable name
- * **value** (`string`) -- Expression to evaluate in POST content.
+ :post-content-params: * **type** (`str`) -- JSONPath or XPath
+ * **key** (`str`) -- Variable name
+ * **value** (`str`) -- Expression to evaluate in POST content.
Use JSONPath for JSON or XPath for XML.
- * **regex-filter** (`string`) -- Anything in the evaluated value,
+ * **regex-filter** (`str`) -- Anything in the evaluated value,
matching this regular expression, will be removed. (optional)
- * **default-value** (`string`) -- This value will be used if
+ * **default-value** (`str`) -- This value will be used if
expression does not match anything. (optional)
:arg list request-params: Parameters to use passed in as request arguments
- :request-params: * **key** (`string`) -- Name of request parameter
- * **regex-filter** (`string`) -- Anything in the evaluated value,
+ :request-params: * **key** (`str`) -- Name of request parameter
+ * **regex-filter** (`str`) -- Anything in the evaluated value,
matching this regular expression, will be removed. (optional)
:arg list header-params: Parameters to use passed in as headers
- :header-params: * **key** (`string`) -- Name of request header in
+ :header-params: * **key** (`str`) -- Name of request header in
lowercase. Resulting variable name has '_' instead of '-'
characters.
- * **regex-filter** (`string`) -- Anything in the evaluated value,
+ * **regex-filter** (`str`) -- Anything in the evaluated value,
matching this regular expression, will be removed. (optional)
Example:
diff --git a/jenkins_jobs/modules/view_delivery_pipeline.py b/jenkins_jobs/modules/view_delivery_pipeline.py
new file mode 100644
index 00000000..fbabe598
--- /dev/null
+++ b/jenkins_jobs/modules/view_delivery_pipeline.py
@@ -0,0 +1,217 @@
+# Copyright 2020 Openstack Foundation
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+"""
+The view delivery pipeline module handles creation of Delivery Pipeline views.
+To create a delivery pipeline view specify ``delivery_pipeline`` in the
+``view-type`` attribute to the :ref:`view_delivery_pipeline` definition.
+Requires the Jenkins :jenkins-plugins:`Delivery Pipeline Plugin
+<delivery-pipeline-plugin>`.
+
+:View Parameters:
+ * **name** (`str`): The name of the view.
+ * **view-type** (`str`): The type of view.
+ * **description** (`str`): A description of the view. (optional)
+ * **filter-executors** (`bool`): Show only executors that can
+ execute the included views. (default false)
+ * **filter-queue** (`bool`): Show only included jobs in builder
+ queue. (default false)
+ * **components** (`list`):
+ * **name** (`str`): Name of the pipeline, usually the name of the
+ component or product.
+ * **initial-job** (`str`): First job in the pipeline.
+ * **final-job** (`str`): Final job to display in the pipeline view
+ regardless of its downstream jobs. (default '')
+ * **show-upstream** (`bool`): Whether to show upstream. (default false)
+ * **regexps** (`list`):
+ * **regexp** (`str`): Regular expression to find initial jobs.
+ * **show-upstream** (`bool`): Whether to show upstream. (default false)
+ * **aggregated-changes-grouping-pattern** (`str`): Group changelog by regex
+ pattern. (default '')
+ * **allow-abort** (`bool`): Allow cancelling a running job from the
+ delivery pipeline view. (default false)
+ * **allow-manual-triggers** (`bool`): Displays a button in the pipeline
+ view if a task is manual (Build other projects (manual step)) from Build
+ Pipeline Plugin. (default false)
+ * **allow-pipeline-start** (`bool`): Allow starting a new pipeline run from
+ the delivery pipeline view. (default false)
+ * **allow-rebuild** (`bool`): Allow rerunning a task from the delivery
+ pipeline view. (default false)
+ * **link-relative** (`bool`): Use relative links for jobs in this pipeline
+ view to allow for easier navigation. (default false)
+ * **link-to-console-log** (`bool`): Changes behaviour of task link in
+ delivery pipeline view to go directly to the console log. (default false)
+ * **max-number-of-visible-pipelines** (`int`): Limits the number of
+ pipelines shown in the view, regardless of how many pipelines are
+ configured. A negative value will not enforce a limit.
+ * **no-of-columns** (`int`): Number of columns used for showing pipelines.
+ Possible values are 1 (default), 2 and 3.
+ * **no-of-pipelines** (`int`): Number of pipelines instances shown for each
+ pipeline. Possible values are numbers from 1 to 50 (default 3).
+ * **paging-enabled** (`bool`): Enable pagination in normal view, to allow
+ navigation to older pipeline runs which are not displayed on the first
+ page. Not available in full screen view. (default false)
+ * **show-absolute-date-time** (`bool`): Show dates and times as absolute
+ values instead of as relative to the current time. (default false)
+ * **show-aggregated-changes** (`bool`): Show an aggregated changelog
+ between different stages. (default false)
+ * **show-aggregated-pipeline** (`bool`): Show an aggregated view where each
+ stage shows the latest version being executed. (default false)
+ * **show-avatars** (`bool`): Show avatars pictures instead of names of the
+ people involved in a pipeline instance. (default false)
+ * **show-changes** (`bool`): Show SCM change log for the first job in the
+ pipeline. (default false)
+ * **show-description** (`bool`): Show a build description connected to a
+ specific pipeline task. (default false)
+ * **show-promotions** (`bool`): Show promotions from Promoted Builds
+ Plugin. (default false)
+ * **show-static-analysis-results** (`bool`): Show different analysis
+ results from Analysis Collector Plugin. (default false)
+ * **show-test-results** (`bool`): Show test results as pass/failed/skipped.
+ (default false)
+ * **show-total-build-time** (`bool`): Show total build time for a pipeline
+ run. (default false)
+ * **sorting** (`str`): How to sort the pipelines in the current view. Only
+ applicable when multiple pipelines are configured in the same view.
+ Possible values are 'none' (default), 'title' (sort by title),
+ 'failed_last_activity' (sort by failed pipelines, then by last activity),
+ 'last_activity' (sort by last activity).
+ * **update-interval** (`int`): How often the pipeline view will be updated.
+ To be specified in seconds. (default 2)
+
+Minimal Example:
+
+ .. literalinclude::
+ /../../tests/views/fixtures/view_delivery_pipeline-minimal.yaml
+
+Full Example:
+
+ .. literalinclude::
+ /../../tests/views/fixtures/view_delivery_pipeline-full.yaml
+"""
+
+import xml.etree.ElementTree as XML
+import jenkins_jobs.modules.base
+import jenkins_jobs.modules.helpers as helpers
+
+
+class DeliveryPipeline(jenkins_jobs.modules.base.Base):
+ def root_xml(self, data):
+ root = XML.Element(
+ "se.diabol.jenkins.pipeline.DeliveryPipelineView",
+ {"plugin": "delivery-pipeline-plugin"},
+ )
+
+ # Optional
+ mapping_optional = [
+ ("description", "description", None),
+ ("filter-executors", "filterExecutors", False),
+ ("filter-queue", "filterQueue", False),
+ ]
+ helpers.convert_mapping_to_xml(
+ root, data, mapping_optional, fail_required=False
+ )
+
+ # Required - simple
+ mapping = [
+ (
+ "aggregated-changes-grouping-pattern",
+ "aggregatedChangesGroupingPattern",
+ "",
+ ),
+ ("allow-abort", "allowAbort", False),
+ ("allow-manual-triggers", "allowManualTriggers", False),
+ ("allow-pipeline-start", "allowPipelineStart", False),
+ ("allow-rebuild", "allowRebuild", False),
+ ("link-relative", "linkRelative", False),
+ ("link-to-console-log", "linkToConsoleLog", False),
+ ("max-number-of-visible-pipelines", "maxNumberOfVisiblePipelines", -1),
+ ("name", "name", None),
+ ("no-of-columns", "noOfColumns", 1, [1, 2, 3]),
+ ("no-of-pipelines", "noOfPipelines", 3, list(range(51))),
+ ("paging-enabled", "pagingEnabled", False),
+ ("show-absolute-date-time", "showAbsoluteDateTime", False),
+ ("show-aggregated-changes", "showAggregatedChanges", False),
+ ("show-aggregated-pipeline", "showAggregatedPipeline", False),
+ ("show-avatars", "showAvatars", False),
+ ("show-changes", "showChanges", False),
+ ("show-description", "showDescription", False),
+ ("show-promotions", "showPromotions", False),
+ ("show-static-analysis-results", "showStaticAnalysisResults", False),
+ ("show-test-results", "showTestResults", False),
+ ("show-total-build-time", "showTotalBuildTime", False),
+ ("update-interval", "updateInterval", 2),
+ ]
+ helpers.convert_mapping_to_xml(root, data, mapping, fail_required=True)
+
+ # Required - complex
+ sorting_val = data.get("sorting", "none")
+ sorting_map = {
+ "none": "None",
+ "title": ("se.diabol.jenkins.pipeline.sort.NameComparator"),
+ "failed_last_activity": (
+ "se.diabol.jenkins.pipeline.sort.FailedJobComparator"
+ ),
+ "last_activity": (
+ "se.diabol.jenkins.pipeline.sort.LatestActivityComparator"
+ ),
+ }
+ sorting = XML.SubElement(root, "sorting")
+
+ if sorting_val in sorting_map:
+ sorting.text = sorting_map[sorting_val]
+ else:
+ sorting.text = sorting_map["none"]
+
+ components = data.get("components", [])
+
+ if len(components):
+ component_specs = XML.SubElement(root, "componentSpecs")
+
+ for c in components:
+ component_spec = XML.SubElement(
+ component_specs,
+ "se.diabol.jenkins.pipeline.DeliveryPipelineView_-ComponentSpec",
+ )
+
+ name = XML.SubElement(component_spec, "name")
+ name.text = c.get("name", "")
+
+ first_job = XML.SubElement(component_spec, "firstJob")
+ first_job.text = c.get("initial-job", "")
+
+ last_job = XML.SubElement(component_spec, "lastJob")
+ last_job.text = c.get("final-job", "")
+
+ show_upstream = XML.SubElement(component_spec, "showUpstream")
+ show_upstream.text = c.get("show-upstream", "false")
+
+ regexps = data.get("regexps", [])
+
+ if len(regexps):
+ regexp_first_jobs = XML.SubElement(root, "regexpFirstJobs")
+
+ for r in regexps:
+ regexp_first_job = XML.SubElement(
+ regexp_first_jobs,
+ "se.diabol.jenkins.pipeline.DeliveryPipelineView_-RegExpSpec",
+ )
+
+ regexp = XML.SubElement(regexp_first_job, "regexp")
+ regexp.text = r.get("regexp", "")
+
+ show_upstream = XML.SubElement(regexp_first_job, "showUpstream")
+ show_upstream.text = r.get("show-upstream", "false")
+
+ return root
diff --git a/jenkins_jobs/modules/view_list.py b/jenkins_jobs/modules/view_list.py
index 8ad7658c..5c1e1e5f 100644
--- a/jenkins_jobs/modules/view_list.py
+++ b/jenkins_jobs/modules/view_list.py
@@ -28,7 +28,7 @@ to the :ref:`view_list` definition.
queue. (default false)
* **job-name** (`list`): List of jobs to be included.
* **job-filters** (`dict`): Job filters to be included. Requires
- :jenkins-wiki:`View Job Filters <View+Job+Filters>`
+ :jenkins-plugins:`View Job Filters <view-job-filters>`
* **most-recent** (`dict`)
:most-recent:
diff --git a/jenkins_jobs/modules/view_pipeline.py b/jenkins_jobs/modules/view_pipeline.py
index 3ec25b10..a8b58ebc 100644
--- a/jenkins_jobs/modules/view_pipeline.py
+++ b/jenkins_jobs/modules/view_pipeline.py
@@ -16,8 +16,9 @@
The view pipeline module handles creating Jenkins Build Pipeline views.
To create a pipeline view specify ``pipeline`` in the ``view-type`` attribute
to the :ref:`view_pipeline` definition.
-Requires the Jenkins
-:jenkins-wiki:`Build Pipeline Plugin <build+pipeline+plugin>`.
+
+Requires the Jenkins :jenkins-plugins:`Build Pipeline Plugin
+<build-pipeline-plugin>`.
:View Parameters:
* **name** (`str`): The name of the view.
diff --git a/jenkins_jobs/modules/wrappers.py b/jenkins_jobs/modules/wrappers.py
index 26de754c..77230c8e 100644
--- a/jenkins_jobs/modules/wrappers.py
+++ b/jenkins_jobs/modules/wrappers.py
@@ -42,8 +42,9 @@ def docker_custom_build_env(registry, xml_parent, data):
"""yaml: docker-custom-build-env
Allows the definition of a build environment for a job using a Docker
container.
- Requires the Jenkins :jenkins-wiki:`CloudBees Docker Custom Build
- Environment Plugin<CloudBees+Docker+Custom+Build+Environment+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`CloudBees Docker Custom Build
+ Environment Plugin<docker-custom-build-environment>`.
:arg str image-type: Docker image type. Valid values and their
additional attributes described in the image_types_ table
@@ -168,7 +169,8 @@ def ci_skip(registry, xml_parent, data):
Skip making a build for certain push.
Just add [ci skip] into your commit's message to let Jenkins know,
that you do not want to perform build for the next push.
- Requires the Jenkins :jenkins-wiki:`Ci Skip Plugin <Ci+Skip+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Ci Skip Plugin <ci-skip>`.
Example:
@@ -194,8 +196,9 @@ def config_file_provider(registry, xml_parent, data):
"""yaml: config-file-provider
Provide configuration files (i.e., settings.xml for maven etc.)
which will be copied to the job's workspace.
- Requires the Jenkins :jenkins-wiki:`Config File Provider Plugin
- <Config+File+Provider+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Config File Provider Plugin
+ <config-file-provider>`.
:arg list files: List of managed config files made up of three
parameters
@@ -231,8 +234,9 @@ def config_file_provider(registry, xml_parent, data):
def logfilesize(registry, xml_parent, data):
"""yaml: logfilesize
Abort the build if its logfile becomes too big.
- Requires the Jenkins :jenkins-wiki:`Logfilesizechecker Plugin
- <Logfilesizechecker+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Logfilesizechecker Plugin
+ <logfilesizechecker>`.
:arg bool set-own: Use job specific maximum log size instead of global
config value (default false).
@@ -265,8 +269,9 @@ def logfilesize(registry, xml_parent, data):
def timeout(registry, xml_parent, data):
"""yaml: timeout
Abort the build if it runs too long.
- Requires the Jenkins :jenkins-wiki:`Build Timeout Plugin
- <Build-timeout+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Build Timeout Plugin
+ <build-timeout>`.
:arg bool fail: Mark the build as failed (default false)
:arg bool abort: Mark the build as aborted (default false)
@@ -479,7 +484,8 @@ def timeout(registry, xml_parent, data):
def timestamps(registry, xml_parent, data):
"""yaml: timestamps
Add timestamps to the console log.
- Requires the Jenkins :jenkins-wiki:`Timestamper Plugin <Timestamper>`.
+
+ Requires the Jenkins :jenkins-plugins:`Timestamper Plugin <timestamper>`.
Example::
@@ -492,9 +498,10 @@ def timestamps(registry, xml_parent, data):
def ansicolor(registry, xml_parent, data):
"""yaml: ansicolor
Translate ANSI color codes to HTML in the console log.
- Requires the Jenkins :jenkins-wiki:`Ansi Color Plugin <AnsiColor+Plugin>`.
- :arg string colormap: Color mapping to use (default xterm)
+ Requires the Jenkins :jenkins-plugins:`Ansi Color Plugin <ansicolor>`.
+
+ :arg str colormap: Color mapping to use (default xterm)
Minimal Example:
@@ -518,8 +525,9 @@ def ansicolor(registry, xml_parent, data):
def build_keeper(registry, xml_parent, data):
"""yaml: build-keeper
Keep builds based on specific policy.
- Requires the Jenkins :jenkins-wiki:`Build Keeper Plugin
- <Build+Keeper+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Build Keeper Plugin
+ <build-keeper-plugin>`.
:arg str policy: Policy to keep builds.
@@ -790,8 +798,9 @@ def build_keeper(registry, xml_parent, data):
def live_screenshot(registry, xml_parent, data):
"""yaml: live-screenshot
Show live screenshots of running jobs in the job list.
- Requires the Jenkins :jenkins-wiki:`Live-Screenshot Plugin
- <LiveScreenshot+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Live-Screenshot Plugin
+ <livescreenshot>`.
:arg str full-size: name of screenshot file (default 'screenshot.png')
:arg str thumbnail: name of thumbnail file (default 'screenshot-thumb.png')
@@ -822,8 +831,9 @@ def live_screenshot(registry, xml_parent, data):
def mask_passwords(registry, xml_parent, data):
"""yaml: mask-passwords
Hide passwords in the console log.
- Requires the Jenkins :jenkins-wiki:`Mask Passwords Plugin
- <Mask+Passwords+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Mask Passwords Plugin
+ <mask-passwords>`.
Example::
@@ -839,8 +849,8 @@ def mask_passwords(registry, xml_parent, data):
def workspace_cleanup(registry, xml_parent, data):
"""yaml: workspace-cleanup (pre-build)
- Requires the Jenkins :jenkins-wiki:`Workspace Cleanup Plugin
- <Workspace+Cleanup+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Workspace Cleanup Plugin
+ <ws-cleanup>`.
The post-build workspace-cleanup is available as a publisher.
@@ -894,9 +904,10 @@ def workspace_cleanup(registry, xml_parent, data):
def m2_repository_cleanup(registry, xml_parent, data):
"""yaml: m2-repository-cleanup
- Configure M2 Repository Cleanup
- Requires the Jenkins :jenkins-wiki:`M2 Repository Cleanup
- <M2+Repository+Cleanup+Plugin>`.
+ Configure M2 Repository Cleanup.
+
+ Requires the Jenkins :jenkins-plugins:`M2 Repository Cleanup
+ <maven-repo-cleaner>`.
:arg list patterns: List of patterns for artifacts to cleanup before
building. (optional)
@@ -922,8 +933,9 @@ def m2_repository_cleanup(registry, xml_parent, data):
def rvm_env(registry, xml_parent, data):
"""yaml: rvm-env
- Set the RVM implementation
- Requires the Jenkins :jenkins-wiki:`Rvm Plugin <RVM+Plugin>`.
+ Set the RVM implementation.
+
+ Requires the Jenkins :jenkins-plugins:`Rvm Plugin <rvm>`.
:arg str implementation: Type of implementation. Syntax is RUBY[@GEMSET],
such as '1.9.3' or 'jruby@foo'.
@@ -962,7 +974,8 @@ def rvm_env(registry, xml_parent, data):
def rbenv(registry, xml_parent, data):
"""yaml: rbenv
Set the rbenv implementation.
- Requires the Jenkins :jenkins-wiki:`rbenv plugin <rbenv+plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`rbenv plugin <rbenv>`.
All parameters are optional.
@@ -990,7 +1003,7 @@ def rbenv(registry, xml_parent, data):
ro_class = "Jenkins::Tasks::BuildWrapperProxy"
ro = XML.SubElement(
- rpo, "ruby-object", {"ruby-class": ro_class, "pluginid": "rbenv"}
+ rpo, "ruby-object", {"pluginid": "rbenv", "ruby-class": ro_class}
)
XML.SubElement(
@@ -998,7 +1011,7 @@ def rbenv(registry, xml_parent, data):
).text = "rbenv"
o = XML.SubElement(
- ro, "object", {"ruby-class": "RbenvWrapper", "pluginid": "rbenv"}
+ ro, "object", {"pluginid": "rbenv", "ruby-class": "RbenvWrapper"}
)
mapping = [
@@ -1020,8 +1033,8 @@ def rbenv(registry, xml_parent, data):
for elem in mapping:
(optname, xmlname, val) = elem[:3]
elem_tag = o.find(xmlname)
- elem_tag.set("ruby-class", "String")
elem_tag.set("pluginid", "rbenv")
+ elem_tag.set("ruby-class", "String")
ignore_local_class = "FalseClass"
@@ -1033,15 +1046,16 @@ def rbenv(registry, xml_parent, data):
XML.SubElement(
o,
"ignore__local__version",
- {"ruby-class": ignore_local_class, "pluginid": "rbenv"},
+ {"pluginid": "rbenv", "ruby-class": ignore_local_class},
)
def build_name(registry, xml_parent, data):
"""yaml: build-name
- Set the name of the build
- Requires the Jenkins :jenkins-wiki:`Build Name Setter Plugin
- <Build+Name+Setter+Plugin>`.
+ Set the name of the build.
+
+ Requires the Jenkins :jenkins-plugins:`Build Name Setter Plugin
+ <build-name-setter>`.
:arg str name: Name for the build. Typically you would use a variable
from Jenkins in the name. The syntax would be ${FOO} for
@@ -1062,9 +1076,10 @@ def build_name(registry, xml_parent, data):
def port_allocator(registry, xml_parent, data):
"""yaml: port-allocator
- Assign unique TCP port numbers
- Requires the Jenkins :jenkins-wiki:`Port Allocator Plugin
- <Port+Allocator+Plugin>`.
+ Assign unique TCP port numbers.
+
+ Requires the Jenkins :jenkins-plugins:`Port Allocator Plugin
+ <port-allocator>`.
:arg str name: Deprecated, use names instead
:arg list names: Variable list of names of the port or list of
@@ -1095,6 +1110,7 @@ def port_allocator(registry, xml_parent, data):
def locks(registry, xml_parent, data):
"""yaml: locks
Control parallel execution of jobs.
+
Requires the Jenkins :jenkins-wiki:`Locks and Latches Plugin
<Locks+and+Latches+plugin>`.
@@ -1118,7 +1134,8 @@ def locks(registry, xml_parent, data):
def copy_to_slave(registry, xml_parent, data):
"""yaml: copy-to-slave
- Copy files to slave before build
+ Copy files to slave before build.
+
Requires the Jenkins :jenkins-wiki:`Copy To Slave Plugin
<Copy+To+Slave+Plugin>`.
@@ -1160,8 +1177,9 @@ def copy_to_slave(registry, xml_parent, data):
def inject(registry, xml_parent, data):
"""yaml: inject
- Add or override environment variables to the whole build process
- Requires the Jenkins :jenkins-wiki:`EnvInject Plugin <EnvInject+Plugin>`.
+ Add or override environment variables to the whole build process.
+
+ Requires the Jenkins :jenkins-plugins:`EnvInject Plugin <envinject>`.
:arg str properties-file: path to the properties file (optional)
:arg str properties-content: key value pair of properties (optional)
@@ -1201,8 +1219,9 @@ def inject(registry, xml_parent, data):
def inject_ownership_variables(registry, xml_parent, data):
"""yaml: inject-ownership-variables
Inject ownership variables to the build as environment variables.
- Requires the Jenkins :jenkins-wiki:`EnvInject Plugin <EnvInject+Plugin>`
- and Jenkins :jenkins-wiki:`Ownership plugin <Ownership+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`EnvInject Plugin <envinject>`
+ and Jenkins :jenkins-plugins:`Ownership plugin <ownership>`.
:arg bool job-variables: inject job ownership variables to the job
(default false)
@@ -1228,7 +1247,8 @@ def inject_ownership_variables(registry, xml_parent, data):
def inject_passwords(registry, xml_parent, data):
"""yaml: inject-passwords
Inject passwords to the build as environment variables.
- Requires the Jenkins :jenkins-wiki:`EnvInject Plugin <EnvInject+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`EnvInject Plugin <envinject>`.
:arg bool global: inject global passwords to the job
:arg bool mask-password-params: mask password parameters
@@ -1264,8 +1284,8 @@ def vault_secrets(registry, xml_parent, data):
Secrets are generally masked in the build log.
- Requires the Jenkins
- :jenkins-wiki:`HashiCorp Vault Plugin <HashiCorp+Vault+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`HashiCorp Vault Plugin
+ <hashicorp-vault-plugin>`.
:arg str vault-url: Vault URL
:arg str credentials-id: Vault Credential
@@ -1332,9 +1352,9 @@ def vault_secrets(registry, xml_parent, data):
def env_file(registry, xml_parent, data):
"""yaml: env-file
- Add or override environment variables to the whole build process
- Requires the Jenkins :jenkins-wiki:`Environment File Plugin
- <Envfile+Plugin>`.
+ Add or override environment variables to the whole build process.
+
+ Requires the Jenkins :jenkins-plugins:`Environment File Plugin <envfile>`.
:arg str properties-file: path to the properties file (optional)
@@ -1352,8 +1372,9 @@ def env_file(registry, xml_parent, data):
def env_script(registry, xml_parent, data):
"""yaml: env-script
Add or override environment variables to the whole build process.
- Requires the Jenkins :jenkins-wiki:`Environment Script Plugin
- <Environment+Script+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Environment Script Plugin
+ <environment-script>`.
:arg script-content: The script to run (default '')
:arg str script-type: The script type.
@@ -1389,7 +1410,8 @@ def jclouds(registry, xml_parent, data):
"""yaml: jclouds
Uses JClouds to provide slave launching on most of the currently
usable Cloud infrastructures.
- Requires the Jenkins :jenkins-wiki:`JClouds Plugin <JClouds+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`JClouds Plugin <jclouds-jenkins>`.
:arg bool single-use: Whether or not to terminate the slave after use
(default false).
@@ -1434,8 +1456,10 @@ def jclouds(registry, xml_parent, data):
def openstack(registry, xml_parent, data):
"""yaml: openstack
- Provision slaves from OpenStack on demand. Requires the Jenkins
- :jenkins-wiki:`Openstack Cloud Plugin <Openstack+Cloud+Plugin>`.
+ Provision slaves from OpenStack on demand.
+
+ Requires the Jenkins :jenkins-plugins:`Openstack Cloud Plugin
+ <openstack-cloud>`.
:arg list instances: List of instances to be launched at the beginning of
the build.
@@ -1492,8 +1516,9 @@ def openstack(registry, xml_parent, data):
def build_user_vars(registry, xml_parent, data):
"""yaml: build-user-vars
Set environment variables to the value of the user that started the build.
- Requires the Jenkins :jenkins-wiki:`Build User Vars Plugin
- <Build+User+Vars+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Build User Vars Plugin
+ <build-user-vars-plugin>`.
Example::
@@ -1505,13 +1530,14 @@ def build_user_vars(registry, xml_parent, data):
def release(registry, xml_parent, data):
"""yaml: release
- Add release build configuration
- Requires the Jenkins :jenkins-wiki:`Release Plugin <Release+Plugin>`.
+ Add release build configuration.
+
+ Requires the Jenkins :jenkins-plugins:`Release Plugin <release>`.
:arg bool keep-forever: Keep build forever (default true)
:arg bool override-build-parameters: Enable build-parameter override
(default false)
- :arg string version-template: Release version template (default '')
+ :arg str version-template: Release version template (default '')
:arg list parameters: Release parameters (see the :ref:`Parameters` module)
:arg list pre-build: Pre-build steps (see the :ref:`Builders` module)
:arg list post-build: Post-build steps (see :ref:`Builders`)
@@ -1555,14 +1581,16 @@ def sauce_ondemand(registry, xml_parent, data):
"""yaml: sauce-ondemand
Allows you to integrate Sauce OnDemand with Jenkins. You can
automate the setup and tear down of Sauce Connect and integrate
- the Sauce OnDemand results videos per test. Requires the Jenkins
- :jenkins-wiki:`Sauce OnDemand Plugin <Sauce+OnDemand+Plugin>`.
+ the Sauce OnDemand results videos per test.
+
+ Requires the Jenkins :jenkins-plugins:`Sauce OnDemand Plugin
+ <sauce-ondemand>`.
:arg bool enable-sauce-connect: launches a SSH tunnel from their cloud
to your private network (default false)
:arg str sauce-host: The name of the selenium host to be used. For
tests run using Sauce Connect, this should be localhost.
- ondemand.saucelabs.com can also be used to conenct directly to
+ ondemand.saucelabs.com can also be used to connect directly to
Sauce OnDemand, The value of the host will be stored in the
SAUCE_ONDEMAND_HOST environment variable. (default '')
:arg str sauce-port: The name of the Selenium Port to be used. For
@@ -1672,8 +1700,9 @@ def sauce_ondemand(registry, xml_parent, data):
def sonar(registry, xml_parent, data):
"""yaml: sonar
- Wrapper for SonarQube Plugin
- Requires :jenkins-wiki:`SonarQube plugin <SonarQube+plugin>`
+ Wrapper for SonarQube Plugin.
+
+ Requires :jenkins-plugins:`SonarQube plugin <sonar>`
:arg str install-name: Release goals and options (default '')
@@ -1700,7 +1729,7 @@ def pathignore(registry, xml_parent, data):
This plugin allows SCM-triggered jobs to ignore
build requests if only certain paths have changed.
- Requires the Jenkins :jenkins-wiki:`Pathignore Plugin <Pathignore+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Pathignore Plugin <pathignore>`.
:arg str ignored: A set of patterns to define ignored changes
@@ -1737,10 +1766,12 @@ def pathignore(registry, xml_parent, data):
def pre_scm_buildstep(registry, xml_parent, data):
"""yaml: pre-scm-buildstep
- Execute a Build Step before running the SCM
- Requires the Jenkins :jenkins-wiki:`pre-scm-buildstep <pre-scm-buildstep>`.
+ Execute a Build Step before running the SCM.
+
+ Requires the Jenkins :jenkins-plugins:`Pre SCM BuildStep
+ <preSCMbuildstep>`.
- :arg string failOnError: Specifies if the job should fail on error
+ :arg str failOnError: Specifies if the job should fail on error
(plugin >= 0.3) (default false).
:arg list buildsteps: List of build steps to execute
@@ -1772,8 +1803,9 @@ def pre_scm_buildstep(registry, xml_parent, data):
def logstash(registry, xml_parent, data):
"""yaml: logstash build wrapper
- Dump the Jenkins console output to Logstash
- Requires the Jenkins :jenkins-wiki:`logstash plugin <Logstash+Plugin>`.
+ Dump the Jenkins console output to Logstash.
+
+ Requires the Jenkins :jenkins-plugins:`logstash plugin <logstash>`.
:arg use-redis: Boolean to use Redis. (default true)
:arg redis: Redis config params
@@ -1822,7 +1854,8 @@ def logstash(registry, xml_parent, data):
def mongo_db(registry, xml_parent, data):
"""yaml: mongo-db build wrapper
Initializes a MongoDB database while running the build.
- Requires the Jenkins :jenkins-wiki:`MongoDB plugin <MongoDB+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`MongoDB plugin <mongodb>`.
:arg str name: The name of the MongoDB install to use (required)
:arg str data-directory: Data directory for the server (default '')
@@ -1860,8 +1893,8 @@ def delivery_pipeline(registry, xml_parent, data):
The version will be set to the environment variable PIPELINE_VERSION and
will also be set in the downstream jobs.
- Requires the Jenkins :jenkins-wiki:`Delivery Pipeline Plugin
- <Delivery+Pipeline+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Delivery Pipeline Plugin
+ <delivery-pipeline-plugin>`.
:arg str version-template: Template for generated version e.g
1.0.${BUILD_NUMBER} (default '')
@@ -1895,8 +1928,10 @@ def delivery_pipeline(registry, xml_parent, data):
def matrix_tie_parent(registry, xml_parent, data):
"""yaml: matrix-tie-parent
Tie parent to a node.
- Requires the Jenkins :jenkins-wiki:`Matrix Tie Parent Plugin
- <Matrix+Tie+Parent+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Matrix Tie Parent Plugin
+ <matrixtieparent>`.
+
Note that from Jenkins version 1.532 this plugin's functionality is
available under the "advanced" option of the matrix project configuration.
You can use the top level ``node`` parameter to control where the parent
@@ -1919,7 +1954,7 @@ def exclusion(registry, xml_parent, data):
another job specifies the same resource, the second job will wait for the
blocked resource to become available.
- Requires the Jenkins :jenkins-wiki:`Exclusion Plugin <Exclusion-Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Exclusion Plugin <Exclusion>`.
:arg list resources: List of resources to add for exclusion
@@ -1942,7 +1977,7 @@ def ssh_agent_credentials(registry, xml_parent, data):
"""yaml: ssh-agent-credentials
Sets up the user for the ssh agent plugin for jenkins.
- Requires the Jenkins :jenkins-wiki:`SSH-Agent Plugin <SSH+Agent+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`SSH-Agent Plugin <ssh-agent>`.
:arg list users: A list of Jenkins users credential IDs (required)
:arg str user: The user id of the jenkins user credentials (deprecated)
@@ -2020,8 +2055,8 @@ def credentials_binding(registry, xml_parent, data):
Binds credentials to environment variables using the credentials binding
plugin for jenkins.
- Requires the Jenkins :jenkins-wiki:`Credentials Binding Plugin
- <Credentials+Binding+Plugin>` version 1.1 or greater.
+ Requires the Jenkins :jenkins-plugins:`Credentials Binding Plugin
+ <credentials-binding>` version 1.1 or greater.
:arg list binding-type: List of each bindings to create. Bindings may be
of type `zip-file`, `file`, `username-password`, `text`,
@@ -2032,7 +2067,7 @@ def credentials_binding(registry, xml_parent, data):
variable to the password given in the credentials.
amazon-web-services sets one variable to the access key and one
variable to the secret access key. Requires the
- :jenkins-wiki:`AWS Credentials Plugin <CloudBees+AWS+Credentials+Plugin>`
+ :jenkins-plugins:`AWS Credentials Plugin <aws-credentials>`
.
:Parameters: * **credential-id** (`str`) UUID of the credential being
@@ -2163,8 +2198,8 @@ def credentials_binding(registry, xml_parent, data):
def custom_tools(registry, xml_parent, data):
"""yaml: custom-tools
- Requires the Jenkins :jenkins-wiki:`Custom Tools Plugin
- <Custom+Tools+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Custom Tools Plugin
+ <custom-tools-plugin>`.
:arg list tools: List of custom tools to add
(optional)
@@ -2198,8 +2233,10 @@ def custom_tools(registry, xml_parent, data):
def nodejs_installator(registry, xml_parent, data):
"""yaml: nodejs-installator
- Requires the Jenkins :jenkins-wiki:`NodeJS Plugin
- <NodeJS+Plugin>`.
+ Provides Jenkins integration for NodeJS & npm packages.
+
+ Requires the Jenkins :jenkins-plugins:`NodeJS Plugin
+ <nodejs>`.
:arg str name: nodejs installation name (required)
@@ -2221,7 +2258,8 @@ def nodejs_installator(registry, xml_parent, data):
def xvnc(registry, xml_parent, data):
"""yaml: xvnc
Enable xvnc during the build.
- Requires the Jenkins :jenkins-wiki:`xvnc plugin <Xvnc+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`xvnc plugin <xvnc>`.
:arg bool screenshot: Take screenshot upon build completion (default false)
:arg bool xauthority: Create a dedicated Xauthority file per build (default
@@ -2250,11 +2288,11 @@ def xvnc(registry, xml_parent, data):
def job_log_logger(registry, xml_parent, data):
"""yaml: job-log-logger
Enable writing the job log to the underlying logging system.
- Requires the Jenkins :jenkins-wiki:`Job Log Logger plugin
- <Job+Log+Logger+Plugin>`.
- :arg bool suppress-empty: Suppress empty log messages
- (default true)
+ Requires the Jenkins :jenkins-plugins:`Job Log Logger plugin
+ <job-log-logger-plugin>`.
+
+ :arg bool suppress-empty: Suppress empty log messages (default true)
Example:
@@ -2271,7 +2309,8 @@ def job_log_logger(registry, xml_parent, data):
def xvfb(registry, xml_parent, data):
"""yaml: xvfb
Enable xvfb during the build.
- Requires the Jenkins :jenkins-wiki:`Xvfb Plugin <Xvfb+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Xvfb Plugin <xvfb>`.
:arg str installation-name: The name of the Xvfb tool installation (default
'default')
@@ -2328,8 +2367,9 @@ def android_emulator(registry, xml_parent, data):
Automates many Android development tasks including SDK installation,
build file generation, emulator creation and launch,
APK (un)installation...
- Requires the Jenkins :jenkins-wiki:`Android Emulator Plugin
- <Android+Emulator+Plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`Android Emulator Plugin
+ <android-emulator>`.
:arg str avd: Enter the name of an existing Android emulator configuration.
If this is exclusive with the 'os' arg.
@@ -2411,11 +2451,12 @@ def android_emulator(registry, xml_parent, data):
def artifactory_maven(registry, xml_parent, data):
"""yaml: artifactory-maven
- Wrapper for non-Maven projects. Requires the
- :jenkins-wiki:`Artifactory Plugin <Artifactory+Plugin>`
+ Wrapper for non-Maven projects.
+
+ Requires the Jenkins :jenkins-plugins:`Artifactory Plugin <artifactory>`
:arg str url: URL of the Artifactory server. e.g.
- https://www.jfrog.com/artifactory/ (default '')
+ https://jfrog.com/artifactory/ (default '')
:arg str name: Artifactory user with permissions use for
connected to the selected Artifactory Server
(default '')
@@ -2454,11 +2495,12 @@ def artifactory_maven(registry, xml_parent, data):
def artifactory_generic(registry, xml_parent, data):
"""yaml: artifactory-generic
- Wrapper for non-Maven projects. Requires the
- :jenkins-wiki:`Artifactory Plugin <Artifactory+Plugin>`
+ Wrapper for non-Maven projects.
+
+ Requires the Jenkins :jenkins-plugins:`Artifactory Plugin <artifactory>`
:arg str url: URL of the Artifactory server. e.g.
- https://www.jfrog.com/artifactory/ (default '')
+ https://jfrog.com/artifactory/ (default '')
:arg str name: Artifactory user with permissions use for
connected to the selected Artifactory Server
(default '')
@@ -2586,11 +2628,12 @@ def artifactory_generic(registry, xml_parent, data):
def artifactory_maven_freestyle(registry, xml_parent, data):
"""yaml: artifactory-maven-freestyle
- Wrapper for Free Stype projects. Requires the Artifactory plugin.
- Requires :jenkins-wiki:`Artifactory Plugin <Artifactory+Plugin>`
+ Wrapper for Free Stype projects.
+
+ Requires the Jenkins :jenkins-plugins:`Artifactory Plugin <artifactory>`
:arg str url: URL of the Artifactory server. e.g.
- https://www.jfrog.com/artifactory/ (default '')
+ https://jfrog.com/artifactory/ (default '')
:arg str name: Artifactory user with permissions use for
connected to the selected Artifactory Server (default '')
:arg str release-repo-key: Release repository name (default '')
@@ -2734,7 +2777,8 @@ def artifactory_maven_freestyle(registry, xml_parent, data):
def maven_release(registry, xml_parent, data):
"""yaml: maven-release
Wrapper for Maven projects
- Requires :jenkins-wiki:`M2 Release Plugin <M2+Release+Plugin>`
+
+ Requires the Jenkins :jenkins-plugins:`M2 Release Plugin <m2release>`
:arg str release-goals: Release goals and options (default '')
:arg str dry-run-goals: DryRun goals and options (default '')
@@ -2780,8 +2824,8 @@ def version_number(parser, xml_parent, data):
Generate a version number for the build using a format string. See the
wiki page for more detailed descriptions of options.
- Requires the Jenkins :jenkins-wiki:`version number plugin
- <Version+Number+Plugin>`.
+ Requires the Jenkins :jenkins-plugins:`Version number plugin
+ <versionnumber>`.
:arg str variable-name: Name of environment variable to assign version
number to (required)
@@ -2834,8 +2878,9 @@ def version_number(parser, xml_parent, data):
def github_pull_request(parser, xml_parent, data):
"""yaml: github-pull-request
Set GitHub commit status with custom context and message.
- Requires the Jenkins :jenkins-wiki:`GitHub Pull Request Builder Plugin
- <GitHub+pull+request+builder+plugin>`.
+
+ Requires the Jenkins :jenkins-plugins:`GitHub Pull Request Builder Plugin
+ <ghprb>`.
:arg bool show-matrix-status: Only post commit status of parent matrix job
(default false)
diff --git a/jenkins_jobs/modules/zuul.py b/jenkins_jobs/modules/zuul.py
index 8766895d..e3243045 100644
--- a/jenkins_jobs/modules/zuul.py
+++ b/jenkins_jobs/modules/zuul.py
@@ -17,7 +17,7 @@ The Zuul module adds jobs parameters to manually run a build as Zuul would
have. It is entirely optional, Zuul 2.0+ pass the parameters over Gearman.
.. _expected by Zuul: \
-http://docs.openstack.org/infra/zuul/launchers.html#zuul-parameters
+https://opendev.org/zuul/zuul/src/tag/2.6.0/doc/source/launchers.rst#zuul-parameters
"""
import itertools
diff --git a/jenkins_jobs/registry.py b/jenkins_jobs/registry.py
index 7ac93d77..5f1d7f9c 100644
--- a/jenkins_jobs/registry.py
+++ b/jenkins_jobs/registry.py
@@ -94,7 +94,7 @@ class ModuleRegistry(object):
This allows module authors to differentiate generated XML output based
on information such as specific plugin versions.
- :arg string plugin_name: Either the shortName or longName of a plugin
+ :arg str plugin_name: Either the shortName or longName of a plugin
as see in a query that looks like:
``http://<jenkins-hostname>/pluginManager/api/json?pretty&depth=2``
@@ -146,7 +146,7 @@ class ModuleRegistry(object):
of component, and benefit from extensibility via Python
entry points and Jenkins Job Builder :ref:`Macros <macro>`.
- :arg string component_type: the name of the component
+ :arg str component_type: the name of the component
(e.g., `builder`)
:arg YAMLParser parser: the global YAML Parser
:arg Element xml_parent: the parent XML element
diff --git a/setup.cfg b/setup.cfg
index 5a27c846..3e6a8f21 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -63,6 +63,7 @@ jenkins_jobs.projects =
workflow=jenkins_jobs.modules.project_workflow:Workflow
jenkins_jobs.views =
all=jenkins_jobs.modules.view_all:All
+ delivery_pipeline=jenkins_jobs.modules.view_delivery_pipeline:DeliveryPipeline
list=jenkins_jobs.modules.view_list:List
nested=jenkins_jobs.modules.view_nested:Nested
pipeline=jenkins_jobs.modules.view_pipeline:Pipeline
diff --git a/tests/base.py b/tests/base.py
index 910133f4..262e183f 100644
--- a/tests/base.py
+++ b/tests/base.py
@@ -46,6 +46,7 @@ from jenkins_jobs.modules import project_maven
from jenkins_jobs.modules import project_multibranch
from jenkins_jobs.modules import project_multijob
from jenkins_jobs.modules import view_all
+from jenkins_jobs.modules import view_delivery_pipeline
from jenkins_jobs.modules import view_list
from jenkins_jobs.modules import view_nested
from jenkins_jobs.modules import view_pipeline
@@ -237,6 +238,8 @@ class BaseScenariosTestCase(testscenarios.TestWithScenarios, BaseTestCase):
if "view-type" in yaml_content:
if yaml_content["view-type"] == "all":
project = view_all.All(registry)
+ elif yaml_content["view-type"] == "delivery_pipeline":
+ project = view_delivery_pipeline.DeliveryPipeline(registry)
elif yaml_content["view-type"] == "list":
project = view_list.List(registry)
elif yaml_content["view-type"] == "nested":
diff --git a/tests/multibranch/fixtures/scm_gerrit_full.xml b/tests/multibranch/fixtures/scm_gerrit_full.xml
index 04c59aec..02513673 100644
--- a/tests/multibranch/fixtures/scm_gerrit_full.xml
+++ b/tests/multibranch/fixtures/scm_gerrit_full.xml
@@ -31,7 +31,7 @@
<sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api">
<data>
<jenkins.branch.BranchSource>
- <source class="jenkins.plugins.gerrit.GerritSCMSource" plugin="gerrit">
+ <source class="jenkins.plugins.gerrit.GerritSCMSource" plugin="gerrit-code-review">
<id>gr-https://review.gerrithub.io/johndoe/foo</id>
<remote>https://review.gerrithub.io/johndoe/foo</remote>
<credentialsId>secret</credentialsId>
@@ -47,6 +47,10 @@
</jenkins.plugins.git.traits.RefSpecsSCMSourceTrait_-RefSpecTemplate>
</templates>
</jenkins.plugins.git.traits.RefSpecsSCMSourceTrait>
+ <jenkins.plugins.gerrit.traits.FilterChecksTrait>
+ <queryOperator>SCHEME</queryOperator>
+ <queryString>jenkins</queryString>
+ </jenkins.plugins.gerrit.traits.FilterChecksTrait>
</traits>
</source>
<strategy class="jenkins.branch.DefaultBranchPropertyStrategy">
diff --git a/tests/multibranch/fixtures/scm_gerrit_full.yaml b/tests/multibranch/fixtures/scm_gerrit_full.yaml
index 29fb7c86..1f325b6d 100644
--- a/tests/multibranch/fixtures/scm_gerrit_full.yaml
+++ b/tests/multibranch/fixtures/scm_gerrit_full.yaml
@@ -11,6 +11,9 @@ scm:
all-branches:
- suppress-scm-triggering: true
- pipeline-branch-durability-override: max-survivability
+ filter-checks:
+ query-operator: 'SCHEME'
+ query-string: 'jenkins'
build-strategies:
- tags:
ignore-tags-newer-than: 1
diff --git a/tests/multibranch/fixtures/scm_gerrit_minimal.xml b/tests/multibranch/fixtures/scm_gerrit_minimal.xml
index 60959552..b29acd09 100644
--- a/tests/multibranch/fixtures/scm_gerrit_minimal.xml
+++ b/tests/multibranch/fixtures/scm_gerrit_minimal.xml
@@ -31,7 +31,7 @@
<sources class="jenkins.branch.MultiBranchProject$BranchSourceList" plugin="branch-api">
<data>
<jenkins.branch.BranchSource>
- <source class="jenkins.plugins.gerrit.GerritSCMSource" plugin="gerrit">
+ <source class="jenkins.plugins.gerrit.GerritSCMSource" plugin="gerrit-code-review">
<id>gr-https://review.gerrithub.io/johndoe/foo</id>
<remote>https://review.gerrithub.io/johndoe/foo</remote>
<credentialsId/>
diff --git a/tests/publishers/fixtures/opsgenie-full.xml b/tests/publishers/fixtures/opsgenie-full.xml
new file mode 100755
index 00000000..4e630e6e
--- /dev/null
+++ b/tests/publishers/fixtures/opsgenie-full.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <publishers>
+ <com.opsgenie.integration.jenkins.OpsGenieNotifier plugin="opsgenie">
+ <alertPriority>P1</alertPriority>
+ <notifyBuildStartPriority>P2</notifyBuildStartPriority>
+ <enable>true</enable>
+ <notifyBuildStart>true</notifyBuildStart>
+ <apiKey>test api key</apiKey>
+ <apiUrl>another-opsgenie-instance.com</apiUrl>
+ <tags>a,b,c</tags>
+ <teams>team a, team b</teams>
+ </com.opsgenie.integration.jenkins.OpsGenieNotifier>
+ </publishers>
+</project>
diff --git a/tests/publishers/fixtures/opsgenie-full.yaml b/tests/publishers/fixtures/opsgenie-full.yaml
new file mode 100755
index 00000000..3bc58059
--- /dev/null
+++ b/tests/publishers/fixtures/opsgenie-full.yaml
@@ -0,0 +1,10 @@
+publishers:
+- opsgenie:
+ enable-sending-alerts: true
+ notify-build-start: true
+ api-key: "test api key"
+ priority: "P1"
+ build-starts-alerts-priority: "P2"
+ api-url: "another-opsgenie-instance.com"
+ tags: "a,b,c"
+ teams: "team a, team b"
diff --git a/tests/publishers/fixtures/opsgenie-minimal.xml b/tests/publishers/fixtures/opsgenie-minimal.xml
new file mode 100755
index 00000000..21d7587b
--- /dev/null
+++ b/tests/publishers/fixtures/opsgenie-minimal.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<project>
+ <publishers>
+ <com.opsgenie.integration.jenkins.OpsGenieNotifier plugin="opsgenie">
+ <alertPriority>P3</alertPriority>
+ <notifyBuildStartPriority>P3</notifyBuildStartPriority>
+ <enable>false</enable>
+ <notifyBuildStart>false</notifyBuildStart>
+ <apiKey/>
+ <apiUrl/>
+ <tags/>
+ <teams/>
+ </com.opsgenie.integration.jenkins.OpsGenieNotifier>
+ </publishers>
+</project>
diff --git a/tests/publishers/fixtures/opsgenie-minimal.yaml b/tests/publishers/fixtures/opsgenie-minimal.yaml
new file mode 100755
index 00000000..d3c1d339
--- /dev/null
+++ b/tests/publishers/fixtures/opsgenie-minimal.yaml
@@ -0,0 +1,2 @@
+publishers:
+- opsgenie
diff --git a/tests/views/fixtures/view_delivery_pipeline-full.xml b/tests/views/fixtures/view_delivery_pipeline-full.xml
new file mode 100644
index 00000000..031d1e61
--- /dev/null
+++ b/tests/views/fixtures/view_delivery_pipeline-full.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<se.diabol.jenkins.pipeline.DeliveryPipelineView plugin="delivery-pipeline-plugin">
+ <description>Test jobs created by JJB.</description>
+ <filterExecutors>false</filterExecutors>
+ <filterQueue>false</filterQueue>
+ <aggregatedChangesGroupingPattern/>
+ <allowAbort>true</allowAbort>
+ <allowManualTriggers>true</allowManualTriggers>
+ <allowPipelineStart>true</allowPipelineStart>
+ <allowRebuild>true</allowRebuild>
+ <linkRelative>false</linkRelative>
+ <linkToConsoleLog>true</linkToConsoleLog>
+ <maxNumberOfVisiblePipelines>-1</maxNumberOfVisiblePipelines>
+ <name>Test pipeline</name>
+ <noOfColumns>1</noOfColumns>
+ <noOfPipelines>1</noOfPipelines>
+ <pagingEnabled>true</pagingEnabled>
+ <showAbsoluteDateTime>false</showAbsoluteDateTime>
+ <showAggregatedChanges>false</showAggregatedChanges>
+ <showAggregatedPipeline>false</showAggregatedPipeline>
+ <showAvatars>false</showAvatars>
+ <showChanges>false</showChanges>
+ <showDescription>false</showDescription>
+ <showPromotions>false</showPromotions>
+ <showStaticAnalysisResults>false</showStaticAnalysisResults>
+ <showTestResults>false</showTestResults>
+ <showTotalBuildTime>true</showTotalBuildTime>
+ <updateInterval>2</updateInterval>
+ <sorting>None</sorting>
+ <componentSpecs>
+ <se.diabol.jenkins.pipeline.DeliveryPipelineView_-ComponentSpec>
+ <name>Test</name>
+ <firstJob>Test-A</firstJob>
+ <lastJob/>
+ <showUpstream>false</showUpstream>
+ </se.diabol.jenkins.pipeline.DeliveryPipelineView_-ComponentSpec>
+ </componentSpecs>
+ <regexpFirstJobs>
+ <se.diabol.jenkins.pipeline.DeliveryPipelineView_-RegExpSpec>
+ <regexp>^Test-A</regexp>
+ <showUpstream>false</showUpstream>
+ </se.diabol.jenkins.pipeline.DeliveryPipelineView_-RegExpSpec>
+ </regexpFirstJobs>
+</se.diabol.jenkins.pipeline.DeliveryPipelineView>
diff --git a/tests/views/fixtures/view_delivery_pipeline-full.yaml b/tests/views/fixtures/view_delivery_pipeline-full.yaml
new file mode 100644
index 00000000..1e404681
--- /dev/null
+++ b/tests/views/fixtures/view_delivery_pipeline-full.yaml
@@ -0,0 +1,16 @@
+name: Test pipeline
+description: Test jobs created by JJB.
+view-type: delivery_pipeline
+components:
+ - name: Test
+ initial-job: Test-A
+regexps:
+ - regexp: ^Test-A
+no-of-pipelines: 1
+allow-manual-triggers: yes
+show-total-build-time: yes
+allow-rebuild: yes
+allow-pipeline-start: yes
+allow-abort: yes
+paging-enabled: yes
+link-to-console-log: yes
diff --git a/tests/views/fixtures/view_delivery_pipeline-minimal.xml b/tests/views/fixtures/view_delivery_pipeline-minimal.xml
new file mode 100644
index 00000000..be342680
--- /dev/null
+++ b/tests/views/fixtures/view_delivery_pipeline-minimal.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<se.diabol.jenkins.pipeline.DeliveryPipelineView plugin="delivery-pipeline-plugin">
+ <description>Test jobs created by JJB.</description>
+ <filterExecutors>false</filterExecutors>
+ <filterQueue>false</filterQueue>
+ <aggregatedChangesGroupingPattern/>
+ <allowAbort>false</allowAbort>
+ <allowManualTriggers>false</allowManualTriggers>
+ <allowPipelineStart>false</allowPipelineStart>
+ <allowRebuild>false</allowRebuild>
+ <linkRelative>false</linkRelative>
+ <linkToConsoleLog>false</linkToConsoleLog>
+ <maxNumberOfVisiblePipelines>-1</maxNumberOfVisiblePipelines>
+ <name>Test pipeline</name>
+ <noOfColumns>1</noOfColumns>
+ <noOfPipelines>3</noOfPipelines>
+ <pagingEnabled>false</pagingEnabled>
+ <showAbsoluteDateTime>false</showAbsoluteDateTime>
+ <showAggregatedChanges>false</showAggregatedChanges>
+ <showAggregatedPipeline>false</showAggregatedPipeline>
+ <showAvatars>false</showAvatars>
+ <showChanges>false</showChanges>
+ <showDescription>false</showDescription>
+ <showPromotions>false</showPromotions>
+ <showStaticAnalysisResults>false</showStaticAnalysisResults>
+ <showTestResults>false</showTestResults>
+ <showTotalBuildTime>false</showTotalBuildTime>
+ <updateInterval>2</updateInterval>
+ <sorting>None</sorting>
+ <componentSpecs>
+ <se.diabol.jenkins.pipeline.DeliveryPipelineView_-ComponentSpec>
+ <name>Test</name>
+ <firstJob>Test-A</firstJob>
+ <lastJob/>
+ <showUpstream>false</showUpstream>
+ </se.diabol.jenkins.pipeline.DeliveryPipelineView_-ComponentSpec>
+ </componentSpecs>
+</se.diabol.jenkins.pipeline.DeliveryPipelineView>
diff --git a/tests/views/fixtures/view_delivery_pipeline-minimal.yaml b/tests/views/fixtures/view_delivery_pipeline-minimal.yaml
new file mode 100644
index 00000000..3fd01318
--- /dev/null
+++ b/tests/views/fixtures/view_delivery_pipeline-minimal.yaml
@@ -0,0 +1,6 @@
+name: Test pipeline
+description: Test jobs created by JJB.
+view-type: delivery_pipeline
+components:
+ - name: Test
+ initial-job: Test-A
diff --git a/tests/views/test_views.py b/tests/views/test_views.py
index fb506310..06d153c5 100644
--- a/tests/views/test_views.py
+++ b/tests/views/test_views.py
@@ -14,6 +14,7 @@
import os
from jenkins_jobs.modules import view_all
+from jenkins_jobs.modules import view_delivery_pipeline
from jenkins_jobs.modules import view_list
from jenkins_jobs.modules import view_nested
from jenkins_jobs.modules import view_pipeline
@@ -27,6 +28,12 @@ class TestCaseModuleViewAll(base.BaseScenariosTestCase):
klass = view_all.All
+class TestCaseModuleViewDeliveryPipeline(base.BaseScenariosTestCase):
+ fixtures_path = os.path.join(os.path.dirname(__file__), "fixtures")
+ scenarios = base.get_scenarios(fixtures_path)
+ klass = view_delivery_pipeline.DeliveryPipeline
+
+
class TestCaseModuleViewList(base.BaseScenariosTestCase):
fixtures_path = os.path.join(os.path.dirname(__file__), "fixtures")
scenarios = base.get_scenarios(fixtures_path)
diff --git a/tests/yamlparser/fixtures/project-with-auth-properties.xml b/tests/yamlparser/fixtures/project-with-auth-properties.xml
new file mode 100644
index 00000000..4d4c1dfb
--- /dev/null
+++ b/tests/yamlparser/fixtures/project-with-auth-properties.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<com.cloudbees.hudson.plugins.folder.Folder plugin="cloudbees-folder">
+ <icon class="com.cloudbees.hudson.plugins.folder.icons.StockFolderIcon"/>
+ <views/>
+ <viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
+ <primaryView>All</primaryView>
+ <healthMetrics/>
+ <actions/>
+ <description>&lt;!-- Managed by Jenkins Job Builder --&gt;</description>
+ <keepDependencies>false</keepDependencies>
+ <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
+ <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
+ <concurrentBuild>false</concurrentBuild>
+ <canRoam>true</canRoam>
+ <properties>
+ <hudson.security.AuthorizationMatrixProperty>
+ <permission>hudson.model.Item.Build:auser</permission>
+ </hudson.security.AuthorizationMatrixProperty>
+ </properties>
+ <scm class="hudson.scm.NullSCM"/>
+ <publishers/>
+ <buildWrappers/>
+</com.cloudbees.hudson.plugins.folder.Folder>
diff --git a/tests/yamlparser/fixtures/project-with-auth-properties.yaml b/tests/yamlparser/fixtures/project-with-auth-properties.yaml
new file mode 100644
index 00000000..f761d8ce
--- /dev/null
+++ b/tests/yamlparser/fixtures/project-with-auth-properties.yaml
@@ -0,0 +1,12 @@
+- property:
+ name: auth-prop-test
+ properties:
+ - authorization:
+ auser:
+ - job-build
+
+- job:
+ name: auth-job-test
+ project-type: folder
+ properties:
+ - auth-prop-test
diff --git a/tox.ini b/tox.ini
index 59393908..aa93b690 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,6 @@
[tox]
minversion = 2.2
-envlist = linters, docs, py34, py35, py36, py27, cover
+envlist = linters, docs, docs-linkcheck, py34, py35, py36, py27, cover
skip_missing_interpreters = true
# custom vars (no meaning to tox)
install_test_deps = pip install -q -r test-requirements.txt
@@ -76,13 +76,15 @@ commands = jenkins-jobs test -o .test/new/out/ .test/new/config/
[testenv:docs]
commands =
{[tox]install_test_deps}
- python setup.py build_sphinx {posargs}
+ sphinx-build -n -W -b html -d doc/build/doctrees doc/source doc/build/html
[testenv:docs-linkcheck]
# If you are behind a proxy, for this test to work you will need to set
# TOX_TESTENV_PASSENV="http_proxy https_proxy no_proxy ..." to pass
# through the proxy environment settings to be able to validate any urls.
-commands = python setup.py build_sphinx -b linkcheck
+commands =
+ {[tox]install_test_deps}
+ sphinx-build -n -W -b linkcheck -d doc/build/doctrees doc/source doc/build/linkcheck
[testenv:venv]
commands = {posargs}