Skip to main content

Changes

BigPanda’s standard integrations collect and normalize change data from change feeds such as CI/CD pipelines, Change Management tools, auditing systems, and orchestration tools.

BigPanda includes several standard integrations ready to connect your change feeds, or create custom integrations using the Changes REST API.

Connecting each of your change feeds to BigPanda gives your Ops teams deeper insights into the system changes that may be triggering system events and outages. Change integrations in particular dramatically speed up MTTR and dramatically reduce the number of bridge calls by proactively encouraging collaboration between Ops and Dev teams.

Select the desired tool from the list below to reference detailed information about the standard Topology integration. See the Standard Integrations to see the complete list of available integrations that are built-in to BigPanda. To build custom change integrations, use the Changes RCC API.

Best Practices with Change Integrations

When configuring change integrations, make sure to include as much relevant information into the payload as possible. In addition to giving your teams vital information, change data is key to quality-related change suggestions. The more details available, the better BigPanda’s RCC algorithms can work.

  • Ensure full change description and details are available through either the description field or custom tags

  • RCC uses free text when looking for matches, the data doesn’t need to be in any particular format as long as it is included in the payload for BigPanda.

  • Each integration is configured to pull specific information from the change management tool into BigPanda. If useful details are not currently included, consider using a custom integration or Changes REST API

Change rate limitations

To maintain optimal system health, the BigPanda rate limitation for Root Cause Changes is capped at max. 400 changes per minute and 50K changes per week.

Sending Custom Tags

Each integration includes optional fields that can be configured in the integration’s direction. When configured, each of these optional fields will appear as a new column in the change table.

For many integrations, the start timestamp is optional, which means that changes can be sent to BigPanda without a start time marked. However, these changes will not appear in the UI. Only changes sent to BigPanda with a start timestamp will appear in the UI. Most integrations will insert the current timestamp for changes missing a timestamp, but this may vary depending on the integration configuration.

Status field

The status field is taken from the payload of a change and is NOT updated according to the start/end timestamps

Column rate limitation

To optimize change table performance, max. 30 columns are displayed in the table at a time. Click on any one of the changes in the table to see a pop-up with the full list of tags associated with the change.

Integrate a Change Tool with REST API

Send potential change data through the Changes API to identify potential root cause for BigPanda incidents.

Easily push change records to BigPanda using our REST API for changes. View change records in the context of the incident to visualize and correlate between incidents and changes.

Learn more about supported data fields and best practices in the Root Cause Changes API documentation.

Create an App Key

Create an app key in BigPanda.

Integration specific

You'll need a separate app key for each integrated system.

https://files.readme.io/9865f2f-Integrations_App_Key_Creation.jpg

App Key Configuration in BigPanda

Make sure you have an API Key

If you don’t have an API Key, create one in the BigPanda app.

Use this key whenever it says <your api key>.

Note: Don’t forget to copy the key before you leave as the key will be encrypted.

Make a REST Call From Your Change System

Configure the integrated system to POST to the changes API endpoint:

https://api.bigpanda.io/data/changes

Use the following HTTP headers:

Authorization: Bearer <Your Org Bearer Token>
x-bp-app-key: <Your App Key>
Content-Type: application/json

The JSON payload can contain all or a subset of the following fields:

  • identifier: A unique identifier of this Change. Usually this will be the ticket key coming from the change system.

  • status: Status of the change. One of [ Planned, In Progress, Done, Canceled ].

  • summary: Short summary/title of the change

  • start: (Optional) Actual start time of the change in Epoch Unix Time (or any start time the user specified in the integration).

  • end: (Optional) Actual end time of the change in Epoch unix time (or any end time the user specified in the integration)

  • ticket_url: (Optional) Url of the record in the change system.

  • tags: (Optional) JSON object that keeps all the tags for the record. Shown in the UI in the Related Changes tab

  • metadata: (Optional) JSON object for keeping any extra data that is not shown in the UI. Useful for machine learning correlation

Below is an example of a full payload:

{
    "identifier": "CNG-123",
    "status": "Done",
    "summary": "Update to Contrail configuration for CAP to reduce network processing overhead",
    "start": 19797234,
    "end": 18797234,
    "ticket_url": "https://jira.link.com/ticket?change=chng123",
    "tags": {
      "sys_id": "system_123",
      "type": "risky"
    },
    "metadata": {
      "opened_by": "userId123"
    }
}

Create a Test Change

To validate that everything is configured correctly, send a test change by running the following command in Shell:

curl -XPOST -H "Content-Type: application/json" \
-H "Authorization: Bearer <Your Org Bearer Token>" \
-H "x-bp-app-key: <Your App Key>" \
https://api.bigpanda.io/data/changes \
-d '{ "identifier": "CNG-166146", "tags": { "sys_id": "system_123", "type": "risky"}, "ticket_url": "https://jira.link.com/ticket?change=chng123", "summary": "Update to Contrail configuration for CAP to reduce network processing overhead", "end": 18797234, "start": 19797234, "status": "Done" }'