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).

Config Pull Request

30 sites Security covered Drupal 10–11
View on drupal.org

This module allows users to create pull requests for configuration changes made through the Drupal UI. It automates the process of committing UI-based configuration updates to your codebase, preventing accidental reverts and simplifying workflow for site builders unfamiliar with command-line Git.

Config Pull Request lets site builders and stakeholders turn Drupal configuration changes made in the admin UI into a pull request on GitHub or GitLab — with no command line and no Git knowledge.

It is built for two situations: people who need to export configuration but do not use Git on the command line, and sites where configuration is imported automatically on deployment, so UI changes are silently reverted unless someone commits them.

Works with Drupal 10, 11 and 12.

How it works

  1. Make your configuration changes in the admin UI as usual.
  2. Go to the Configuration synchronization page and open the Pull Request tab.
  3. Select the configuration you want to keep, confirm the repository, add a title and description, and submit.
  4. The module authenticates against the repository and opens the pull request. It can also notify developers.
  5. A code reviewer reviews, comments, accepts or rejects it.

Note: you do not need a local repository on your Live or Staging environment. This module pushes directly to the repository using APIs.

Case study

Some changes are needed to the Google Analytics configuration.

With this module:

  1. The Audience Dev team makes the tweaks on Staging.
  2. They go to the Config Pull Request page, select the configuration they want to keep, and issue a pull request.
  3. They create a ticket and assign it to the pull request.
  4. The developers review, test and merge.
  5. The ticket is deployed.
  6. The Audience Dev team gets exactly what they asked for.

Without it, the workflow is usually:

  1. Audience Dev requests changes to the Google Analytics module.
  2. A product manager writes a ticket — and not every requirement makes it in.
  3. A developer implements the ticket — and may misunderstand what was wanted.
  4. A tester checks it — and, being human, can miss what the developer missed.
  5. The ticket goes live.
  6. Audience Dev finds a problem.
  7. Back to step 1.

Pros

  • Speeds up exporting last minute or urgent changes
  • Lets stakeholders tweak configuration quickly and keep the changes
  • Helps site builders export configuration without the command line
  • Keeps the intent, the author and the discussion in the pull request

Supported repositories

  • GitHub, including GitHub Enterprise
  • GitLab, including self-managed GitLab
  • BitBucket (in development)

Installation

composer require 'drupal/config_pr:^3.0'

Enable the main module and the sub-module for your host. GitHub support works straight away. For GitLab, also require the client library:

composer require m4tthumphrey/php-gitlab-api:^12

Then add a repository access token on your user profile, and set the repository owner and name in the module settings. Each module and sub-module has a README listing its Composer dependencies.

Your repository needs at least one configuration export already committed before the first pull request can be created.

Security

Access tokens are stored per user rather than site-wide, so everyone acts as themselves on the repository and the audit trail stays accurate. Both forms are permission-controlled, and the token field is hidden from users without the relevant permission. Give tokens the narrowest scope that still allows creating branches and pull requests.

Similar modules

Config Patch — provides a framework for generating patch files for configuration, that is, the differences between active and sync configuration.

Screenshots

Demo

Contributing

Bug reports and feature requests are welcome in the issue queue.

Depends on

Dependencies of the latest stable release

  • config Drupal core
  • field Drupal core

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
4
Tracked since
Feb 2025
Latest release
1 week ago
Releases (12 mo)
2
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
3.0.0 Stable 10–11 Aug 24, 2026
3.0.x-dev Dev 10–11 Aug 24, 2026
8.x-2.0-beta3 Pre-release 8–11 Feb 20, 2025
8.x-2.0-beta2 Pre-release 8–11 Feb 16, 2025