diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py index bd4e992a4..d893627f8 100644 --- a/jenkins_jobs/modules/builders.py +++ b/jenkins_jobs/modules/builders.py @@ -3953,6 +3953,7 @@ def ansible_playbook(parser, xml_parent, data): :inventory-type values: * **path** * **content** + * **do-not-specify** :arg dict inventory: Inventory data, depends on inventory-type @@ -4016,7 +4017,7 @@ def ansible_playbook(parser, xml_parent, data): except KeyError as ex: raise MissingAttributeError(ex) - inventory_types = ('path', 'content') + inventory_types = ('path', 'content', 'do-not-specify') inventory_type = str( data.get('inventory-type', inventory_types[0])).lower() @@ -4040,6 +4041,9 @@ def ansible_playbook(parser, xml_parent, data): XML.SubElement(inventory, 'content').text = content XML.SubElement(inventory, 'dynamic').text = str( inv_data.get('dynamic', False)).lower() + elif inventory_type == 'do-not-specify': + inventory.set( + 'class', 'org.jenkinsci.plugins.ansible.InventoryDoNotSpecify') else: raise InvalidAttributeError( 'inventory-type', inventory_type, inventory_types) diff --git a/tests/builders/fixtures/ansible-playbook003.xml b/tests/builders/fixtures/ansible-playbook003.xml new file mode 100644 index 000000000..eecfc273b --- /dev/null +++ b/tests/builders/fixtures/ansible-playbook003.xml @@ -0,0 +1,21 @@ + + + + + path/to/playbook.yml + + + + + + + false + 5 + true + false + false + + false + + + diff --git a/tests/builders/fixtures/ansible-playbook003.yaml b/tests/builders/fixtures/ansible-playbook003.yaml new file mode 100644 index 000000000..0ee8b01d1 --- /dev/null +++ b/tests/builders/fixtures/ansible-playbook003.yaml @@ -0,0 +1,5 @@ +--- +builders: + - ansible-playbook: + playbook: "path/to/playbook.yml" + inventory-type: "do-not-specify"