Azure Event Grid Plugin

The plugin provides functionality to interact with Event Grid


Example 1. build.gradle
implementation(group: 'org.vividus', name: 'vividus-plugin-azure-event-grid', version: '0.4.16')

Interaction with topics

Topics configuration

Topics are configured with a set of properties with the following format:

azure.event-grid.{topic-name}.{property-name}=property value


  1. topic-name - The name of the topic which will be used as a step parameter

  2. property-name - The name of the topic property. One of:

    1. key - The topic access key

    2. event-schema - The kind of schema (GRID, CLOUD or CUSTOM)

    3. endpoint - The topic endpoint


Publish event

Publishes an event to a topic

When I send event to `$topicName` topic with payload:$payload
  • $topicName - The name of the topic, will be used to find required properties values

  • $payload - The JSON payload to send to a topic

Example 2. Send an event
When I send event to `create-user` topic with payload:
  "id": "1807",
  "eventType": "RegisterVehicle",
  "subject": "myapp/vehicles/motorcycles",
  "eventTime": "2017-08-10T21:03:07+00:00",
  "data": {
    "make": "Ducati",
    "model": "Monster"
  "dataVersion": "1.0"

Topic management



The authentication process relies on the configuration of the environment variables.

See the official "Azure identity" guide to get more details on what types of authentication could be used.

Azure environment selection

Azure environment could be optionally specified using either global property azure.environment (sets the environment for all Azure plugins) or plugin-specific property azure.event-grid.environment. The plugin-specific property takes precedence over the global one. The default value is AZURE.

The plugin-specific property azure.event-grid.environment is deprecated and will be removed in VIVIDUS 0.5.0. The global property must be used.

The supported environments are only:





Azure subscription selection

Azure subscription must be configured via AZURE_SUBSCRIPTION_ID environment variable.


Collect system topics info

Collects system topics info in the specified resource group and saves it as JSON to a variable. For more information, see the Azure Docs.

When I collect system topics in resource group `$resourceGroupName` and save them as JSON to $scopes variable `$variableName`

The client should have permission to run action Microsoft.EventGrid/systemTopics/read over scope /subscriptions/{subscription ID}/resourceGroups/{resource group name}/providers/Microsoft.EventGrid.

Example 3. Collect system topics info
When I collect system topics in resource group `TEST-SA` and save them as JSON to scenario variable `system-topics`