The current release, called the V4 Engine is the new version of the TeamForge Webhooks-based Event Broker, delivered as part of TeamForge 19.3. It provides the following features:
Subscriber and Subscription registration
Topics, Queues, and Sync events
Guaranteed, once and once-only, in-order delivery
Message, Header, URL and Method transformation capabilities
Message callback support for asynchronous load-balanced long-running jobs
Sophisticated JSON subscription filters for both Header and content based filtering of messages
An event in WEBR is basically a message type. Examples of events include:
- Artifact create (
TeamForge.Artifact.Create) or Artifact update (
TeamForge.Artifact.Update) in TeamForge
- Build event in Jenkins
- Defect being filed in Jira (
JIRA.Bug.Create), and so on
JIRA.Bug.Create are the event names in WEBR. Every message published to WEBR should be tagged with an event name.
Events to be published through the TeamForge Webhooks-based Event Broker must be registered. Registering an event is required before you register the publisher or subscriber.
An event has the following key properties:
- a unique Event Name
- Content Type (Example: application/json)
- Event Type (TOPIC/QUEUE/SYNC)
- Event Format—This is a sample event that is used to understand the encoding and format of the message. JSON messages are validated. There is no message schema support.
This table provides the supported event types—TOPIC, SYNC, and QUEUE.
Publishers publish events. In the case of the TeamForge Webhooks-based Event Broker, a Publisher can be equated to an application. Example: TeamForge, Ossum, JIRA, Jenkins, Nexus.
Each registered publisher gets a unique ID. This ID is used while publishing messages to WEBR.
Subscribers subscribe to and receive messages. Subscribers in the TeamForge Webhooks-based Event Broker equated to applications. Example: TeamForge, Ossum, JIRA, Jenkins, Nexus.
Each subscriber can have several subscriptions per event. Each subscription consists of the following critical properties:
- Event Name
- Webhook Endpoint URL—This can be an external URL or an internal endpoint such as
orch://\<orchname\>(to run an orchestration script).
- Header and content based subscription filter. For more information on subscription filter, see Scripts and Filters in the TeamForge Webhooks-based Event Broker.
- Headers to be passed to the URL, typically only external webhook endpoint URLs.
- For TOPIC subscriptions, a “Transform script” can be provided if message transformation is required. For more information on transform script, see Scripts and Filters in the TeamForge Webhooks-based Event Broker.
TeamForge Integrations Using the TeamForge Webhooks-based Event Broker
TeamForge can be integrated with Jenkins, JIRA, TestLink, and Nexus using the TeamForge Webhooks-based Event Broker.
For more information, see:
- TeamForge-Jenkins Integration
- TeamForge-JIRA Integration
- TeamForge-TestLink Integration
- TeamForge-Nexus Integration