Skip to content
Rules 8.x-3.x development
PHP Other
  1. PHP 99.4%
  2. Other 0.6%
Branch: 8.x-3.x
Clone or download

Rules for Drupal 8

Build Status

The Rules module allows site administrators to define conditionally executed actions based on occurring events (ECA-rules).


Link to Rules 8.x-3.x contributing tasks.

For some time, development will happen on GitHub using the pull request model: in case you are not familiar with that, please take a few minutes to read the GitHub article on using pull requests.

There are a few conventions that should be followed when contributing:

  • Always create an issue in the Rules issue queue for every pull request you are working on.
  • Always cross-reference the Issue in the Pull Request and the Pull Request in the issue.
  • Always create a new branch for every pull request: its name should contain a brief summary of the ticket and its issue id, e.g readme-2276369.
  • Try to keep the history of your pull request as clean as possible by squashing your commits: you can look at the Symfony documentation or at the Git book for more information on how to do that.

For further information on how to contribute please refer to our documentation.

Checking coding style

The module comes with a phpcs setup that is verifying a correct coding style. To run the check just execute the following command from the rules module directory:

  # Install phpcs as local dev dependency, then run it:
  composer install

  # If there are some coding style violations that can be fixed
  # automatically, use the code beautifier:

Executing the automated tests

This module comes with PHPUnit tests. You need a working Drupal 8 installation and a checkout of the Rules module in the modules folder.

Unit tests only

cd /path/to/drupal-8/core
../vendor/bin/phpunit ../modules/rules/tests/src/Unit
../vendor/bin/phpunit ../modules/rules/tests/src/Integration

Unit tests and kernel/web tests

Make sure to use your DB connection details for the SIMPLETEST_DB and the URL to your local Drupal installation for SIMPLETEST_BASE_URL.

cd /path/to/drupal-8/core
export SIMPLETEST_DB=mysql://drupal-8:password@localhost/drupal-8
export SIMPLETEST_BASE_URL=http://drupal-8.localhost
../vendor/bin/phpunit ../modules/rules

Example for executing one single test file during development:

../vendor/bin/phpunit ../modules/rules/tests/src/Unit/ActionSetTest.php

You can also execute the test cases from the web interface at /admin/config/development/testing.

You can’t perform that action at this time.