28 lines
958 B
YAML
28 lines
958 B
YAML
---
|
|
|
|
# When the job doesn't exist, we provide an empty XML, and then work
|
|
# directly on the jenkins_home/jobs/JOB/config.xml file
|
|
- name: Create a empty job
|
|
shell: "echo '<project />' | {{ jenkins_cli_command }} create-job {{ job.key | quote }}"
|
|
when: job.key not in current_jobs_list.stdout_lines
|
|
|
|
- name: Upload job config template
|
|
template:
|
|
src: "{{ item }}"
|
|
# if job exists, we write directly to jobs/JOBNAME/config.xml, else we write to the tmp file.
|
|
dest: "{{ jenkins_home + '/jobs/' + job.key + '/config.xml' }}"
|
|
mode: 0600
|
|
owner: jenkins
|
|
group: jenkins
|
|
backup: yes
|
|
force: yes
|
|
with_first_found:
|
|
- "jobs/config.xml.{{ ansible_fqdn }}.{{ job.key }}.j2"
|
|
- "jobs/config.xml.{{ job.key }}.j2"
|
|
- "jobs/config.xml.{{ ansible_fqdn }}.j2"
|
|
- "jobs/config.xml.j2"
|
|
register: jobconfig
|
|
|
|
- name: Reload the job
|
|
shell: "{{ jenkins_cli_command }} reload-job {{ job.key | quote }}"
|
|
when: jobconfig.changed
|