Automatic TER release from Github post

As the maintainer of several extensions for TYPO3 CMS, I have always found the release process to the TER a little bit tedious. In fact, the operation is more complicated than it seems. We must be very carful about every detail: Git tags, commit message, update the correct version number, etc... To help in this task, I have a checklist that I follow step by step. But still! And if all goes well, the procedure takes arourd 10 to 15 minutes per extension.

I had on the radar several attempts to automate the upload of the TER via Webhooks available in Github. There was, among others, the approach of Kay Strobach with this proof of concept.

The underlying idea was to trigger the upload via the creation of a Git tag. Having discussed the matter with my colleague Adrien, we followed the approach explained in detail in this article written by Claus Due. The verbosity of the article can let thing about something complexd to set up. It is not so! The implementation can be summarized in a few steps.

Preparatory tasks

  • Create a subdomain, eg http://release.example.com
  • Clone extension https://github.com/Ecodev/fluidtypo3-gizzle, the "web" folder to be the root of the document root.
  • Add a webhook for the project on GitHub
    • URL: http://release.example.com/?settings=settings/ExtensionRelease.yml
    • Secret: 12356
  • Transfer the key extension to a member "release" on typo3.org. This step is optional but recommended.

Release task

  • Update the version number in the file ext_emconf.php and composer.json.
  • Create a tag and push this tag with the command git push --tags, the extension is uploaded to TER with a generic message that points to the log on Github. Very convenient!

A few screenshots

The setup of the Webhook


Analysis of paylod to verify what has been sent to Webhook.


The return of the Webhook actually corresponding to the message sent by the TER.

This article is available in French also.

Tags: ter, github