Jira Cloud data integration

CloudBees SDM is a preview, with early access for select preview members. Product features and documentation are frequently updated. If you find an issue or have a suggestion, please contact CloudBees Support. Learn more about the preview program.

CloudBees SDM stores Jira Cloud information in the System of Record for each instance that has installed the app.

Detailed information about the data collected is described below.

How the service works

The customer installs a Jira Cloud app developed by CloudBees into their Jira Cloud instance. Once installed, this app runs a sync operation to send CloudBees SDM data from the Jira Cloud instance, then sends webhooks as data is created, updated, and deleted. The sync operation also repeats periodically and resends all data created or updated since the last sync.

The app sends data that includes the following:

  • Issues

  • Issue comments

  • Sprints

  • Boards

  • Issue changelogs

User information is removed from issues and issue comments on ingestion and stored separately in the System of Record. Atlassian requires automated reporting on the consistency of user data stored by CloudBees. CloudBees SDM reports this data in compliance with Atlassian’s user privacy guide for app developers.

The data is sent to the CloudBees SDM backend service via the REST API. This service handles authentication and is responsible for handshaking and validating the plugin on the initial installation. The backend receives and stores your data where it can be retrieved and used by the System of Record GraphQL for your applications. This is the same methodology that is used with Jira Server.

How Jira Cloud differs from Jira Server integration

In contrast to the traditional plugin model used by Jira Server, the Jira Cloud integration utilizes [Atlassian’s Connect App API](https://developer.atlassian.com/cloud/jira/platform/integrating-with-jira-cloud/#atlassian-connect) to sync and retrieve your data directly from Atlassian.

Connecting Jira Cloud to CloudBees SDM

Integration with Jira Cloud is provided through the CloudBees Jira Connect app. After installing the app on your Jira Cloud, it establishes a push-based connection that sends the latest Jira changes to your CloudBees SDM after an initial push of existing data. The Jira app connects directly to https://app.cloudbees.com.

Jira Cloud app REST APIs

The Jira app publishes data to app.cloudbees.com using a REST API. Invocations of the REST API are executed over HTTPS and authenticated using a shared secret that is associated with the Jira Cloud during setup.

The CloudBees SDM Jira Cloud app uses the following webhook events. Details about the webhook events are available in the Atlassian Developer documentation.

Issue webhooks

  • Created (jira:issue_created)

  • Updated (jira:issue_updated)

  • Deleted (jira:issue_deleted)

Comment webhooks

  • Created (comment_created)

  • Updated (comment_updated)

  • Deleted (comment_deleted)

Sprint webhooks

  • Created (sprint_created)

  • Deleted (sprint_deleted)

  • Updated (sprint_updated)

  • Started (sprint_started)

  • Closed (sprint_closed)

Board webhooks

  • Created (board_created)

  • Updated (board_updated)

  • Deleted (board_deleted)

  • Configuration changed (board_configuration_changed)

All Issues, Comments, Sprints, and Boards on the Jira Cloud are sent to CloudBees SDM upon app installation. Whenever one of those types is created, updated, or deleted a webhook event is generated by the app and sent to CloudBees SDM to update or remove the data for that entity in the System of Record. To ensure data consistency between the Jira Cloud and CloudBees SDM, sync events containing Issues, Comments, Sprints, and Boards are sent to CloudBees SDM hourly. These events contain all of the entities (of the aforementioned types) that were created or updated since the last sync event was sent, and these are sent to the respective endpoints documented above, based on the event type.

Data sent from the Jira Cloud app

The following data is synchronized to the CloudBees SDM SaaS on an ongoing basis and stored in the SDM data store, the System of Record.

Data collected about Jira Cloud

CloudBees SDM stores the following Jira Cloud information in the System of Record for each instance that has installed the app:

Client key

The unique identifier for the Jira Cloud.

Shared secret

The secret used for JWT Authentication and Authorization for communication between CloudBees SDM and the Jira Cloud app.

Server version

The version of the Jira Cloud.

Plugins version

The version of Atlassian Connect running on the Jira Cloud server.

Base URL

The URL for the Jira Cloud.

Installed

The flag denoting if the plugin is currently installed on a Jira Cloud.

Public key

The public key for the Jira Cloud instance.

Product type

The category of Atlassian product (jira).

Description

The description for the Jira Cloud product.

Jira Cloud users

Display name

The user’s public display name.

Key

The Jira handle, for example, username.

Account ID

The unique identifier for the user, provided by Jira.

Self

The URL for the user profile.

Avatar

The URLs for the user’s avatars.

Time zone

The user’s time zone.

Active

The active/closed status for the user.

Jira Cloud issue comments

Jira Issue ID

The ID of the issue to which this comment belongs, for example, 10001.

Jira Issue Key

The key of the issue, for example, PROJECT-123.

CloudBees Jira Issue ID

The synthetic ID composed of the client key for the Jira Cloud instance associated with the comment and the Jira Issue ID for the comment.

Self

The URL of the comment.

Body

The text representation of the comment body.

Rendered Body

The sanitized, HTML representation of the comment body.

Author Account ID

The author’s unique account ID.

Update Account ID

The update author’s unique account ID.

Created

The comment created timestamp.

Updated

The comment updated timestamp.

Jira Cloud issues

Jira Issue Id

The ID of the issue, for example, 10001.

Jira Issue Key

The key of the issue, for example, PROJECT-123.

CloudBees Jira Issue ID

The synthetic ID composed of the client key for the Jira Cloud instance associated with the issue and the Jira Issue ID.

Self

The URL of the issue.

Features

Any features that this issue is associated with.

Policy results

The results of evaluating policies against this issue.

Assignee ID

The assignee’s unique account ID.

Creator ID

The creator’s unique account ID.

Reporter ID

The reporter’s unique account ID.

Epic Link

The link to the issue’s epic.

Sprint

The link to any current sprint the issue belongs to.

Jira Sprint Ids

A collection of the sprint IDs for all the sprints that included this issue.

Description

The sanitized, HTML representation of the issue’s description.

Issue fields:

  • Issue Type

  • Project

  • Summary

  • Status

  • Status Change Date

  • Description

  • Created

  • Updated

  • Last Viewed

  • Priority

  • Rank

  • Votes

  • Watches

  • Issue Links (to other related Issues)

  • Resolution

  • Resolution Date

  • Labels

  • Time Spent

  • Aggregate Time Spent

  • Time Estimate

  • Time Original Estimate

  • Aggregate Time Estimate

  • Work Ratio

  • Story Points

  • Progress

  • Aggregate Progress

  • Versions

  • Fix Versions

  • Attachments

  • Subtasks

Jira Cloud sprints

Jira Sprint ID

The ID of the sprint.

State

One of active, closed, or future.

Name

The name of the sprint.

Start date

The date the sprint started.

End date

The date the sprint ended.

Origin Board ID

The ID of the board from which the sprint was created.

Origin Jira Board

the board from which the sprint was created.

Goal

The sprint’s goal.

Self

The URL of the sprint.

Jira Cloud Issue IDs

A collection of IDs of the Jira Cloud issues that belong to this sprint.

Jira Cloud Issues

A collection of Jira Cloud issues that belong to this sprint.

CloudBees Jira Cloud Issue IDs

The synthetic IDs composed of the client key for the Jira Cloud instance. associated with the sprint and the Jira Issue IDs that belong to this sprint.

Policy results

The results of evaluating policies against this sprint.

Jira Cloud boards

Jira Board ID

The ID of the board.

Name

The board’s name.

Self

The URL of the board.

Type

The value can be scrum, kanban, or simple.

Location:

  • Project ID

  • Display Name

  • Project Name

  • Project Key

  • Project Type Key (software, business. or service_desk)

  • Avatar URI

    Jira Sprints

    A collection of sprints that are associated with this board.

    Jira Sprint Ids

    A collection of the sprint IDs for all the sprints that are associated with this board.

    Policy results

    The results of evaluating policies against this board.

Jira Cloud Issue changelog entries

Jira Cloud Issue Changelog Entry ID

The ID of the changelog entry.

Self

The URL of the changelog entry.

Jira Issue ID

The ID of the Jira Issue this changelog is associated with.

CloudBees Jira Issue ID

The synthetic ID composed of the client key for the Jira Cloud instance associated. with the changelog entry and the Jira Issue ID.

Author Account IDKey

The author’s unique account ID.

Created

A changelog entry created timestamp.

Items

The list of items changed.

Jira Issue

The Jira Issue associated with this changelog entry.

Policy results

The results of evaluating policies against this changelog entry.