Skip to main content

Overview

Projects in AWX represent source control repositories containing Ansible playbooks. They synchronize content from Git, Subversion, or other SCM systems.

Endpoints

List Projects

Create Project

string
required
Project name (unique within organization)
string
Project description
integer
required
Organization ID
string
default:""
Source control type: git, svn, insights, archive, or empty for manual
string
SCM repository URL (required if scm_type is set)
string
default:""
SCM branch, tag, or commit to checkout
string
default:""
Git refspec for advanced SCM operations
boolean
default:"false"
Discard local changes before syncing
boolean
default:"false"
Delete repository on update
boolean
default:"false"
Track Git submodules
integer
SCM credential ID for authentication
integer
default:"0"
Update timeout in seconds (0 = no timeout)
string
Local path for manual projects (read-only for SCM projects)
boolean
default:"false"
Update repository before running jobs
integer
default:"0"
Cache timeout for project updates (seconds)
boolean
default:"false"
Allow changing branch per job template
integer
Default execution environment ID

Retrieve Project

Response Schema

integer
Project ID
string
Project name
string
Project description
string
SCM type: git, svn, insights, archive, or empty
string
Repository URL
string
Branch/tag/commit
string
Git refspec
boolean
Whether to discard local changes
boolean
Whether to delete repo on update
boolean
Whether to track submodules
boolean
Whether to update before job launch
integer
Update cache timeout
boolean
Whether job templates can override branch
integer
Update timeout
string
Latest SCM revision (read-only)
string
Last update timestamp
boolean
Whether last update failed
string
Project status: new, pending, waiting, running, successful, failed, error, canceled, never updated, ok, missing
integer
Organization ID
Links to related resources:
  • organization - Parent organization
  • credential - SCM credential
  • default_environment - Default execution environment
  • playbooks - Available playbooks
  • inventories - SCM-based inventories
  • scm_inventory_sources - Inventory sources using this project
  • teams - Teams with access
  • project_updates - Update history
  • update - Trigger update endpoint
  • schedules - Update schedules
  • activity_stream - Activity log
  • notification_templates_* - Notification templates
  • access_list - Access list
  • object_roles - Available roles
  • copy - Copy endpoint

Update Project

Delete Project

Trigger Project Update

Manually sync the project from SCM:
Returns a project_update job that you can monitor.

Copy Project

List Playbooks

Get available playbooks in the project:
Returns an array of playbook filenames.

List Project Inventories

Get SCM-based inventories:

Project Updates

List Project Updates

Get Latest Update

Project Schedules

Project Teams

Notification Templates

Started Notifications

Success Notifications

Error Notifications

Object Roles

Available roles:
  • admin_role - Full project administration
  • use_role - Use project in job templates
  • update_role - Trigger project updates
  • read_role - View project details

Activity Stream

Access List

SCM Types

Git

Subversion

Archive

Manual

Filtering

Ordering

Complete Example

Best Practices

Enable scm_update_on_launch to ensure playbooks are up-to-date before job runs.
Use scm_update_cache_timeout to avoid excessive SCM updates:
Enable allow_override to let job templates specify different branches.
Use SCM credentials for private repositories:
Always monitor project_update jobs to catch sync failures early.