blob: dbf7cc295154d9b0b5d609e2e336970a4884679b [file] [log] [blame]
{% from "jenkins/map.jinja" import client with context %}
include:
- jenkins.client
{%- for job_name, job in client.get('job', {}).iteritems() %}
{%- if job.enabled|default(True) %}
jenkins_job_{{ job_name }}_definition:
file.managed:
- name: {{ client.dir.jenkins_jobs_root }}/{{ job_name }}.xml
- source: salt://jenkins/files/jobs/{{ job.type }}.xml
- mode: 400
- template: jinja
- defaults:
job_name: {{ job_name }}
job: {{ job }}
- require:
- file: jenkins_client_dirs
jenkins_job_{{ job_name }}_present:
jenkins.present:
- name: {{ job_name }}
- config: {{ client.dir.jenkins_jobs_root }}/{{ job_name }}.xml
- watch:
- file: jenkins_job_{{ job_name }}_definition
- file: /etc/salt/minion.d/_jenkins.conf
{%- else %}
jenkins_job_{{ job_name }}_definition:
file.absent:
- name: {{ client.dir.jenkins_jobs_root }}/{{ job_name }}.xml
- require:
- file: jenkins_client_dirs
jenkins_job_{{ job_name }}_absent:
jenkins.absent:
- name: {{ job_name }}
- watch:
- file: /etc/salt/minion.d/_jenkins.conf
{%- endif %}
{%- endfor %}