[FEATURE] Outgoing Webhooks for TYPO3
A webhook is an automated message sent from one application to another via HTTP. Most modern web applications have the ability to communicate either via outgoing or incoming webhooks. This way of communication allows application users to integrate multiple systems without writing code (so-called no-code/low-code integrations). TYPO3 provides the incoming webhooks part via the system extension "reactions". This feature now allows configuring outgoing webhooks in the TYPO3 backend - completing the round trip. A new backend module is added called "Webhooks" where any administrative user can create a webhook. At its' core a webhook consists of a trigger (when something should happen) and a target URL (what should happen). Every time the webhook is triggered, an HTTP request is sent to the target URL. With this feature, the request can be either a POST or a GET request. POST requests commonly contain data, and GET requests can trigger actions in third-party systems. The webhooks extension provides various triggers as examples - for example a trigger when a page is created or updated, or a file is added or removed - however, additional triggers can be provided in the future and custom triggers can be written by extension authors and project developers. The backend module also enforces the setting of a secret for each webhook which can be used to verify that the webhook request originated from the TYPO3 system and its' payload has not been modified in the meantime. Under the hood, the webhooks extension uses the TYPO3 queue and therefore the Symfony messenger component, which provides a flexible and extensible way for handling messages either synchronously or asynchronously. Co-authored-by:Oliver Bartsch <bo@cedev.de> Co-authored-by:
Susanne Moog <look@susi.dev> Co-authored-by:
Benni Mack <benni@typo3.org> Resolves: #99629 Releases: main Change-Id: I44eac0f1bd77cb2cbab9ebe3963c849ab366d538 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/77362 Reviewed-by:
Oliver Bartsch <bo@cedev.de> Tested-by:
core-ci <typo3@b13.com> Tested-by:
Benni Mack <benni@typo3.org> Reviewed-by:
Stefan Bürk <stefan@buerk.tech> Tested-by:
Oliver Bartsch <bo@cedev.de> Reviewed-by:
Benni Mack <benni@typo3.org> Tested-by:
Stefan Bürk <stefan@buerk.tech>
Showing
- Build/Sources/Sass/component/_table.scss 1 addition, 0 deletionsBuild/Sources/Sass/component/_table.scss
- composer.json 3 additions, 0 deletionscomposer.json
- composer.lock 1 addition, 1 deletioncomposer.lock
- typo3/sysext/backend/Resources/Public/Css/backend.css 1 addition, 1 deletiontypo3/sysext/backend/Resources/Public/Css/backend.css
- typo3/sysext/core/Classes/Attribute/WebhookMessage.php 8 additions, 8 deletionstypo3/sysext/core/Classes/Attribute/WebhookMessage.php
- typo3/sysext/core/Classes/Messaging/WebhookMessageInterface.php 30 additions, 0 deletions...sysext/core/Classes/Messaging/WebhookMessageInterface.php
- typo3/sysext/core/Documentation/Changelog/12.2/Feature-99632-IntroducePHPAttributeToMarkAWebhookMessage.rst 49 additions, 0 deletions...ture-99632-IntroducePHPAttributeToMarkAWebhookMessage.rst
- typo3/sysext/core/Documentation/Changelog/12.2/Feature-99632-IntroducePHPAttributeToMarkAnEventAsRemoteEventWebhook.rst 0 additions, 39 deletions...ntroducePHPAttributeToMarkAnEventAsRemoteEventWebhook.rst
- typo3/sysext/core/Documentation/Changelog/12.3/Feature-99629-Webhooks-OutgoingWebhooksForTYPO3.rst 223 additions, 0 deletions.../12.3/Feature-99629-Webhooks-OutgoingWebhooksForTYPO3.rst
- typo3/sysext/reactions/Resources/Private/Templates/Management/Overview.html 14 additions, 23 deletions...ions/Resources/Private/Templates/Management/Overview.html
- typo3/sysext/webhooks/.gitattributes 2 additions, 0 deletionstypo3/sysext/webhooks/.gitattributes
- typo3/sysext/webhooks/Classes/ConfigurationModuleProvider/WebhookTypesProvider.php 47 additions, 0 deletions...sses/ConfigurationModuleProvider/WebhookTypesProvider.php
- typo3/sysext/webhooks/Classes/Controller/ManagementController.php 132 additions, 0 deletions...sext/webhooks/Classes/Controller/ManagementController.php
- typo3/sysext/webhooks/Classes/DependencyInjection/WebhookCompilerPass.php 142 additions, 0 deletions...hooks/Classes/DependencyInjection/WebhookCompilerPass.php
- typo3/sysext/webhooks/Classes/Factory/WebhookInstructionFactory.php 96 additions, 0 deletions...xt/webhooks/Classes/Factory/WebhookInstructionFactory.php
- typo3/sysext/webhooks/Classes/Listener/MessageListener.php 57 additions, 0 deletionstypo3/sysext/webhooks/Classes/Listener/MessageListener.php
- typo3/sysext/webhooks/Classes/Listener/PageModificationListener.php 94 additions, 0 deletions...xt/webhooks/Classes/Listener/PageModificationListener.php
- typo3/sysext/webhooks/Classes/Message/FileAddedMessage.php 56 additions, 0 deletionstypo3/sysext/webhooks/Classes/Message/FileAddedMessage.php
- typo3/sysext/webhooks/Classes/Message/FileRemovedMessage.php 56 additions, 0 deletionstypo3/sysext/webhooks/Classes/Message/FileRemovedMessage.php
- typo3/sysext/webhooks/Classes/Message/FileUpdatedMessage.php 58 additions, 0 deletionstypo3/sysext/webhooks/Classes/Message/FileUpdatedMessage.php
Please register or sign in to comment