community.general.jenkins_script 模块 – 在 Jenkins 实例中执行 Groovy 脚本
注意
此模块是 community.general 集合 (版本 10.1.0) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。
要在 playbook 中使用它,请指定:community.general.jenkins_script
。
概要
jenkins_script
模块接收一个脚本以及要在脚本中使用的值的字典,并返回脚本运行的结果。
参数
参数 |
注释 |
---|---|
用于使用 string.Template 格式化脚本的键值对字典 (参见 https://docs.pythonlang.cn/2/library/string.html#template-strings)。 |
|
连接到 Jenkins 服务器的密码。 |
|
要执行的 Groovy 脚本。如果定义了 args,则将其作为字符串模板传递。 |
|
请求超时时间(秒) 默认值: |
|
要针对其执行脚本的 Jenkins 服务器。默认值为未通过 Web 服务器代理的本地 Jenkins 实例。 默认值: |
|
连接到 Jenkins 服务器的用户名。 |
|
如果设置为 选项
|
属性
属性 |
支持 |
描述 |
---|---|---|
支持:不支持 |
可以在 |
|
支持:不支持 |
处于差异模式时,将返回有关已更改内容(或可能需要在 |
备注
注意
由于脚本可以执行任何操作,因此不会报告更改。知道正在运行脚本很重要,因此需要为 ansible 输出设置 changed_when,以便清楚地了解所做的任何更改。
示例
- 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://127.0.0.1
validate_certs: false # only do this when you trust the network!
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
脚本的结果 返回:成功 示例: |