Contributing Code

Configure Git

Set up your user information with your real name and a working email address:

git config --global "Your Name"

git config --global

Create a Fork

Navigate to the Shopware Github Repository and click the "Fork"-Button in the upper right hand corner.

This will create a "copy" of the entire Shopware repository into your personal user namespace.

Clone your fork to your local machine

After the "forking action" has completed, clone your fork locally (this will create a shopware directory):

git clone

Add the shopware repository as upstream remote:

cd shopware

git remote add upstream

Verify the new remote named upstream:

git remote -v

origin (fetch)

origin (push)

upstream (fetch)

upstream (push)

Now that you have the shopware source code locally on your machine please follow the Git Installation Instructions.

Create a new Feature branch

Each time you want to work on a patch, create a feature branch:

git fetch upstream

git checkout -b my-new-feature upstream/5.3

The first command will fetch the latest updates from the upstream project (shopware). The second will create a new branch named my-new-feature, that is based off the 5.3-branch of the upstream remote.

Running Tests


For most tests a configured database connection is required.

Running the tests

The tests are located in the tests/ directory You can run the entire test suite with the following command:

vendor/bin/phpunit -c tests

If you want to test a single component, add its path after the phpunit command, e.g.:

vendor/bin/phpunit -c tests tests/Functional/Components/Api/

Submit your pull request

Push your branch to your github fork:

git push origin my-new-feature

Create a Pull Request on Github

Navigate back to the Shopware Github Repository and click the "Compare & pull request"-Button.

Before creating your pull request make sure that it fits our contribution guideline.

How to create a Pull Request