Skip to content

Configure webhooks

Webhooks let you integrate the Comet model registry with your CI/CD pipeline.

Specifically, you can set your webhook to listen for any change that is made to the status of a model registered with Comet.

When one of those events is triggered, Comet sends an HTTP POST payload to the webhook's configured URL. The POSTs are in the form of JSON documents that contain data relating to the event that your webhook has identified.

The webhook is implemented by the web server as a URL that can accept the POST requests and pass on the data that they deliver for further processing.

You can set a webhook for several registered models, across several workspaces. Events can be delivered to several URLs.

All you need to do is specify the URL to which Comet should deliver the events.

Note

Currently, this feature supports only changes in the Stage status of a specific registered model, or of any registered model in a specific workspace.

Configure the webhook

You can set new webhooks and retrieve the current settings for existing webhooks.

POST configuration

To configure, issue an HTTP POST request to your full Comet domain URL, using the following syntax:

POST {http/https}://{your-comet-domain}/api/rest/v2/webhooks/config

The payload structure follows this format:

{
        "webhookConfigs": [
            {
                "workspaceName": "yourWorkspace",
                "modelName": "yourModel",
                "webhookUrls": [
                    {
                        "url": "https://{customer-webhook-url-a}",
                        "header": {
                            "Authorization": "secret_token",
                            "Other": "other_info"
                        }
                    }
                ]
            }
        ]
    }

GET configuration

To retrieve the current configuration, issue an HTTP GET request to your full Comet domain URL, using the following syntax:

GET {http/https}://{your-comet-domain}/api/rest/v2/webhooks/config?workspaceName=<workspace>&modelName=<model>

Webhook events and payloads

Each webhook event payload contains properties unique to the event.

Here's an example:

{
    "workspaceName": "a-team-name",
    "registryModelName": "some-registry-model name",
    "version": "2.3.42",
    "stages": [
        "someStage"
    ]
}

Learn more

For a full list of endpoints provided with Comet, see:

Nov. 29, 2022