Extension:EventBus

The EventBus extension propagates state changes (edit, move, delete, revision visibility, etc) to an EventGate instance, providing consumers of the service with the means of tracking changes to MediaWiki content.

Download / Install

 * To enable, add the following code to the bottom of your :


 * ✅; Navigate to 'Special:Version' on your wiki, and verify the extension is successfully installed

Known issues
Ideally, this sort of change propagation would be atomic, that is to say, if one of the tracked changes is committed in MediaWiki, the corresponding event is guaranteed to be delivered (even if by eventual consistency). As this extension is hook-based, that is not currently the case; Truly reliable event delivery will likely require something bound to the corresponding database transaction. (tracked in .)

Configuration
Note: For this extension to be useful, you need to have Kafka installed with EventGate as the event-intake service.

To enable the sending of state events, add the following to your, with the event service name and URLs set according to your environment.

Purge events
MediaWiki core provides CDN purges to its EventRelayer, which is null by default. To enable sending CDN purges to EventGate/Kafka as well, use the EventBus adapter for EventRelayer as follows.

RunJob REST API
The RunJob REST API allows you to execute a job using a REST API endpoint.

Site configuration
To enable the RunJob REST API on your wiki, set in. The RunJob REST API is compatible with MediaWiki 1.34 and later.

Run job
Route:

Method:

Content-Type: application/json

Submits a job for execution by the event service. This endpoint is released under ; it should be considered unstable and may change in backwards incompatible ways without notice.

Request example

Request parameters

Here are the minimum parameters required by the endpoint. The full schema of a job can be found in the mediawiki-event-schemas directory.

Responses

Response schema

Known issues
In Windows environments this extension causes critical performance problems if registered endpoint is not available.