diff --git a/lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py b/lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py index 73f252bfa9a..f59949d5599 100644 --- a/lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py +++ b/lib/ansible/modules/web_infrastructure/ansible_tower/tower_project.py @@ -146,16 +146,19 @@ def main(): org = org_res.get(name=organization) except (exc.NotFound) as excinfo: module.fail_json(msg='Failed to update project, organization not found: {0}'.format(organization), changed=False) - try: - cred_res = tower_cli.get_resource('credential') - cred = cred_res.get(name=scm_credential) - except (exc.NotFound) as excinfo: - module.fail_json(msg='Failed to update project, credential not found: {0}'.format(scm_credential), changed=False) + if scm_type: + try: + cred_res = tower_cli.get_resource('credential') + cred = cred_res.get(name=scm_credential) + except (exc.NotFound) as excinfo: + module.fail_json(msg='Failed to update project, credential not found: {0}'.format(scm_credential), changed=False) + + credential = cred['id'] if scm_type else None result = project.modify(name=name, description=description, organization=org['id'], scm_type=scm_type, scm_url=scm_url, local_path=local_path, - scm_branch=scm_branch, scm_clean=scm_clean, credential=cred['id'], + scm_branch=scm_branch, scm_clean=scm_clean, credential=credential, scm_delete_on_update=scm_delete_on_update, scm_update_on_launch=scm_update_on_launch, create_on_missing=True)