Subscription Notifications

Subscription Notifications

Rustici Generator supports webhook notifications, also known as subscriptions. When certain actions are triggered in Rustici Generator, the application will send a notification to a specified endpoint that contains details about the action that triggered the notification. This allows external users or systems to be updated as Rustici Generator finishes various tasks.

The table below lists all supported events that will trigger a notification message

ValueDescription
JOB_PROCESSEDGenerator has concluded the processing of a job. This event is triggered for successful or failed jobs.

Subscription Authentication

The message that the application sends after a trigger can be configured to include authentication. This can be necessary if the external system that would be receiving a notification message requires incoming messages to be authenticated. To configure your subscription authentication, consider the following API endpoints as a starting point:

  • Create new subscription authentication configuration: POST /api/v1/app_management/subscription_auth
  • Get a list of current subscription authentication configuration: GET /api/v1/app_management/subscription_auth
  • Delete subscription authentication configuration: DELETE /api/v1/app_management/subscription_auth/{auth_config_id}

A Subscription Authentication configuration can support different methods of authentication. These include:

Value
OAUTH_2_CLIENT_CREDENTIALS
BASIC_AUTH

The properties used to configure Subscription Authentication depend on the intended Auth type. A BASIC_AUTH configuration must include key and secret values, and a OAUTH_2_CLIENT_CREDENTIALS configuration must include scope and token_url values.

Notification Messages

For each supported webhook trigger, Rustici Generator will send a message to the designated system describing the trigger. A description of the messages sent for each supported trigger is listed below:

  • JOB_PROCESSED: Information about the job that has just concluded.
    {
        status: describes the current status of the processed job
        type: notes the type of the processed job
        results: a set of values describing the resources impacted by the job
        error: describes the error (only included if job status is FAILED)
    }