Automatically Release an Extension to the Shopware Store
Prerequisites
- You are logged into the Shopware Store. Check out the Authentication guide for more information.
- You have a zip file of your extension with all assets. Check out the Building Extensions and Creating Archives guide for more information.
- The zip file contains a
CHANGELOG*.mdfile with a changelog entry for the new version. Having a German changelog is optional. - You have validated the zip file with
shopware-cli extension validate <zip-path>. See the Validation guide for more information.
Releasing the extension
To release the extension to the Shopware Store, upload the zip file using the shopware-cli account producer extension upload command. This is primarily designed for CI/CD pipelines to automate extension releases:
shopware-cli account producer extension upload <zip-path>The upload process:
- Reads name and version: Both are taken from the zip file, so the extension must already exist in your producer account
- Creates or reuses the version: Creates a new binary for that version, or updates the existing binary if that version was already uploaded and is not published yet
- Pushes metadata: Sends the changelog entries and the list of compatible Shopware versions, derived from the Composer constraint in
composer.jsonormanifest.xml - Uploads the package: Sends your zip file to the Shopware Store
- Triggers the automatic code review and waits for its result (may take several minutes)
- Reports results: Shows whether the code review passed, passed with warnings, or failed
If the code review fails, the command exits with an error. Fix the issues and upload again.
If a version is already published in the Store, its binary can no longer be replaced. The command detects this, logs a message indicating the binary/version is already published and skips the upload, and exits successfully. Upload a new version instead.
What happens after the upload
This workflow does not require a separate CLI release, publish, or approve step. The upload command submits the extension version, triggers the automatic code review, and waits for its result by default, unless waiting is skipped with --skip-for-review-result.
No additional CLI command is required after extension upload.
After the automatic review completes, check the version status in your Shopware Account to see whether any further approval or publication steps remain.
Two things are worth keeping in mind:
- A first submission requires additional review. A brand-new extension also goes through Shopware's functional test and manual code review before it appears in the Store. See Shopware Store Review and Quality guide.
- The automatic review is not the full Store review. Passing the automatic code review does not guarantee final Store approval. See the Validation guide for what the automated checks do and do not cover.
You can verify the state at any time in your Shopware Account under the extension's version overview, which shows the version status, the analyses that ran (basic extension analysis, code quality analysis), and the most recent review result.
Waiting for the review result in CI
By default, the command waits 10 seconds and then polls the review result up to 10 times with a 15-second interval (roughly two and a half minutes in total). If the review has not finished by then, the command logs Skipping waiting for code review result as it took too long and exits successfully. A green pipeline does not by itself prove that the review passed. Check the result in the Account, or handle the review result separately in your CI/CD workflow.
Use --skip-for-review-result to return immediately after triggering the review, for pipelines that report the outcome separately:
shopware-cli account producer extension upload <zip-path> --skip-for-review-resultThis workflow lets you automate uploading an extension version and triggering its automatic code review from your CI/CD pipeline. Check the version status in your Shopware Account for any remaining review or publication steps.