- Docs »
- jenkins_script - Executes a groovy script in the jenkins instance
-
You are reading an unmaintained version of the Ansible documentation. Unmaintained Ansible versions can contain unfixed security vulnerabilities (CVE). Please upgrade to a maintained version. See the latest Ansible documentation.
jenkins_script - Executes a groovy script in the jenkins instance
- The
jenkins_script
module takes a script plus a dict of values to use within the script and returns the result of the script being run.
Parameter |
Choices/Defaults |
Comments |
args
|
|
A dict of key-value pairs used in formatting the script using string.Template (see https://docs.python.org/2/library/string.html#template-strings).
|
password
|
|
The password to connect to the jenkins server with.
|
script
required |
|
The groovy script to be executed. This gets passed as a string Template if args is defined.
|
timeout
(added in 2.4) |
Default:
10
|
The request timeout in seconds
|
url
|
Default:
"http://localhost:8080"
|
The jenkins server to execute the script against. The default is a local jenkins instance that is not being proxied through a webserver.
|
user
|
|
The username to connect to the jenkins server with.
|
validate_certs
bool |
|
If set to no , the SSL certificates will not be validated. This should only set to no used on personally controlled sites using self-signed certificates as it avoids verifying the source site.
|
Note
- Since the script can do anything this does not report on changes. Knowing the script is being run it’s important to set changed_when for the ansible output to be clear on any alterations made.
- name: Obtaining a list of plugins
jenkins_script:
script: 'println(Jenkins.instance.pluginManager.plugins)'
user: admin
password: admin
- name: Setting master using a variable to hold a more complicate script
vars:
setmaster_mode: |
import jenkins.model.*
instance = Jenkins.getInstance()
instance.setMode(${jenkins_mode})
instance.save()
- name: use the variable as the script
jenkins_script:
script: "{{ setmaster_mode }}"
args:
jenkins_mode: Node.Mode.EXCLUSIVE
- name: interacting with an untrusted HTTPS connection
jenkins_script:
script: "println(Jenkins.instance.pluginManager.plugins)"
user: admin
password: admin
url: https://localhost
validate_certs: no
Common return values are documented here, the following are the fields unique to this module:
Key |
Returned |
Description |
output
string
|
success |
Result of script
Sample:
Result: true
|
This module is flagged as preview which means that it is not guaranteed to have a backwards compatible interface.
This module is flagged as community which means that it is maintained by the Ansible Community. See Module Maintenance & Support for more info.
For a list of other modules that are also maintained by the Ansible Community, see here.
Hint
If you notice any issues in this documentation you can edit this document to improve it.