|
|
|
---
|
|
|
|
- name: Create an SCM Credential
|
|
|
|
tower_credential:
|
|
|
|
name: SCM Credential for JT
|
|
|
|
organization: Default
|
|
|
|
kind: scm
|
|
|
|
|
|
|
|
- name: Create a Demo Project
|
|
|
|
tower_project:
|
|
|
|
name: Job Template Test Project
|
|
|
|
organization: Default
|
|
|
|
state: present
|
|
|
|
scm_type: git
|
|
|
|
scm_url: https://github.com/ansible/ansible-tower-samples.git
|
|
|
|
scm_credential: SCM Credential for JT
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- name: Update the project (to clone the git repo)
|
|
|
|
uri:
|
|
|
|
url: "https://{{ lookup('env', 'TOWER_HOST') }}/api/v2/projects/{{ result.id }}/update/"
|
|
|
|
method: POST
|
|
|
|
user: "{{ lookup('env', 'TOWER_USERNAME') }}"
|
|
|
|
password: "{{ lookup('env', 'TOWER_PASSWORD') }}"
|
|
|
|
validate_certs: false
|
|
|
|
status_code: 202
|
|
|
|
force_basic_auth: true
|
|
|
|
|
|
|
|
- name: Wait for the project to be status=successful
|
|
|
|
uri:
|
|
|
|
url: "https://{{ lookup('env', 'TOWER_HOST') }}/api/v2/projects/{{ result.id }}/"
|
|
|
|
method: GET
|
|
|
|
user: "{{ lookup('env', 'TOWER_USERNAME') }}"
|
|
|
|
password: "{{ lookup('env', 'TOWER_PASSWORD') }}"
|
|
|
|
validate_certs: false
|
|
|
|
force_basic_auth: true
|
|
|
|
return_content: true
|
|
|
|
register: result
|
|
|
|
until: result.json.status == "successful"
|
|
|
|
retries: 60
|
|
|
|
delay: 1
|
|
|
|
|
|
|
|
- name: Create a Job Template
|
|
|
|
tower_job_template:
|
|
|
|
name: my-job-1
|
|
|
|
project: Job Template Test Project
|
|
|
|
inventory: Demo Inventory
|
|
|
|
playbook: hello_world.yml
|
|
|
|
credential: Demo Credential
|
|
|
|
job_type: run
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- name: Create a second Job Template
|
|
|
|
tower_job_template:
|
|
|
|
name: my-job-2
|
|
|
|
project: Job Template Test Project
|
|
|
|
inventory: Demo Inventory
|
|
|
|
playbook: hello_world.yml
|
|
|
|
credential: Demo Credential
|
|
|
|
job_type: run
|
|
|
|
state: present
|
|
|
|
|
|
|
|
- name: Add a Survey to second Job Template
|
|
|
|
tower_job_template:
|
|
|
|
name: my-job-2
|
|
|
|
project: Job Template Test Project
|
|
|
|
inventory: Demo Inventory
|
|
|
|
playbook: hello_world.yml
|
|
|
|
credential: Demo Credential
|
|
|
|
job_type: run
|
|
|
|
state: present
|
|
|
|
survey_enabled: yes
|
|
|
|
survey_spec: '{"spec": [{"index": 0, "question_name": "my question?", "default": "mydef", "variable": "myvar", "type": "text", "required": "false"}], "description": "test", "name": "test"}'
|
|
|
|
|
|
|
|
|
|
|
|
- name: Create a workflow job template
|
|
|
|
tower_workflow_template:
|
|
|
|
name: my-workflow
|
|
|
|
schema: '[{"success": [{"job_template": "my-job-1"}], "job_template": "my-job-2"}]'
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result is changed"
|
|
|
|
|
|
|
|
- name: Delete a workflow job template
|
|
|
|
tower_workflow_template:
|
|
|
|
name: my-workflow
|
|
|
|
state: absent
|
|
|
|
register: result
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result is changed"
|
|
|
|
|
|
|
|
- name: Check module fails with correct msg
|
|
|
|
tower_workflow_template:
|
|
|
|
name: my-workflow
|
|
|
|
organization: Non Existing Organization
|
|
|
|
schema: '[{"success": [{"job_template": "my-job-1"}], "job_template": "my-job-2"}]'
|
|
|
|
register: result
|
|
|
|
ignore_errors: true
|
|
|
|
|
|
|
|
- assert:
|
|
|
|
that:
|
|
|
|
- "result.msg =='Failed to update organization source,organization not found: The requested object could not be found.'"
|