Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Usage Milestone: Google Analytics Module google_analytics crossed 1,000 active installs. Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Release: GraphQL Compose Codegen 1.1.2 Minor update available for module graphql_compose_codegen (1.1.2). Release: Mapy.com 1.1.3 Minor update available for module mapycom (1.1.3). Release: Ckeditor5 entity browser 3.0.3 Minor update available for module ckeditor5_entity_browser (3.0.3). Release: Ckeditor5 entity browser 3.0.1 Minor update available for module ckeditor5_entity_browser (3.0.1). Release: Ckeditor5 entity browser 3.0.2 Minor update available for module ckeditor5_entity_browser (3.0.2). Release: Teamleader Integration 4.0.2 Minor update available for module teamleader (4.0.2). Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

This module allows Drush commands to be executed over HTTP, which is useful for ensuring logs are recorded on certain hosting platforms and for maintaining compliance. You configure it by mapping HTTP aliases to specific Drush commands, and then trigger these commands with a POST request containing the alias.

The HTTP Drush Wrapper module allows for Drush commands to be executed via an HTTP endpoint.

On Acquia Cloud Next (ACN), there is a known issue where Watchdog logs are not recorded when Drupal requests are executed via SSH, Cloud Hooks, or Scheduled Jobs. When initiating requests via HTTP, Watchdog logs are recorded as expected. (This behavior is a regression and does not affect Acquia Cloud Classic (ACC).) While there may be other uses cases, this module was designed to allow ACN customers to maintain FedRAMP compliance.

Commands are executed with the Symfony Process component.

Post-Installation

Grant the administer http drush wrapper permission to users as necessary. Grant this permission to trusted roles only. This permission has security implications.

Navigate to /admin/config/services/http-drush-wrapper to configure the module.

For security reasons, commands cannot be executed directly via HTTP. Instead, define an alias-command mapping for each command. The alias will be called via HTTP request.

The php:eval command is disallowed to prevent remote execution of PHP code.

Usage

To execute a Drush command via HTTP, ensure the configuration step is completed and the endpoint is enabled. Send a POST request to /http-drush with a JSON payload, which contains two properties:

  • access_key: The value of the selected Access Key
  • command_alias: The alias of the command to be run

E.g. Instead of executing drush cron in a Scheduled Job, execute the following via cURL instead:

curl -X POST -H "Content-Type: application/json" -d '{"command_alias": "cron", "access_key": "abc123"}' https://mysite.com/http-drush

Additional Requirements

This module has the following dependencies:

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Feb 2026
Latest release
6 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Slowing

Releases

Version Type Core Release date
1.0.0-beta1 Pre-release 10–11 Feb 3, 2026