Drupal is a registered trademark of Dries Buytaert
Views Bootstrap 5.5.2 Minor update available for module views_bootstrap (5.5.2). oEmbed Providers 3.0.0 Major update available for module oembed_providers (3.0.0). Byte (theme) 1.0.3 Minor update available for theme byte_theme (1.0.3). Token Content Access 3.1.3 Minor update available for module tca (3.1.3). Emulsify 7.2.1 Minor update available for theme emulsify (7.2.1). Opensolr Search 4.1.0 Minor update available for module opensolr_search (4.1.0). AG-UI 1.0.2 Minor update available for module agui (1.0.2). FileGate 1.5.0 Minor update available for module file_gate (1.5.0). oEmbed Providers 2.2.4 Module oembed_providers updated after 7 months of inactivity (2.2.4). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module provides a service to trigger automation jobs on AWX, Ansible Tower, or Red Hat Ansible Automation Platform. It allows other Drupal modules to easily launch job templates via the REST API, without needing to handle the underlying communication details themselves. This is useful for driving infrastructure automation tasks directly from Drupal.

The AWX / Ansible Tower Client module provides a lightweight Drupal service for launching automation jobs on an AWX / Ansible Tower / Red Hat Ansible Automation Platform instance via its REST API. It gives other modules a single, reusable API client for triggering job templates and surfacing the resulting job in AWX, without each module having to reinvent HTTP plumbing, authentication, logging, and configuration.

Use it any time you want Drupal to drive infrastructure or operational automation — provisioning environments, kicking off backups, restarting services, deploying configuration, running ad-hoc playbooks from a workflow, and so on. It is intentionally small: a client library wrapped in a configuration form, not a workflow engine.

Features

  • A single, autowired awx.awx_client service for launching job templates from any module.
  • Launch a template by name (the numeric ID is resolved automatically) so you never hardcode instance-specific IDs — or by numeric ID when you already have it.
  • Typed failure modes for clean error handling, and a helper to link operators straight to the running job in AWX.
  • A simple settings form for the AWX URL, API token, connect/response timeouts, and TLS verification.

Usage

The module exposes no UI for launching jobs. Inject the awx.awx_client service into your own code and launch a job template by name:

$job_id = $awx_client->createJobFromTemplateName('Provision customer', $extra_vars);

Check the return value against AwxClient::REQUEST_FAILURE_MODES to handle errors, and use getJobUrl($job_id) to link operators to the job in AWX.

Configuration

After enabling, visit Administration → Configuration → Web services → AWX / Ansible Tower (/admin/config/services/awx) to set the base URL, API token, timeouts, and TLS verification.

Why not a generic HTTP / webhook module?

General-purpose HTTP client and webhook modules can be wired up to AWX manually, but they make each consumer handle authentication, endpoint construction, error semantics, and logging on its own. This module is purpose-built for AWX / Ansible Tower's job-template API (name lookup and /api/v2/job_templates/{id}/launch/) and exposes it as a typed Drupal service.

Activity

Total releases
4
First release
May 2026
Latest release
1 month ago
Releases (12 mo)
4 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.0.0-alpha3 Pre-release Jun 2, 2026
1.0.0-alpha2 Pre-release May 26, 2026
1.0.0-alpha1 Pre-release May 2, 2026
1.x-dev Dev May 2, 2026