Send GitHub events to Observability Platform
To send GitHub events to Chronosphere Observability Platform, create a webhook within GitHub and include your API key to authenticate with Observability Platform. For more information, refer to webhook events and payloads (opens in a new tab) in the GitHub documentation.
Obtain an API token
Before sending events from GitHub, contact Chronosphere Support to obtain an API token for use with authenticating your third-party app with Observability Platform.
This API token differs from an API token that's generated when creating a service account.
Create a GitHub webhook
To send GitHub events to Observability Platform:
-
In GitHub, open the repository you want to configure a webhook for.
-
Click Settings.
-
Under Code and automation, click Webhooks.
-
In the Add webhook window, in the Payload URL field, enter
https://ADDRESS.chronosphere.io/api/v1/data/events/receiver/github
Replace
ADDRESS
with your company name prefixed to your Observability Platform instance that ends in.chronosphere.io
. For example,MY_COMPANY
.chronosphere.io
. -
Select application/json as the Content type.
-
In the Secret field, enter the API token you obtained from Chronosphere Support.
-
Choose Let me select individual events, and then select Deployment and Deployment Status as the events to trigger the webhook.
-
Save your webhook.
Map GitHub events to Observability Platform events
After creating a GitHub webhook to send events to Observability Platform, you can use Observability Platform or the CreateEvent API to create change events.
Observability Platform automatically maps the GitHub payload to change events in Observability Platform. You can't customize how the payload maps to change events. If you want to modify how the GitHub payload gets mapped, contact Chronosphere Support.
The following table indicates the fields and values required to create a GitHub event in Observability Platform:
Field | Value |
---|---|
category | deploys |
type | deploy_ACTION |
source | github |
happened_at | TIMESTAMP |
title | TITLE |
Replace the following:
ACTION
: The type ofdeploy
event to create, such asdeploy_start
,deploy_in_progress
, ordeploy_end
.TIMESTAMP
: The time event occurred, which must be between 24 hours in the past or 24 hours in the future. Defaults tonow
if not specified.TITLE
: A short description of the event that occurred, such as a commit message of a code deploy.
The following sample request creates a deploy
event from GitHub with a type
of
deploy_start
. Observability Platform maps the environment
, deploy.sha
, and
deploy.log_url
labels by default.
curl --request POST \
--url https://ADDRESS.chronosphere.io/api/v1/data/events \
--header "API-Token: $CHRONOSPHERE_API_TOKEN" \
--data '{
"event": {
"category": "deploys",
"happened_at": "2024-07-24T14:15:22Z",
"payload": {},
"labels": {
"environment": "staging",
"deploy.sha": "fr123456f5g1234c2e01c12345f5bc1a2bf0g40"
"deploy.log_url": "https://link_to_github_deploy_event"
},
"source": "github",
"title": "Deploy to staging environment",
"type": "deploy_start"
}'
}