Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - name: Compare plugins
- hosts: jenkins[0]
- gather_facts: false
- #connection: local
- tasks:
- - name: Load active plugins list from Jenkins
- jenkins_script:
- script: |
- import groovy.json.JsonOutput
- def plugins = []
- jenkins.model.Jenkins.instance.getPluginManager().getPlugins().each{
- plug = [:]
- plug.put('name', it.getShortName())
- plug.put('version', it.getVersion().split(' ')[0])
- plugins.add(plug)
- }
- println(JsonOutput.toJson(plugins.sort{a,b -> a.name <=> b.name}))
- url: "{{ jenkins_instance_url }}"
- user: "{{ jenkins_ext_admin_username }}"
- password: "{{ jenkins_ext_admin_password }}"
- timeout: "{{ jenkins_script_timeout }}"
- register: active_plugins_list
- - name: Get plugins diffirence
- assert:
- that: "(jenkins_plugins | json_query('[?state != `disabled`]') | sort | difference(active_plugins_list.output | from_json | sort) | length) == 0"
- msg: "Found different versions of Jenkins plugins:\n{{ jenkins_plugins | json_query('[?state != `disabled`]') | sort | difference(active_plugins_list.output | from_json | sort) | to_yaml }}"
Add Comment
Please, Sign In to add comment