• Get started
  • Documentation

Integrate with Codeship

This article highlights a new alerting feature that's natively available in Jira Service Management which is gradually rolling out to some Jira Service Management Cloud customers. It may not yet be visible or available on your site.

Codeship logo

The practice of continuous integration involves repeated automated testing and code merging with notifications to alert developers to problems in their code in real time. Codeship combines this with the practice of continuous delivery, which provides for regular code deployment once changes have passed automated tests. Essentially, when code is pushed to GitHub (or Bitbucket), Codeship rebuilds your application on its secure servers and runs your automated tests. If the tests fail, it notifies your development team via email or integration.

What does the integration offer?

Use Jira Service Management's Codeship Integration to forward Codeship build alerts to Jira Service Management. Jira Service Managementdetermines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls, and iOS & Android push notifications, and escalates alerts until the alert is acknowledged or closed.

How does the integration work?

When a build alert is created in Codeship, an alert is created in Jira Service Management automatically through the integration.

Set up the integration

Codeship is an API-based integration. Setting it up involves the following steps:

  • Add a Codeship integration in Jira Service Management

  • Configure the integration in Codeship

Add a Codeship integration

Bidirectional integrations aren’t supported in Free and Standard plans. All the other integrations are supported at a team level in Free and Standard; however, for their outgoing part to work, you need to upgrade to a higher plan. To add any integration at a site level through Settings (gear icon) > Products (under JIRA SETTINGS) > OPERATIONS, you need to be either on Premium or Enterprise.

Adding an integration from your team’s operations page makes your team the owner of the integration. This means Jira Service Management only assigns the alerts received through this integration to your team.

To add a Codeship integration in Jira Service Management, complete the following steps:

  1. Go to your team’s operations page.

  2. On the left navigation panel, select Integrations and then Add integration.

  3. Run a search and select “Codeship”.

  4. On the next screen, enter a name for the integration.

  5. Optional: Select a team in Assignee team if you want a specific team to receive alerts from the integration.

  6. Select Continue.
    The integration is saved at this point.

  7. Expand the Steps to configure the integration section and copy the API URL.
    You will use this URL while configuring the integration in Codeship later.

  8. Select Turn on integration.
    The rules you create for the integration will work only if you turn on the integration.

Configure the integration in Codeship

To configure the integration of Codeship with Jira Service Management, complete the following steps:

  1. Go to Project Settings > Notifications.

  2. Select Add > New notification.

  3. Select Webhook.

  4. Paste the API URL copied previously from Jira Service Management into URL.

  5. Select the events you want to trigger notifications.

  6. Specify the branch for filtering, if needed.

  7. Select Save.

You can add more rules to an existing branch (or branch match). To remove specific rule trigger for notifications, either disable it (use the toggle) or delete it completely.

Common configuration

All rules apply to either “All Branches”, a names branch, or a branch match. If the field is left empty, the rule applies to all branches. Also, all rules can select between started, failed, succeeded, and recovered as events that trigger a notification. Select at least one event in order to save the rule.

  • started: sends a notification when a new build is triggered

  • failed: sends a notification if a build fails for some reason

  • succeeded: sends a notification if the build finishes successfully

  • recovered: sends a notification if the previous build failed, but the current build succeeded

Codeship sends build data using Webhook Services.

Sample webhook message from Codeship plugin

JSON

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 { "build": { "build_url":"https://www.codeship.com/projects/102xx/builds/97xxxx", "commit_url":"https://github.com/codeship/docs/ commit/96943xxxxxxxxxx", "project_id":102xx, "build_id":97xxxx, "status":"testing", # PROJECT_FULL_NAME IS DEPRECATED AND WILL BE REMOVED IN THE FUTURE "project_full_name":"codeship/docs", "project_name":"codeship/docs", "commit_id":"96943dc5xxxxxxxxxxxxxxxxxx", "short_commit_id":"96xxx", "message":"Merge pull request #34 from codeship/feature/shallow-clone", "committer":"beanixxxx", "branch":"master" } }

The status field has one of the following values:

  • initiated for newly started build

  • error for failed builds

  • success for passed builds

  • stopped for stopped builds

  • waiting for waiting builds

  • ignored for builds ignored because the account is over the monthly build limit

  • blocked for builds blocked because of excessive resource consumption

  • infrastructure_failure for builds which failed because of an internal error on the build VM

Read more about Codeship's Manage Notification.  Read more about the Codeship integration.

 

Still need help?

The Atlassian Community is here for you.