community.general.jenkins_script module – Executes a groovy script in the jenkins instance
Note
This module is part of the community.general collection (version 9.4.0).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.general
.
To use it in a playbook, specify: community.general.jenkins_script
.
Synopsis
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.
Parameters
Parameter |
Comments |
---|---|
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). |
|
The password to connect to the jenkins server with. |
|
The groovy script to be executed. This gets passed as a string Template if args is defined. |
|
The request timeout in seconds Default: |
|
The jenkins server to execute the script against. The default is a local jenkins instance that is not being proxied through a webserver. Default: |
|
The username to connect to the jenkins server with. |
|
If set to Choices:
|
Attributes
Attribute |
Support |
Description |
---|---|---|
Support: none |
Can run in |
|
Support: none |
Will return details on what has changed (or possibly needs changing in |
Notes
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.
Examples
- name: Obtaining a list of plugins
community.general.jenkins_script:
script: 'println(Jenkins.instance.pluginManager.plugins)'
user: admin
password: admin
- name: Setting master using a variable to hold a more complicate script
ansible.builtin.set_fact:
setmaster_mode: |
import jenkins.model.*
instance = Jenkins.getInstance()
instance.setMode(${jenkins_mode})
instance.save()
- name: Use the variable as the script
community.general.jenkins_script:
script: "{{ setmaster_mode }}"
args:
jenkins_mode: Node.Mode.EXCLUSIVE
- name: Interacting with an untrusted HTTPS connection
community.general.jenkins_script:
script: "println(Jenkins.instance.pluginManager.plugins)"
user: admin
password: admin
url: https://localhost
validate_certs: false # only do this when you trust the network!
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Result of script Returned: success Sample: |