-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathprocess_queue.yml
60 lines (52 loc) · 1.64 KB
/
process_queue.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
---
- hosts: localhost
name: Remove participants from queue
tasks:
- name: "Clone git repository"
include_role:
name: "../../requirements_roles/infra-ansible/roles/scm/git"
vars:
action: pull
when:
- repository is defined
- name: Ensure list of email addresses is empty
set_fact:
emails_to_match: []
- name: Create a list of email addresses to search the queue
set_fact:
emails_to_match: "{{ (emails_to_match | default([])) + [ user.email ] }}"
loop:
"{{ identities.users | flatten(levels=1) }}"
loop_control:
index_var: index
loop_var: user
- name: "Remove processed files from job queue"
include_role:
name: "../../requirements_roles/infra-ansible/roles/file-management/remove-files"
vars:
dry_run: false
directory: "{{ scm_dir }}/queue"
files: "user-management-*.json"
match: "{{ emails_to_match | unique }}"
when:
- emails_to_match is defined
- name: "Push git repository"
include_role:
name: "../../requirements_roles/infra-ansible/roles/scm/git"
vars:
action: push
git_config:
name: Git Bot
username: git-bot
email: git-bot@no-reply
message: |
Removed processed files
The following files were removed from the job queue
{% for file in files_to_remove %}
- {{ file | basename }}
{% endfor %}
remove_local: false
when:
- repository is defined
- files_to_remove is defined
- files_to_remove != []