TeamForge Webhooks-based Event Broker is a webhook driven integration broker, delivered as a free technical microservice along with TeamForge. It is a replacement for the event brokering aspects of the now deprecated EventQ product.

Features

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:

Event registration
Subscriber and Subscription registration
Publisher registration
Topics, Queues, and Sync events
Guaranteed, once and once-only, in-order delivery
Message callbacks
Sophisticated JSON filters for subscriptions
In-built JavaScript engine for message transformations and synchronous responses

Events

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.

Examples of events include:

  • Artifact create or Artifact update in TeamForge
  • Build event in Jenkins
  • Defect being filed in Jira, and so on

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.

Event Types

This table provides the supported event types—TOPIC, SYNC, and QUEUE.

Event Type Description
TOPIC (Post-Submit)
  • These message types are typically to be used for post-submit scenarios.
  • Each event can be subscribed to by multiple subscribers and subscriptions.
  • The message is delivered to all the subscription endpoints.
SYNC (Pre-Submit)
  • These are used for pre-submit scenarios, typically to externalize business rules.
  • Subscriptions are restricted to only one. However, subscription filters can be used to maintain multiple subscription endpoints. In such cases, one single subscription endpoint is resolved at runtime.
  • The publisher is guaranteed to get the response from the subscription endpoint synchronously.
QUEUE
  • These message types are used for Web API driven load balancing.
  • Subscriptions are grouped by filters.
  • Only one subscription in a subscription group will be delivered the message.

Publishers

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.

Subscribers

Subscribers subscribe to and receive messages. Subscribers in the TeamForge Webhooks-based Event Broker equated to applications. Example: TeamForge, Ossum, JIRA, Jenkins, Nexus.

Subscriptions

Each subscriber can have several subscriptions per event. Each subscription consists of the following critical properties:

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: