]> git.immae.eu Git - github/fretlink/ansible-rundeck-jobs.git/commitdiff
Unmask Job creation error 12/head
authorGaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
Mon, 15 Nov 2021 14:34:49 +0000 (15:34 +0100)
committerGaëtan Duchaussois <gaetan.duchaussois@fretlink.com>
Mon, 15 Nov 2021 14:34:49 +0000 (15:34 +0100)
The rundeck job creation api endpoint always return 200 with the result
in the body. The ansible action always succeed. This PR displays the
errors and if `rundeck_ignore_creation_error` is set to false, fails.

README.md
defaults/main.yml
tasks/rundeck.yml

index 5a99be8b035ac4f28d103f12b8d93b95930e535e..cc3a38eebd4a6a26b4ae0d7cff7e35dbd08d41b7 100644 (file)
--- a/README.md
+++ b/README.md
@@ -18,6 +18,7 @@ Role Variables
 * `rundeck_api_version` api version supported by rundeck server. Default to 26.
 * `rundeck_remove_missing` Whether to delete jobs present in rundeck and not in file. Defaults to true.
 * `rundeck_jobs_group` the group of job to check for removal
+* `rundeck_ignore_creation_errors` whether to ignore job creation error. Default to true to follow the 200 statu given by rundeck API
 
 A [dhall](https://dhall-lang.org/) Type representing the roles' variables is available in the `./dhall/Config.dhall` file to help you configure your projects with some type checking.
 
@@ -42,7 +43,7 @@ Including an example of how to use your role (for instance, with variables passe
 License
 -------
 
-TBD
+BSD
 
 Author Information
 ------------------
index 87958ec5e48cae180fea10bb6b6774fae3d633e8..32342aab7eb855e76caff36d335cf5b0c782d169 100644 (file)
@@ -1,3 +1,4 @@
 ---
 rundeck_api_version: 26
 rundeck_remove_missing: true
+rundeck_ignore_creation_error: true
index 007b86ee73a3c94e10042268c859205d47018661..1250d24b9a631f98424bca183f1c8217d5941f8b 100644 (file)
   register: rundeck_create_jobs
   with_items: "{{ rundeck_jobs_files.files}}"
 
+- name: Check if a job failed
+  fail:
+    msg: "Job defined in {{ file }} has failed with message: {{ message }}"
+  with_items: "{{ rundeck_create_jobs.results }}"
+  loop_control:
+    label: "{{ item.item.path }}"
+  vars:
+    file: "{{ item.item.path }}"
+    message: "{{ item.json.failed }}"
+  when: item.json.failed|length > 0
+  ignore_errors: "{{ rundeck_ignore_creation_error }}"
+
 - name: Get all jobs
   uri:
     url: "{{rundeck_api_url }}/{{rundeck_api_version}}/project/{{ rundeck_project }}/jobs?groupPathExact={{ rundeck_jobs_group | default(rundeck_empty_group_path) }}"