Travis CI
  • 12 May 2023
  • 3 Minutes to read
  • Dark
    Light
  • PDF

Travis CI

  • Dark
    Light
  • PDF

Article summary

AlertOps and TravisCI

AlertOps’ alert management system can be integrated with Travis CI to receive and respond to critical alerts/incidents through email, SMS, push notification or phone alerts. AlertOps would ensure that the alert would reach the appropriate team by using proper workflows, escalation policies and schedules. Based on your ruleset, incidents can be automatically opened and closed, depending on what job status Travis CI sends out.

The above scenario and scope for integration is because AlertOps has a very flexible and simple API/Webhook configuration feature that can be leveraged with Travis CI's project event and notification capabilities.


AlertOps - Inbound Integration

We can define rulesets in AlertOps so that Travis CI can send out notifications to the AlertOps platform. AlertOps would ensure based on these notifications received, that it would always reach out and assign to the correct person/team by utilizing its escalation policies, schedules, and workflow features.

AlertOps provides Inbound Integrations to integrate with numerous monitoring, chat and ITSM tools. You can configure an inbound integration for Travis CI project build updates. AlertOps provides so many flexible options for integrating and mapping as and how you want.

At a high level this is how the flow looks like, you define an API integration in the AlertOps platform by defining settings like Integration Name, Escalation rules, recipient users/groups. Once an integration is defined, a unique API URL is generated. This acts as webhook or the gateway through which notifications from Travis CI reach AlertOps and thus an incident/alert is created correspondingly. The API can be defined with various settings like URL mappings, filters, escalations etc. as required. Travis CI should be setup with a webhook configuration in its main config file.

Text  Description automatically generated



Configure Inbound Integration in AlertOps

  1. Navigate to Configuration àIntegrations àAdd API Integration à API Integration Detail page.
  2. Select Travis CI.
  3. You can then specify basic settings like the integration name, escalation policy, names of the recipients/groups for which the alerts must be assigned to.
  4. On clicking Submit, the API Integration will be created, and you will be given a unique URL which acts the access point and needs to be configured at the source (in this case Travis CI), to send alerts. You can find the integration you just created, and you can give advanced settings and define various configurations for the alerts to be received and processed. For example, you can define when to open and close alerts based on the response obtained from the API call, filters etc.Graphical user interface, text, application, email  Description automatically generated
  5. Make a note of the API URL, which will be used in Travis CI, so it calls a HTTP POST request to this URL with the body in JSON format containing the alert specific information. AlertOps automatically creates an alert when the status variable (status) contains the values -'1'. The incident will also be closed automatically when the status contains '0'
    Graphical user interface  Description automatically generated
  6. In Advanced Settings you can define URL mappings as you want in the Rules for Opening and Closing Alerts. You can provide other filters and match with regex expressions as well. You can also test the generated URL with the sample data provided.


Configure Integration in Travis CI 

We can now define configurations in Travis CI to access this API and send out events to AlertOps.

To configure a webhook for Travis CI to notify about build results,

In your repository, open 'travis.yml' (your main build configuration file)

This is assuming, you have your Github's or Bitbucket's repository added/synced in Travis CI to be monitored.

Add the following configuration in 'travis.yml',

notifications:
  webhooks: 

  • Make sure you save and commit the travis.yml file in the root/main branch of your repository.

You have created an integration with AlertOps, so Travis CI build alerts are sent to AlertOps for advanced incident management.

Message logs, alert specific information can be viewed in the “Inbound Log” section in AlertOps Dashboard. Alerts can be viewed in the ‘Alerts’ tab as well.


Alert Triggering Information

AlertOps will automatically create an incident when a new alert is received from Travis CI when the status field contains “1” (True for build did not complete as expected)

If an alert with status “1” matches an existing Open Alert, AlertOps will recognize the new alert as a duplicate and ignore the alert.

The alert will be recorded in the Inbound Messages table as “Mapped Appended.”

AlertOps will automatically close the same incident when an alert with status contains '0' (False for build completed successfully and there were no issues)


References

AlertOps Integration Guides

General Restful API Guide


Was this article helpful?

What's Next