--- - name: setup local_action: module: jenkins_job name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" state: absent register: result - name: verify setup assert: that: - result is successful - name: test fail on missing params local_action: module: jenkins_job name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" register: result ignore_errors: true - name: verify test fail on missing params assert: that: - result is failed - 'result.msg == "one of the following params is required on state=present: config,enabled"' - name: test create a job local_action: module: jenkins_job config: "{{ lookup('template', 'config.xml.j2') }}" name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" register: result - name: verify test create a job assert: that: - result is successful - result is changed - result.enabled - name: test create a job idempotence local_action: module: jenkins_job config: "{{ lookup('template', 'config.xml.j2') }}" name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" register: result - name: verify test create a job idempotence assert: that: - result is successful - result is not changed - result.enabled - name: test create a enabled job idempotence local_action: module: jenkins_job name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" enabled: true register: result - name: verify test create a enabled job idempotence assert: that: - result is successful - result is not changed - result.enabled - name: test update a job local_action: module: jenkins_job config: "{{ lookup('template', 'config.xml.j2') }}" name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" register: result vars: jenkins_days_to_keep: 10 - name: verify test create a enabled job idempotence assert: that: - result is successful - result is changed - result.enabled - name: test disable an existing job without config local_action: module: jenkins_job name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" enabled: false register: result - name: verify test disable an existing job without config assert: that: - result is successful - result is changed - not result.enabled - name: test disable an existing job without config idempotence local_action: module: jenkins_job name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" enabled: false register: result - name: verify test disable an existing job without config idempotence assert: that: - result is successful - result is not changed - not result.enabled - name: test reset to config job local_action: module: jenkins_job config: "{{ lookup('template', 'config.xml.j2') }}" name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" register: result - name: verify test reset to config job assert: that: - result is successful - result is changed - name: test remove job local_action: module: jenkins_job name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" state: absent register: result - name: verify test remove job assert: that: - result is successful - result is changed - name: test remove job idempotence local_action: module: jenkins_job name: test.job url: "{{ jenkins_url }}" user: "{{ jenkins_user }}" password: "{{ jenkins_password }}" state: absent register: result - name: verify test remove job idempotence assert: that: - result is successful - result is not changed