Jira

Jira is an issue tracking solution with bug tracking, issue tracking, and project management functions.

Data integration: Skyvia supports importing data to and from Jira, exporting Jira data to CSV files, replicating Jira data to relational databases, and synchronizing Jira data with other cloud apps and relational databases.

Backup: Skyvia Backup supports Jira backup.

Query: Skyvia Query supports Jira.

Terminology

Jira API versions. Version 2 and version 3 offer the same collection of operations. However, version 3 provides support for the Atlassian Document Format (ADF) in:

  • body in comments, including where comments are used in issue, issue link, and transition resources.
  • comment in worklogs.
  • description and environment fields in issues.
  • textarea type custom fields (multi-line text fields) in issues. Single line custom fields (textfield) accept a string and don't handle Atlassian Document Format content.

Establishing Connection

Skyvia supports Jira Cloud and Jira Server connections. You may connect to Jira Cloud through API versions 2.0 and 3.0 with OAuth and Basic authentication. Jira server connection provides Basic authentication only.

Getting Credentials

To connect to the Jira instance you need to fill out Site field, your Jira user name, and API token.

Creating Connection

Creating a connection to Jira may slightly differ depending on whether you connect to Jira Server or Jira Cloud.

Jira Server Connection

Jira Server Connection Editor

  1. Enter your Site address.
  2. Select Server in the Environment dropdown.
  3. Enter your user name and API token. You can manage your Atlassian API tokens here.

Jira Cloud Connection

Jira Cloud Connection Editor

  1. Enter your Site address.
  2. Select Cloud in the Environment dropdown.
  3. Choose the preferred API version.
  4. Choose the Authentication type. If you choose Basic, enter your Jira login and password. If you choose OAuth, login with your Jira account, your access token will be applied automatically.

Additional Connection Parameters

Use Custom Objects

Select this checkbox to make Jira custom objects available in Skyvia. When enabled, Skyvia creates strongly-typed custom objects for Issues.

  • <projectName>_Issues: Contains all custom fields across all issue types in a project.
  • <projectName>_<issueType>_Issues: Contains custom fields specific to an issue type within a project.

Suppress Extended Requests

Jira API returns only part of the fields for some objects when querying multiple records. Skyvia performs additional extended requests to query values of missing fields. Skyvia performs such API requests for each record of such object. However, this can decrease performance and significantly increase the number of API calls used.

The additional fields are the following:

OBJECT FIELD
Attachments Content
IssueVotes Name, Voters
IssueWatchers AccountId, EmailAddress, AvatarUrls, DisplayName, Active, TimeZone, AccountType
Projects AssigneeType, Lead_Key

To reduce the number of API calls, enable the Suppress Extended Requests parameter.

Metadata Cache

This parameter defines the period, after which Metadata Cache is considered expired.

Connector Specifics

Object Peculiarities

Some Jira objects can be accessed only via their parent objects. For example, to query ProjectComponents, ProjectStatuses, ProjectProperties and ProjectVersions objects, Jira API requires the id of the corresponding project.

Skyvia does not require id of the parent object from the user. If you don't specify the ids of the parent objects, Skyvia will query all parent objects and get their ids. Then, it will query child objects for parent object records. This allows querying child objects without knowing their parents. However, this method takes a lot of time and consumes many API calls. It uses at least one API call for every parent object even if this object does not have any child records.

It is strongly recommended to use filters on the parent object fields when querying data from child objects. This limits the number of parent object records, for which child object data must be queried.

Filtering Specifics

Jira API supports the following native filters:

Object Field Operator
Issues Id =, IN
Key, Summary, IssueType_Id, IssueType_Name, Description_Content, Project_Key, Project_Id, Project_Name, Project_ProjectTypeKey, Project_ProjectCategory, Priority_Name, Priority_Id, Assignee_AccountId, Assignee_EmailAddress, Assignee_DisplayName, Status_Name, Status_Id, Status_StatusCategory_Id, Status_StatusCategory_Key, Status_StatusCategory_Name, Creator_AccountId, Creator_EmailAddress, Creator_DisplayName, Reporter_AccountId, Reporter_EmailAddress, Reporter_DisplayName, TimeSpent, FixVersions, Resolution_Id, Resolution_Name, Workratio, Labels, TimeEstimate, IssueLinks, Components, TimeOriginalEstimate, Subtasks, Environment_Content, Comment_Comments, Worklog_Worklogs, Parent_Id, Parent_Key =
Votes_Votes, StatusCategoryChangeDate, ResolutionDate, Watches_WatchCount, LastViewed, CreatedDate, UpdatedDate, DueDate =, <, <=, >, >=
<ProjectName>_Issues Comment_Comments, Id, Key, Summary, IssueType_Id, IssueType_Name, Description_Content, Priority_Name, Priority_Id, Assignee_AccountId, Assignee_EmailAddress, Assignee_DisplayName, Status_Name, Status_Id, Status_StatusCategory_Id, Status_StatusCategory_Key, Status_StatusCategory_Name, Creator_AccountId, Creator_EmailAddress, Creator_DisplayName, Reporter_AccountId, Reporter_EmailAddress, Reporter_DisplayName, TimeSpent, FixVersions, Resolution_Id, Resolution_Name, Workratio, Labels, TimeEstimate, IssueLinks, Components, TimeOriginalEstimate, Subtasks, Environment_Content, Parent_Id, Parent_Key, Worklog_Worklogs =
Votes_Votes, StatusCategoryChangeDate, ResolutionDate, Watches_WatchCount, LastViewed, CreatedDate, UpdatedDate, DueDate =, <, <=, >, >=
<ProjectName>_<IssueType>_Issues Id, Key, Summary, Description_Content, Priority_Name, Priority_Id, Assignee_AccountId, Assignee_EmailAddress, Assignee_DisplayName, Status_Name, Status_Id, Status_StatusCategory_Id, Status_StatusCategory_Key, Status_StatusCategory_Name, Creator_AccountId, Creator_EmailAddress, Creator_DisplayName, Reporter_AccountId, Reporter_EmailAddress, Reporter_DisplayName, TimeSpent, FixVersions, Resolution_Id, Resolution_Name, Workratio, Labels, TimeEstimate, IssueLinks, Components, TimeOriginalEstimate, Subtasks, Environment_Content, Parent_Id, Parent_Key =
Votes_Votes, StatusCategoryChangeDate, ResolutionDate, Watches_WatchCount, LastViewed, CreatedDate, UpdatedDate, DueDate =,<,<=,>,>=
ProjectName_IssueType_Issues Comment_Comments, Worklog_Worklogs =
Projects Id IN
Key =, IN
ProjectCategory_Id =
UserProperties AccountId =

Use these filters to improve performance and save API calls. You can use filters with other fields or operators, but it may increase API call usage.

Jira doesn't support filters by seconds. For example, when executing the query: SELECT * FROM BoardIssues WHERE LastViewed = '12/20/2024 11:34:48' the result will include all records where the LastViewed value falls within the range from '12/20/2024 11:34:00' to '12/20/2024 11:34:59'. Due to this behavior, data replication within one minute may result in duplicate records.

Restore Specifics

When a record in the Projects object is deleted, all related records in the child Issues objects are deleted automatically as well.

Therefore, to avoid data loss, it is necessary to perform a restore of Projects and Issues objects together.

Custom Fields

Jira supports the following Issues custom field types:

DbType (length) Jira Type Filtering operator
Boolean Checkbox, Last commented by a User Flag =
MultiEnum String (≥255) Checkboxes, Group Picker (multiple groups), Select List (multiple choices), Version Picker (multiple versions)
Enum String (≥255) Group Picker (single group), Project Picker (single project), Radio Buttons, Select List (cascading), Select List (single choice), Version Picker (single version) =
String (255) Labels, Last public comment date, Short text (plain text only), Text Field (single line), Text Field (read only), Time interval, URL Field, User Picker (multiple users), User Picker (single user), User Property Field (<255 chars), Username of last updater/commenter =
String (32768) Connection, Domain of Assignee, Domain of Reporter, External asset platform, Global Rank, Message Custom Field (for Edit), Message Custom Field (for View), Paragraph (supports rich text), Participants of an issue, Reactions, Time in Status =
Int64 Days since last comment
Decimal Number Field, Number of attachments, Number of comments =, <, <=, >, >=
Double Custom formula, Rating, Slider =, <, <=, >, >=
DateTime (32768) Date of First Response, Date Time Picker =, <, <=, >, >=
Date (32768) Date Picker =, <, <=, >, >=

Incremental Replication and Synchronization

Incremental Replication requires the object to have either CreateDate or UpdatedDate field. Synchronization requires both fields.

DML Operations

Skyvia supports the following DML operations for Jira objects:

Operation Group Objects
INSERT, UPDATE, DELETE Dashboards, Filters, IssueComments, Issues, IssueLinkTypes, IssueTypes, IssueWorklogs, PermissionSchemes, Project, ProjectCategories, ProjectComponents, ProjectRoles, ScreenTabs
INSERT, UPDATE ProjectVersions
INSERT, DELETE SharePermissions, Webhooks
UPDATE ApplicationProperties
DELETE Attachment
INSERT Groups, IssueFields, IssueTransitions, ScreenTabFields, <ProjectName>Issues, <ProjectName><IssueType>_Issues

Supported Actions

Skyvia supports all the common actions for Jira.