The CData Sync App provides a straightforward way to continuously pipeline your Jira data to any database, data lake, or data warehouse, making it easily available for Analytics, Reporting, AI, and Machine Learning.
The Jira connector can be used from the CData Sync application to pull data from Jira and move it to any of the supported destinations.
The Sync App utilizes version 2 and 3 of the API. This is managed internally, and no extra configurations are needed.
For required properties, see the Settings tab.
For connection properties that are not typically required, see the Advanced tab.
To connect set the URL to your Jira endpoint; for example, https://yoursitename.atlassian.net.
By default the Sync App surfaces only system fields. To access the custom fields for Issues, either set IncludeCustomFields to true, or extend the Sync App schemas to configure access to custom fields. (See Custom Fields.) Note that the server response time can be significantly slower when custom fields are included.
PATs are created by each individual user. When created, they automatically have the same permissions level as the user. Users can create a PAT either via their Atlassian Settings menu, or using a REST API.
From the Atlassian application:
Now set the following Jira Sync App properties:
Note: PATs can also be created using the REST API. For further information, see Jira's documentation on Creating PATs at https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html.
The following procedures assume that AuthScheme has been set to OAuth in all OAuth flows.
You can establish a connection to any Jira Cloud account by setting the AuthScheme to APIToken and providing the User and APIToken.
An API token is necessary for basic authentication to Cloud instances. To generate one, log in to your Atlassian account and navigate to Security > Create and manage API tokens > Create API token.
The generated token will be shown once and should be stored securely.
By default, the Sync App sends the API token using the Basic authentication scheme. The provided User and APIToken are combined in a secure format compatible with services like Jira Cloud or miniOrange app. Alternatively, you can explicitly control the authentication behavior using the APITokenType connection property.
This provides flexibility for connecting to environments that expect different token formats while keeping configuration simple.
You can establish a connection to any Jira Server instance by setting the AuthScheme to Basic. To connect to a Server Instance provide the User and Password.
(Note: Password has been deprecated for connecting to a Cloud Account and is now used only to connect to a Server Instance.)
You can establish a connection to any Jira Server instance by setting the AuthScheme to LDAP. Additionally provide the URL, User and Password of the Jira instance.
(Note: LDAP Authentication is not currently supported for Cloud accounts.)
Set the AuthScheme to Crowd, then configure these connection properties:
Example connection string:
AuthScheme=Crowd;Url=https://yoursitename.atlassian.net;SSOLoginURL='https://<authority>/crowd/console/secure/saml/sso.action';User=crowdUserName;Password=crowdPassword;SSOExchangeUrl=https://<authority of Jira instance>/plugins/servlet/samlconsumer;SSOAppName=CrowdAppName;SSOAppPassword=CrowdAppPassword;
To connect to Okta, set these properties:
If you are either using a trusted application or proxy that overrides the Okta client request OR configuring MFA, you must use combinations of SSOProperties to authenticate using Okta. Set any of the following, as applicable:
Example connection string:
AuthScheme=Okta;Url=https://yoursitename.atlassian.net;SSOLoginURL='https://example.okta.com/home/appType/0bg4ivz6cJRZgCz5d6/46';User=oktaUserName;Password=oktaPassword;SSOExchangeUrl=https://<authority of Jira instance>/plugins/servlet/samlconsumer;
You can connect to public endpoints in Jira that do not require authentication by setting the AuthScheme property to Anonymous. This allows the Sync App to access data without sending user credentials.
When using the Anonymous scheme, you must also set the Timezone connection property explicitly, because timezone data cannot be retrieved dynamically without authentication.
Important: This scheme should only be used when connecting to publicly accessible endpoints that are configured to allow anonymous access. If the Jira instance does not support anonymous access for the requested resource, the connection will fail or return an empty result set.
Set the following properties:
These permissions are defined by access scopes, which determine what data your application can access and what actions it can perform.
This topic provides information about the required access scopes and endpoint domains for the Jira Sync App.
Scopes are a way to limit an application's access to a user's data. They define the specific actions that an application can perform on behalf of the user.
For example, a read-only scope might allow an application to view data, while a full access scope might allow it to modify data.
Scopes can be controlled using the Scope connection property.
Jira Cloud has two types of scopes: Classic and Granular. Jira recommends Classic scopes when available.
| Scope | Type | Description |
| read:jira-user | Classic | View user information in Jira that the user has access to, including usernames, email addresses, and avatars. Required for read and write access. |
| read:jira-work | Classic | Read Jira project and issue data, search for issues and objects associated with issues like attachments and worklogs. Required for read and write access. |
| write:jira-work | Classic | Create and edit issues in Jira, post comments as the user, create worklogs, and delete issues. Required for write access. |
| manage:jira-project | Classic | Create and edit project settings and create new project-level objects (for example, versions and components). Required for write access. |
| manage:jira-configuration | Classic | Take Jira administration actions (for example, create projects and custom fields, view workflows, and manage issue link types). Required for write access. |
| read:application-role:jira | Granular | View application roles. Required for read and write access. |
| read:audit-log:jira | Granular | View audit logs. Required for read and write access. |
| read:dashboard:jira | Granular | View dashboards. Required for read and write access. |
| read:filter:jira | Granular | View filters. Required for read and write access. |
| read:filter.column:jira | Granular | View filter columns. Required for read and write access. |
| read:group:jira | Granular | View user groups. Required for read and write access. |
| read:issue:jira | Granular | View issues. Required for read and write access. |
| write:issue:jira | Granular | Create and update issues. Required for write access. |
| delete:issue:jira | Granular | Delete issues. Required for write access. |
| read:issue-meta:jira | Granular | View issue meta. Required for read and write access. |
| read:attachment:jira | Granular | View issue attachments. Required for read and write access. |
| write:attachment:jira | Granular | Create and update issue attachments. Required for write access. |
| delete:attachment:jira | Granular | Delete issue attachments. Required for write access. |
| read:comment:jira | Granular | View issue comments. Required for read and write access. |
| write:comment:jira | Granular | Create and update issue comments. Required for write access. |
| delete:comment:jira | Granular | Delete issue comments. Required for write access. |
| read:comment.property:jira | Granular | View issue comment properties. Required for read and write access. |
| write:comment.property:jira | Granular | Create and update issue comment properties. Required for write access. |
| delete:comment.property:jira | Granular | Delete issue comment properties. Required for write access. |
| read:field:jira | Granular | View fields. Required for read and write access. |
| write:field:jira | Granular | Create and update fields. Required for write access. |
| read:field.option:jira | Granular | View field options. Required for read and write access. |
| read:field.options:jira | Granular | Read field options. Required for read and write access. |
| read:custom-field-contextual-configuration:jira | Granular | Read custom field contextual configurations. Required for read and write access. |
| write:custom-field-contextual-configuration:jira | Granular | Save custom field contextual configurations. Required for write access. |
| read:field-configuration:jira | Granular | Read field configurations. Required for read and write access. |
| write:field-configuration:jira | Granular | Save field configurations. Required for write access. |
| read:issue-link:jira | Granular | View issue links. Required for read and write access. |
| read:issue-link-type:jira | Granular | View issue link types. Required for read and write access. |
| read:issue.property:jira | Granular | View issue properties. Required for read and write access. |
| read:priority:jira | Granular | View priorities. Required for read and write access. |
| read:resolution:jira | Granular | View resolutions. Required for read and write access. |
| read:issue-details:jira | Granular | View issue details. Required for read and write access. |
| read:issue-security-scheme:jira | Granular | View issue security schemes. Required for read and write access. |
| read:issue-type:jira | Granular | View issue types. Required for read and write access. |
| read:issue-type-scheme:jira | Granular | View issue type schemes. Required for read and write access. |
| read:issue-type.property:jira | Granular | View issue type properties. Required for read and write access. |
| read:issue.watcher:jira | Granular | View issue watchers. Required for read and write access. |
| read:issue-worklog:jira | Granular | View issue worklogs. Required for read and write access. |
| read:issue-field-values:jira | Granular | View issue field values. Required for read and write access. |
| read:issue-security-level:jira | Granular | View issue security levels. Required for read and write access. |
| read:issue-status:jira | Granular | View issue statuses. Required for read and write access. |
| read:issue.changelog:jira | Granular | View issue changelogs. Required for read and write access. |
| read:issue.transition:jira | Granular | View issue transitions. Required for read and write access. |
| delete:issue-type:jira | Granular | Delete issue types. Required for write access. |
| write:issue-type:jira | Granular | Create and update issue types. Required for write access. |
| read:user:jira | Granular | View users. Required for read and write access. |
| read:user.columns:jira | Granular | View user columns. Required for read and write access. |
| read:project:jira | Granular | View projects. Required for read and write access. |
| write:project:jira | Granular | Create and update projects. Required for write access. |
| delete:project:jira | Granular | Delete projects and their details, such as issue types, project lead, and avatars. Required for write access. |
| read:project-category:jira | Granular | View project categories. Required for read and write access. |
| read:project.component:jira | Granular | View project components. Required for read and write access. |
| write:project.component:jira | Granular | Create and update project components. Required for write access. |
| delete:project.component:jira | Granular | Delete project components. Required for write access. |
| read:project.property:jira | Granular | View project properties. Required for read and write access. |
| write:project.property:jira | Granular | Create and update project properties. Required for write access. |
| delete:project.property:jira | Granular | Delete project properties. Required for write access. |
| read:project-role:jira | Granular | View project roles. Required for read and write access. |
| write:project-role:jira | Granular | Create and update project roles. Required for write access. |
| delete:project-role:jira | Granular | Delete project roles. Required for write access. |
| read:project-version:jira | Granular | View project versions. Required for read and write access. |
| write:project-version:jira | Granular | Create and update project versions. Required for write access. |
| delete:project-version:jira | Granular | Delete project versions. Required for write access. |
| read:issue.time-tracking:jira | Granular | View issue time tracking. Required for read and write access. |
| write:issue.time-tracking:jira | Granular | Create and update issue time tracking. Required for write access. |
| read:user.property:jira | Granular | View user properties. Required for read and write access. |
| write:user.property:jira | Granular | Create and update user properties. Required for write access. |
| delete:user.property:jira | Granular | Delete user properties. Required for write access. |
| read:workflow:jira | Granular | View workflows. Required for read and write access. |
| read:workflow-scheme:jira | Granular | View workflow schemes. Required for read and write access. |
| read:status:jira | Granular | View statuses. Required for read and write access. |
| read:workflow.property:jira | Granular | View workflow properties. Required for read and write access. |
| read:project-type:jira | Granular | View project types. Required for read and write access. |
| read:project.email:jira | Granular | View project emails. Required for read and write access. |
| write:project.email:jira | Granular | Create and update project emails. Required for write access. |
| read:role:jira | Granular | View roles. Required for read and write access. |
| read:user-configuration:jira | Granular | View user configurations. Required for read and write access. |
| write:user-configuration:jira | Granular | Create and update user configurations. Required for write access. |
| delete:user-configuration:jira | Granular | Delete user configurations. Required for write access. |
| read:jql:jira | Granular | View JQL. Required for read and write access. |
| validate:jql:jira | Granular | Validate JQL. Required for read and write access. |
Jira Data Center has one type of scopes as shown in the table below.
| Scope | Description |
| READ | View projects and issues the user account can view, including any related items, such as dashboards, filters, attachments, or comments. Also view the user profile. |
| WRITE | Create, update, and delete projects and issues the user account can change, including any related items, such as dashboards, filters, attachments, or comments. Also change the user profile. |
| ADMIN | Perform most administrative functions on the entire Jira instance, excluding functions such as backups, imports, and infrastructure settings which are limited to system administrators. |
| SYSTEM_ADMIN | Perform all administrative functions on the entire Jira instance, including functions such as backups, imports, and infrastructure settings. Note: This scope is not utilized by CData Sync App. |
Endpoint domains are the specific URLs that the application needs to communicate with in order to authenticate, retrieve records, and perform other essential operations.
Allowlisting these domains ensures that the network traffic between your application and the API is not blocked by firewalls or security settings.
Note: Most users do not need to make any special configurations. Allowlisting is typically only necessary for environments with strict security measures, such as restricted outbound network traffic.
| Domain | Always Required | Description |
| <URL> | TRUE | The URL of your Jira instance. |
| api.atlassian.com | FALSE | The base URL of the Jira API. Required when AuthScheme is set to OAuth. |
| <SSOLoginURL> | FALSE | The URL of your SSO provider. Required when AuthScheme is set to OKTA or CROWD. |
| <SSOExchangeURL> | FALSE | Your SSO Exchange URL. Required when AuthScheme is set to OKTA or CROWD. |
This section details a selection of advanced features of the Jira Sync App.
The Sync App supports the use of user defined views, virtual tables whose contents are decided by a pre-configured user defined query. These views are useful when you cannot directly control queries being issued to the drivers. For an overview of creating and configuring custom views, see User Defined Views .
Use SSL Configuration to adjust how Sync App handles TLS/SSL certificate negotiations. You can choose from various certificate formats;. For further information, see the SSLServerCert property under "Connection String Options" .
Configure the Sync App for compliance with Firewall and Proxy, including Windows proxies and HTTP proxies. You can also set up tunnel connections.
For further information, see Query Processing.
To enable TLS, set the following:
With this configuration, the Sync App attempts to negotiate TLS with the server. The server certificate is validated against the default system trusted certificate store. You can override how the certificate gets validated using the SSLServerCert connection property.
To specify another certificate, see the SSLServerCert connection property.
The Jira Sync App also supports setting client certificates. Set the following to connect using a client certificate.
To authenticate to an HTTP proxy, set the following:
Set the following properties:
The CData Sync App models the Jira API as an easy-to-use SQL database. This allows connectivity to Jira Cloud accounts or Jira Server instances. There are three parts to the data model: tables, views, and stored procedures.
The Tables section, which details standard SQL tables, and the Views section, which lists read-only SQL tables, contain samples of what you might have access to in your Jira account.
Common tables include:
| Table | Description |
| Issues | Provides full access to Jira issues. Supports creation, updates, deletions, and queries for issue records across all projects. |
| Projects | Provides access to all Jira projects. Supports querying, creating, updating, and deleting project records. |
| IssueTypes | Queries the available Issue Types in Jira, such as Task, Bug, Epic, and so on. |
| Users | Provides access to Jira users. Supports querying user details including account ID, email, and group memberships. |
| Comments | Manages comments added to issues. Supports creating, reading, updating, and deleting issue comments. |
| Attachments | Provides access to issue attachments in Jira. Supports querying, inserting, and deleting file attachments associated with issues. |
| Worklogs | Provides full access to Jira worklogs. Supports creating, updating, deleting, and querying logged work hours on issues. |
| Boards | Enables management of agile boards in Jira. Supports creation, querying, modification, and deletion of boards. |
| Sprints | Manages Jira sprints. Supports creating, modifying, deleting, and querying sprint data from agile boards. |
| Epics | Lists all epics across Jira projects, including epic names, summaries, and keys. |
| ProjectsIssueTypes | Displays issue types configured for each project, including standard and custom issue types. |
| Statuses | Lists all available issue statuses in Jira, including custom and default statuses used in workflows. |
| Workflows | Manages the available workflows in Jira, which define the sequence of statuses and transitions for issues. |
| WorkflowSchemes | Handles the configuration of workflow schemes that assign workflows to issue types across projects. |
| IssueChangelogs | Provides a detailed history of changes made to issues, including field changes, timestamps, and authors. |
| IssueLinks | Displays relationships between issues, such as 'blocks', 'duplicates', or 'relates to'. |
| IssueFixVersions | Returns the list of versions in which specific issues are expected to be resolved. |
| IssueComponents | Lists components assigned to issues, which typically represent parts or modules of a project. |
| CustomFieldContext | Returns a list of contexts for a custom field in Jira. |
| Fields | Retrieves metadata about all fields available in Jira, including both system-defined and custom fields. |
API limitations and requirements are documented in each table.
Stored Procedures are actions that are invoked via SQL queries. They perform tasks beyond standard create, read, update, delete (CRUD) operations, including managing issues, attachments, and OAuth tokens.
By default, the table and view schemas describe the column behavior of only system fields. To access custom fields for Issues, as well as system fields, you can set IncludeCustomFields in the connection string. You can also extend the schemas to configure access to custom fields. The following sections show how to surface different types of custom fields.
Set the IncludeCustomFields property to True to expose access to all custom fields.
Please note that there is a performance overhead associated with exposing all custom field. If this represents an obstacle in realizing the desired use case, granular control of the exposed metadata is possible using custom schema files.
Custom schema improve Sync App performance by enabling connections to a subset of all available custom field metadata.
Table and view schemas are defined in .rsd configuration files with a simple format that makes them easy to customize. You can call CreateSchema to save a schema file; for example, with the IncludeCustomFields connection property set. Or, adapt the example Issues schema, which you can find at the end of this section.
To connect to custom schemas, set the Location property to the folder containing the schema files. The schemas included with the Sync App are located in the db subfolder of the installation folder.
Columns are defined in the api:info section of the schema file. You can use any of the existing column definitions as a template for creating custom field columns. All column definitions have at least a name and data type:
Custom fields require the following additional parameters:
See the following sections for examples of specifying the XPath to the value you want for different types of columns.
The following example is a column definition for a custom field with a simple data type.
<attr name="MyCustomField" xs:type="string" other:relativexpath="customfield_10002" other:urlname="customfield_10002" desc="My custom field." />
Below is the JSON representation of an object-type custom field:
"customfield_10001" : {
"name" : "New name",
"description" : "desc"
}
The following example models the fields of the object-type custom field as columns.
<attr name="MyCustomFieldName" xs:type="string" other:relativexpath="name" other:urlname="customfield_10001" desc="My custom field." />
<attr name="MyCustomFieldDesc" xs:type="string" other:relativexpath="description" other:urlname="customfield_10001" desc="My custom field." />
To surface array-type custom fields, you will also need to pass several additional inputs to the processing operations of the Sync App, in addition to the relativexpath and urlname properties described in the Defining Custom Fields section. Use the api:set keyword to define the following variables.
Below is an example of an array-type custom field in the raw JSON response of a query to the Issues table. You can use the logging facilities of the Sync App to obtain the JSON response: Set Logfile to a location that the Sync App can write to and set Verbosity to 3.
{
"expand": "schema,names",
"startAt": 0,
"maxResults": 50,
"total": 43,
"issues" : [{
"expand" : "operations,versionedRepresentations,editmeta,changelog,renderedFields",
"id" : "10042",
"self" : "https://cdatadev.atlassian.net/rest/api/2/issue/10042",
"key" : "TEST-43",
"fields" : {
"customfield_1002" : [{
"description" : "MyCF",
"id" : "10001",
"created" : "2016-22-08",
"author" : {
"name" : "admin",
"key" : "admin",
}
}, {
"description" : "MyCF2",
"id" : "10002",
"created" : "2016-22-08",
"author" : {
"name" : "admin",
"key" : "admin",
}
},
...
]
}
...
]
}
Below is an example schema that surfaces the nested values in the array-type custom field.
<api:script xmlns:api="vhttp://apiscript.com/ns?v1">
<api:info title="CustomFieldSample" description="Custom field example.">
<attr name="IssueId" xs:type="string" other:absolutexpath="/json/issues/id" desc="The Id of the issue." other:urlname="id" references="Issues.Id" />
<attr name="IssueKey" xs:type="string" other:absolutexpath="/json/issues/key" desc="The key of the issue." other:urlname="key" references="Issues.Key" />
<attr name="CfId" xs:type="string" other:relativexpath="id" desc="The Id of the custom field." />
<attr name="CfDescription" xs:type="string" other:relativexpath="description" desc="The description of the custom field." />
<attr name="CfCreatedDate" xs:type="datetime" other:relativexpath="created" desc="The date the custom field was created." />
<input name="JQL" description="JQL(Jira Query Language) allows you to build structured queries." />
<input name="Rows@Next" description="This is used to page through multiple pages of results and should not be set manually." />
</api:info>
<!--XPath should stay the same. Do not change this. -->
<api:set attr="XPath" value="/json/issues" />
<!--Subrepeat elment XPath. Set this based on the custom field structure. -->
<api:set attr="SubRepeatElement" value="/json/issues/fields/customfield_10020"/>
<!--Choose a column that is in every custom field row. -->
<api:set attr="RepeatElement" value="CfId" />
<!--Required. Do not change this. -->
<api:set attr="IsSearch" value="true" />
<!--Set this to the name of the custom field plus the Id, separated by an underscore. -->
<api:set attr="JiraTableCode" value="customfield_10020" />
<api:script method="GET">
<api:call op="jiraadoSelect" output="out">
<api:push item="out" />
</api:call>
</api:script>
</api:script>
Note that the table also includes columns outside the custom field. You can use the absolutexpath column property to add these. This optional field can be used to specify an absolute XPath not relative to the repeat element.
Below is an example schema for the Issues table.
<api:script xmlns:api="http://apiscript.com/ns?v1">
<api:info title="Issues" description="" other:isissues="true">
<attr name="Id" xs:type="int" key="true" readonly="true" description="The Id of the issue." other:urlname="id" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="id"/>
<attr name="Key" xs:type="string" columnsize="2000" readonly="true" description="The key of the issue." other:urlname="key" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="key"/>
<attr name="IssueTypeId" xs:type="string" columnsize="2000" readonly="false" description="The issue type Id." other:urlname="issuetype" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/issuetype/id"/>
<attr name="IssueTypeName" xs:type="string" columnsize="2000" readonly="true" description="The issue type name." other:urlname="issuetype" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/issuetype/name"/>
<attr name="ProjectId" xs:type="string" columnsize="2000" readonly="false" description="The project Id of the issue." other:urlname="project" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/project/id"/>
<attr name="ProjectName" xs:type="string" columnsize="2000" readonly="true" description="The project name of the issue." other:urlname="project" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/project/name"/>
<attr name="ProjectKey" xs:type="string" columnsize="2000" readonly="false" description="The project key of the issue." other:urlname="project" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/project/key"/>
<attr name="ResolutionId" xs:type="string" columnsize="2000" readonly="false" description="The resolution Id of the issue." other:urlname="resolution" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/resolution/id"/>
<attr name="ResolutionName" xs:type="string" columnsize="2000" readonly="false" description="The resolution name of the issue." other:urlname="resolution" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/resolution/name"/>
<attr name="ResolutionDescription" xs:type="string" columnsize="2000" readonly="true" description="The resolution description of the issue." other:urlname="resolution" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/resolution/description"/>
<attr name="ResolutionDate" xs:type="datetime" readonly="false" description="The resolution date of the issue." other:urlname="resolutiondate" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/resolutiondate"/>
<attr name="Workratio" xs:type="long" readonly="false" description="The work ratio of the issue." other:urlname="workratio" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/workratio"/>
<attr name="LastViewed" xs:type="datetime" readonly="true" description="The last time that the issue was viewed." other:urlname="lastViewed" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/lastViewed"/>
<attr name="WatchCount" xs:type="int" readonly="true" description="The number of watches of the issue." other:urlname="watches" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/watches/watchCount"/>
<attr name="IsWatching" xs:type="bool" readonly="false" description="Whether the currently authenticated user is watching the issue." other:urlname="watches" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/watches/isWatching"/>
<attr name="Created" xs:type="datetime" readonly="true" description="The creation date of the issue." other:urlname="created" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/created"/>
<attr name="PriorityId" xs:type="string" columnsize="2000" readonly="false" description="The priority Id of the issue." other:urlname="priority" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/priority/id"/>
<attr name="PriorityName" xs:type="string" columnsize="2000" readonly="true" description="The priority name of the issue." other:urlname="priority" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/priority/name"/>
<attr name="TimeSpentSeconds" xs:type="long" readonly="true" description="The time spent in seconds on the issue." other:urlname="timespent" other:aggregate="" other:supportedoperators="" other:fieldname="timetracking" other:insertfield="" other:relativexpath="fields/timetracking/timeSpentSeconds"/>
<attr name="TimeSpent" xs:type="string" columnsize="2000" readonly="true" description="The time spent on the issue." other:urlname="timespent" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="timetracking" other:insertfield="" other:relativexpath="fields/timetracking/timeSpent"/>
<attr name="TimeRemainingEstimateSeconds" xs:type="long" readonly="true" description="The time estimate in seconds of the issue." other:urlname="timeestimate" other:aggregate="" other:supportedoperators="" other:fieldname="timetracking" other:insertfield="" other:relativexpath="fields/timetracking/remainingEstimateSeconds"/>
<attr name="TimeRemainingEstimate" xs:type="string" columnsize="2000" readonly="false" description="The time estimate of the issue." other:urlname="timeestimate" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="timetracking" other:insertfield="" other:relativexpath="fields/timetracking/remainingEstimate"/>
<attr name="TimeOriginalEstimateSeconds" xs:type="long" readonly="true" description="The original time estimate in seconds of the issue." other:urlname="timeoriginalestimate" other:aggregate="" other:supportedoperators="" other:fieldname="timetracking" other:insertfield="" other:relativexpath="fields/timetracking/originalEstimateSeconds"/>
<attr name="TimeOriginalEstimate" xs:type="string" columnsize="2000" readonly="false" description="The original time estimate of the issue." other:urlname="timeoriginalestimate" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="timetracking" other:insertfield="" other:relativexpath="fields/timetracking/originalEstimate"/>
<attr name="AggregateTimeSpent" xs:type="long" readonly="true" description="The aggregate time spent of the issue." other:urlname="aggregatetimespent" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/aggregatetimespent"/>
<attr name="AggregateTimeOriginalEstimate" xs:type="long" readonly="true" description="The original aggregate time estimate of the issue." other:urlname="aggregatetimeoriginalestimate" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/aggregatetimeoriginalestimate"/>
<attr name="AggregateTimeEstimate" xs:type="long" readonly="true" description="The aggregate time estimate of the issue." other:urlname="aggregatetimeestimate" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/aggregatetimeestimate"/>
<attr name="AssigneeDisplayName" xs:type="string" columnsize="2000" readonly="true" description="Assignee display name." other:urlname="assignee" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/assignee/displayName"/>
<attr name="AssigneeKey" xs:type="string" columnsize="2000" readonly="false" description="The assignee key of the issue." other:urlname="assignee" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/assignee/key"/>
<attr name="AssigneeName" xs:type="string" columnsize="2000" readonly="true" description="The assignee name of the issue." other:urlname="assignee" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/assignee/name"/>
<attr name="AssigneeEmail" xs:type="string" columnsize="2000" readonly="true" description="The assignee email of the issue." other:urlname="assignee" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/assignee/emailAddress"/>
<attr name="Updated" xs:type="datetime" readonly="true" description="The updated date of the issue." other:urlname="updated" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/updated"/>
<attr name="StatusId" xs:type="string" columnsize="2000" readonly="false" description="The status Id of the issue." other:urlname="status" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/status/id"/>
<attr name="StatusName" xs:type="string" columnsize="2000" readonly="true" description="The status name of the issue." other:urlname="status" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/status/name"/>
<attr name="Description" xs:type="string" columnsize="2000" readonly="false" description="The description of the issue." other:urlname="description" other:aggregate="" other:supportedoperators="LIKE,NOT LIKE,IS,IS NOT" other:fieldname="" other:insertfield="" other:relativexpath="fields/description"/>
<attr name="Summary" xs:type="string" columnsize="2000" readonly="false" description="The summary of the issue." other:urlname="summary" other:aggregate="" other:supportedoperators="LIKE,NOT LIKE,IS,IS NOT" other:fieldname="" other:insertfield="" other:relativexpath="fields/summary"/>
<attr name="CreatorDisplayName" xs:type="string" columnsize="2000" readonly="true" description="Issue creator display name." other:urlname="creator" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/creator/displayName"/>
<attr name="CreatorName" xs:type="string" columnsize="2000" readonly="true" description="The creator name of the issue." other:urlname="creator" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/creator/name"/>
<attr name="CreatorKey" xs:type="string" columnsize="2000" readonly="true" description="The creator key of the issue." other:urlname="creator" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/creator/key"/>
<attr name="CreatorEmail" xs:type="string" columnsize="2000" readonly="true" description="The creator email of the issue." other:urlname="creator" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/creator/emailAddress"/>
<attr name="ReporterDisplayName" xs:type="string" columnsize="2000" readonly="true" description="Issue reporter display name." other:urlname="reporter" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/reporter/displayName"/>
<attr name="ReporterName" xs:type="string" columnsize="2000" readonly="true" description="The reporter name of the issue." other:urlname="reporter" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/reporter/name"/>
<attr name="ReporterKey" xs:type="string" columnsize="2000" readonly="true" description="The reporter key of the issue." other:urlname="reporter" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/reporter/key"/>
<attr name="ReporterEmail" xs:type="string" columnsize="2000" readonly="true" description="The reporter email of the issue." other:urlname="reporter" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/reporter/emailAddress"/>
<attr name="Environment" xs:type="string" columnsize="2000" readonly="true" description="Search for issues where the environment contains particular text." other:urlname="reporter" other:aggregate="" other:supportedoperators="LIKE,NOT LIKE,IS,IS NOT" other:fieldname="" other:insertfield="" other:relativexpath="fields/environment"/>
<attr name="SecurityLevel" xs:type="string" columnsize="2000" readonly="true" description="Search for issues with a particular security level." other:urlname="reporter" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/security/name"/>
<attr name="AggregateProgress" xs:type="long" readonly="true" description="The aggregate progress of the issue." other:urlname="aggregateprogress" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/aggregateprogress/progress"/>
<attr name="TotalProgress" xs:type="long" readonly="true" description="The aggregate total progress of the issue." other:urlname="aggregateprogress" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/aggregateprogress/total"/>
<attr name="Votes" xs:type="int" readonly="true" description="Votes of the issue." other:urlname="votes" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/votes/votes"/>
<attr name="HasVotes" xs:type="bool" readonly="true" description="The vote status of the issue." other:urlname="votes" other:aggregate="" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/votes/hasVoted"/>
<attr name="DueDate" xs:type="datetime" readonly="false" description="The due date of the issue." other:urlname="duedate" other:aggregate="" other:supportedoperators="=,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/duedate"/>
<attr name="Labels" xs:type="string" columnsize="2000" readonly="false" description="The labels of an issue" other:urlname="labels" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN" other:fieldname="" other:insertfield="" other:relativexpath="fields/labels"/>
<attr name="FixVersionsAggregate" xs:type="string" columnsize="2000" readonly="false" description="The fix versions of the issue" other:urlname="fixVersions" other:aggregate="/json/issues/fields/fixVersions" other:supportedoperators="" other:fieldname="" other:insertfield="fixVersions" other:relativexpath="fields/fixVersions"/>
<attr name="ComponentsAggregate" xs:type="string" columnsize="2000" readonly="false" description="Search for issues that belong to a particular component of a project. You can search by component name or component Id." other:urlname="components" other:aggregate="/json/issues/fields/components" other:supportedoperators="" other:fieldname="" other:insertfield="" other:relativexpath="fields/components"/>
<input name="JQL" xs:type="string" columnsize="2000" description="JQL (Jira Query Language) allows you to build structured queries." other:supportedoperators="IS,IS NOT" />
<input name="Attachments" xs:type="string" columnsize="2000" description="Search for issues that have or do not have attachments. This column can be queried with IS EMPTY or IS NOT EMPTY." other:supportedoperators="LIKE,NOT LIKE" />
<input name="Comment" xs:type="string" columnsize="2000" description="Search for issues that have a comment that contains particular text." other:urlname="" other:aggregate="" other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN"/>
<input name="Category" xs:type="string" columnsize="2000" description="Search for issues that belong to projects in a particular category." other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN"/>
<input name="SprintId" xs:type="integer" columnsize="2000" description="Search for issues that belongs to a specific sprint, by specifying the Id of the Sprint." other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN"/>
<input name="SprintName" xs:type="string" columnsize="2000" description="Search for issues that belongs to a specific sprint, by specifying the name of the Sprint." other:supportedoperators="=,!=,IS,IS NOT,IN,NOT IN"/>
<input name="Filter" xs:type="string" columnsize="2000" description="Search for issues of saved filters. This column can be queried with filter name or filter id." other:supportedoperators="=,!=,IN,NOT IN"/>
<input name="Rows@Next" desc="Identifier for the next page of results. Do not set this value manually." />
</api:info>
<api:script method="GET">
<api:call op="jiraadoSelect">
<api:push/>
</api:call>
</api:script>
<api:script method="POST">
<api:call op="jiraadoInsert">
<api:push/>
</api:call>
</api:script>
<api:script method="MERGE">
<api:call op="jiraadoUpdate">
<api:push/>
</api:call>
</api:script>
<api:script method="DELETE">
<api:call op="jiraadoDelete">
<api:push/>
</api:call>
</api:script>
</api:script>
The schemas are defined in .rsd configuration files. These files have a simple format that makes them easy to extend; for example, to gain more control over custom fields.
To save a schema to an .rsd file, call the CreateSchema stored procedure; for example, with the IncludeCustomFields connection property set.
To use custom schemas, set the Location property to the folder containing the .rsd files. The schemas included with the Sync App are located in the db subfolder of the installation folder.
You can use the following properties to gain more control over column names:
By default, all supported operators are passed directly to the Jira API, enabling efficient server-side filtering. However, when queries include invalid Id or Key values, this approach can lead to inconsistent outcomes. On Jira Cloud, depending on the UseJqlSearchEndpoint setting, invalid filters may return 0 results instead of throwing an error, whereas on Jira Data Center they may cause API errors. The KeyColumnOperators connection property allows you to control this behavior.
By default, the KeyColumnOperators is set to Server-Side.
To ensure consistent results, you can set the KeyColumnOperators connection property to Client-Side. In this mode, the following operators applied to the Id and Key columns are handled client-side by the Sync App rather than being included in the JQL sent to the Jira API:
By handling these operators client-side, the Sync App avoids strict server-side filtering rules that could cause the entire query to fail or return zero results due to a single invalid value. However, enabling this property can impact performance:
The Sync App models the data in Jira as a list of tables in a relational database that can be queried using standard SQL statements.
| Name | Description |
| Attachments | Provides access to issue attachments in Jira. Supports querying, inserting, and deleting file attachments associated with issues. |
| Boards | Query, insert and delete the agile Boards in Jira. |
| Comments | Manages comments added to issues. Supports creating, reading, updating, and deleting issue comments. |
| Groups | Lists user groups configured in the Jira instance, including group names and descriptions. |
| IssueCustomFieldOptions | Create, modify, delete and query the configured Issue Custom Field Options in Jira. |
| IssueRemoteLinks | Create, read, update, and delete the available remote issue links. |
| Issues | Provides full access to Jira issues. Supports creation, updates, deletions, and queries for issue records across all projects. |
| IssueTypes | Query the available Issue Types in Jira. |
| PermissionGrants | Displays all permission grants defined in permission schemes, including scope and associated roles or groups. |
| ProjectComponents | Manages components within Jira projects. Supports creating, updating, deleting, and querying project components. |
| ProjectRoleActors | Manages role assignments within projects. Retrieves and updates users and groups assigned to project roles. |
| Projects | Provides access to all Jira projects. Supports querying, creating, updating, and deleting project records. |
| ProjectVersions | Provides access to project version management. Supports querying, creating, updating, and deleting versions. |
| RoleActors | Manages default role actors, who are automatically assigned to roles when new projects are created. |
| Roles | Lists all roles configured in Jira, such as 'Service Desk Team' or 'Project Manager'. |
| Sprints | Manages Jira sprints. Supports creating, modifying, deleting, and querying sprint data from agile boards. |
| Users | Create, modify, delete and query the available Users in Jira. |
| Watchers | Query, insert and delete the available issue Watchers in Jira. |
| Workflows | Manages the available workflows in Jira, which define the sequence of statuses and transitions for issues. |
| WorkflowSchemes | Handles the configuration of workflow schemes that assign workflows to issue types across projects. |
| Worklogs | Provides full access to Jira worklogs. Supports creating, updating, deleting, and querying logged work hours on issues. |
Provides access to issue attachments in Jira. Supports querying, inserting, and deleting file attachments associated with issues.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Attachments WHERE Id = 10003
To retrieve attachments linked to a specific issue, query the
Attachments table by specifying either the IssueId or IssueKey column.
SELECT * FROM Attachments WHERE IssueId = 123
To retrieve attachments linked to issues within a specific project, query the
Attachments table by specifying either the ProjectId or ProjectName column.
SELECT * FROM Attachments WHERE ProjectId = 10100
Use the JQL pseudocolumn for more complex filters on the issues to retrieve attachments from. For example, retrieve attachments of issues that were created after January 7th:
SELECT * FROM Attachments WHERE JQL = 'created > 2018-01-07'
Upload an attachment to an issue.
INSERT INTO Attachments (FilePath, IssueKey) VALUES ('C:/Users/User/Desktop/info.txt', 'SSFSF-1')
INSERT INTO Attachments (ContentEncoded, Name, IssueKey) VALUES ('U29tZSBjb250ZW50IGhlcmU=', 'Uploaded File', 'SSFSF-1')
Remove an attachment uploaded to any issue by specifying the Id of the attachment
DELETE FROM Attachments WHERE Id = 10003
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | False | Common |
The unique numeric identifier of the attachment within the Jira system. | ||
| IssueId [KEY] | Integer | False |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common |
The internal identifier of the issue that the attachment is associated with. |
| IssueKey | String | False |
Issues.Key | =,<>,>,>=,<,<=,IN,NOT IN | Common |
The unique key that identifies the issue related to the attachment, such as 'JIRA-101'. |
| ProjectId | Integer | True |
Projects.Id | =,IS,IS NOT,IN,NOT IN | Common |
The numeric identifier of the project that contains the issue to which the attachment is linked. |
| ProjectName | String | True | =,IS,IS NOT,IN,NOT IN | Common |
The name of the project that includes the issue where this attachment was added. | |
| IssueCreatedDate | Datetime | False | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The timestamp indicating when the issue associated with this attachment was originally created. | |
| IssueUpdatedDate | Datetime | False | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The timestamp of the most recent update to the issue related to this attachment. | |
| Filename | String | False | Common |
The original name of the uploaded file, including the file extension. | ||
| AuthorName | String | False | Common |
The username of the user who uploaded the attachment. | ||
| AuthorDisplayName | String | False |
Users.DisplayName | Common |
The full display name of the user who uploaded the attachment, typically shown in the Jira UI. | |
| Created | Datetime | False | Common |
The date and time when the attachment was added to the issue. | ||
| Size | Integer | False | Common |
The total file size of the attachment, in bytes. | ||
| MimeType | String | False | Common |
The Multipurpose Internet Mail Extensions (MIME) type of the file, used to indicate the file format such as 'application/pdf' or 'image/jpeg'. | ||
| Content | String | False | Common |
The direct Uniform Resource Identifier (URI) to access or download the full content of the attachment from Jira. | ||
| Thumbnail | String | False | Common |
The URI to a smaller, thumbnail version of the attachment image if available. Typically used for previews. | ||
| AuthorAccountId | String | False |
Users.AccountId | Cloud |
The unique account ID of the user who uploaded the attachment. This ID is consistent across the Atlassian platform. | |
| AuthorKey | String | False | Server |
An internal Jira user key that uniquely identifies the user who added the attachment. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| JQL | String |
A field for specifying a Jira Query Language (JQL) expression to filter attachments by issue context when querying. |
| FilePath | String |
The absolute path to the file on the local machine to be uploaded as an attachment. |
| ContentEncoded | String |
The content of the file to upload, encoded in BASE64 format. Used in scenarios where direct file access is not possible. |
| Name | String |
The name to assign to the uploaded file, including its extension, which will appear in the issue's attachment list. |
Query, insert and delete the agile Boards in Jira.
The Sync App uses the Jira API to process some of the filters. The Sync App processes other filters within the Sync App.
The following is an example of a query with server-side filters
SELECT * FROM Boards WHERE Id = 10022
Using other filters:
SELECT * FROM Boards WHERE ProjectKeyOrId = 'QMTH' AND Type = 'scrum'
Note: Valid Type filter values are 'scrum', 'kanban', and 'simple'.
To insert a new board you must specify Name, Type and FilterId.
INSERT INTO Boards (Name, Type, FilterId) VALUES ('New board', 'scrum', 10200)
Note: Valid input Type values are 'scrum' and 'kanban'.
To delete a board you must specify its Id.
DELETE FROM Boards WHERE Id = 130
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | True | = | Common |
The Id of the board. | |
| Name | String | False | = | Common |
The name of the board. | |
| Type | String | False | = | Common |
The type of the board. For READ operations valid values are 'scrum', 'kanban', and 'simple'. For CREATE operations only 'scrum' and 'kanban' are supported. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| ProjectKeyOrId | String |
Filter the agile boards based on the project they are located in. |
| FilterId | String |
ID of a filter that the user has permissions to view. Not supported for team-managed boards. |
Manages comments added to issues. Supports creating, reading, updating, and deleting issue comments.
You can query this table to retrieve comments posted on all issues.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Comments
To retrieve comments associated with a specific issue, query the
Comments table by specifying either the IssueId or IssueKey column.
SELECT * FROM Comments WHERE IssueId = 10003
To retrieve comments associated to issues within a specific project, query the
Comments table by specifying either the ProjectId or ProjectName column.
SELECT * FROM Comments WHERE ProjectId = 10100
Additionally, the Created column can be used in the ORDER BY clause:
SELECT * FROM Comments WHERE IssueId = 10003 ORDER BY Created DESC
Due to limitations in the Jira API, filtering with comparison operators on the IssueId column (>, >=, <, <=) only works reliably within the context of the project that contains the specified issue. To improve behavior, the Sync App transforms these comparisons into equivalent filters on the IssueCreatedDate column by resolving the Created datetime of each referenced issue.
This transformation is applied only when the KeyColumnOperators connection property is set to "Server-Side" (the default). In rare cases, Sync App may assign a higher IssueId to an issue created earlier, which can result in incorrect filtering when relying solely on IssueId comparisons. For fully accurate results across all projects, set KeyColumnOperators to "Client-Side". This mode retrieves the entire issue dataset and evaluates the comparison logic client-side providing a correct result set at the cost of performance.
Consider the example query below.
SELECT * FROM Comments WHERE IssueId > '10005'
When KeyColumnOperators is set to "Server-Side", this is internally transformed into:
SELECT * FROM Comments WHERE IssueCreatedDate > '2024-11-26T10:08:51Z'
Post a comment as the logged in user. IssueId and Body are required.
INSERT INTO Comments (IssueId, Body) VALUES ('10003', 'Test Comment')
Only the body of the comment can be updated. The IssueId is required for an UPDATE as well.
UPDATE Comments SET Body = 'Updated Comment' WHERE Id = 10202 AND IssueId = 10003
Delete a comment posted in an issue by providing the Id and IssueId
DELETE FROM Comments WHERE Id = 10202 AND IssueId = 10003
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | True | = | Common |
The unique identifier assigned to the comment within the Jira system. | |
| IssueId [KEY] | Integer | False |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common |
The numeric ID of the issue that the comment is associated with. This ID is internal to Jira. |
| IssueKey | String | False |
Issues.Key | =,<>,>,>=,<,<=,IN,NOT IN | Common |
The issue key linked to the comment, such as 'PROJ-101', which uniquely identifies the issue in a human-readable format. |
| ProjectId | Integer | True |
Projects.Id | =,IS,IS NOT,IN,NOT IN | Common |
The numeric ID of the project that contains the issue the comment belongs to. |
| ProjectName | String | True | =,IS,IS NOT,IN,NOT IN | Common |
The name of the project that includes the issue associated with this comment. | |
| IssueCreatedDate | Datetime | True | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The date and time when the issue linked to this comment was originally created. | |
| IssueUpdatedDate | Datetime | True | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The date and time when the issue related to this comment was last updated. | |
| AuthorDisplayName | String | True |
Users.DisplayName | Common |
The full display name of the user who originally created the comment. | |
| AuthorEmail | String | True |
Users.EmailAddress | Common |
The email address associated with the user who created the comment. | |
| UpdateDisplayName | String | True |
Users.DisplayName | Common |
The full display name of the user who last updated or edited the comment. | |
| UpdateAuthorEmail | String | True |
Users.EmailAddress | Common |
The email address of the user who most recently modified the comment. | |
| Body | String | False | Common |
The raw content of the comment, typically in plain text or markup, as entered by the author. | ||
| RenderedBody | String | True | Common |
Deprecated. The processed version of the comment body, rendered in HTML or another display format for the user interface. | ||
| Created | Datetime | True | Common |
The timestamp indicating when the comment was first submitted. | ||
| Updated | Datetime | True | Common |
The timestamp indicating the most recent update to the comment, if applicable. | ||
| VisibilityType | String | False | Common |
The method used to restrict comment visibility, such as by group or project role. | ||
| VisibilityValue | String | False | Common |
The specific group name or role name used to control who can view the comment. | ||
| AuthorAccountName | String | True | Server |
The username of the Jira account that created the comment. | ||
| AuthorAccountKey | String | True | Server |
The unique Jira user key corresponding to the account that authored the comment. | ||
| UpdateAuthorAccountKey | String | True | Server |
The unique Jira user key of the account that last modified the comment. | ||
| UpdateAuthorAccountName | String | True | Server |
The username of the user who most recently edited the comment. | ||
| AuthorAccountId | String | True |
Users.AccountId | Cloud |
The Jira account ID of the user who originally posted the comment. This ID is used in API interactions. | |
| UpdateAuthorAccountId | String | True |
Users.AccountId | Cloud |
The Jira account ID of the user who most recently updated the comment. This is used for audit tracking. | |
| ItemURL | String | True | Common |
A URL pointing directly to the comment, allowing users to open it in the Jira interface. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| JQL | String |
A Jira Query Language (JQL) expression used to retrieve issues with specific comment criteria, such as author or date range. |
Lists user groups configured in the Jira instance, including group names and descriptions.
The Sync App uses the Jira API to process filters on supported columns. Any additional filters are applied client-side by the Sync App.
SELECT * FROM GROUPS WHERE Name <> 'administrator' AND CONTAINS(Name, 'jira')
Creates a new group.
To add a group, you must provide at least the Name column.
INSERT INTO Groups (Name) VALUES('engineering-team')
Deletes an existing group.
In the below examples, a group is deleted by Name and Id.
DELETE Groups WHERE NAME = 'engineering-team' DELETE Groups WHERE Id = 'dfe32267-633a-421a-a5f8-cc2a4z83e711'
Note: To delete a group and transfer its restrictions to another group refer to the DeleteAndSwapGroup stored procedure.
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | True | = | Cloud |
A unique identifier for the group, used internally to reference the group within Jira. | |
| Name [KEY] | False | True | =,!=,CONTAINS | Common |
The name of the group as it appears in Jira. This is typically used for permission schemes and role assignments. | |
| Html | String | True | Common |
The raw HTML representation of the group object. This may be used in UI rendering or API responses. | ||
| LabelsAggregate | String | True | Common |
A comma-separated list of labels that are associated with the group. Labels can help categorize or describe the group's function or purpose. |
Create, modify, delete and query the configured Issue Custom Field Options in Jira.
In Jira Cloud, this object is exposed as a table and supports CREATE, UPDATE, AND DELETE (CUD) operations.
In Jira Server, this object is exposed as a view instead of a table, and CUD operations are not supported.
To execute a query in Jira Cloud, you must specify both the CustomFieldId and the Context.
SELECT * FROM IssueCustomFieldOptions WHERE CustomFieldId='customfield_10107' AND context=10307
Alternatively, you can also provide the OptionId.
SELECT * from IssueCustomFieldOptions WHERE OptionId = 10000
To execute a query in Jira Server, you must specify the CustomFieldId if you are not using the OAuth 2.0 AuthScheme.
SELECT * FROM IssueCustomFieldOptions WHERE CustomFieldId='10104'
Alternatively, you can also provide the OptionId.
SELECT * from IssueCustomFieldOptions WHERE OptionId = 10000
To add a new custom field option, you must specify the option Name along with the CustomFieldId and the Context.
INSERT INTO IssueCustomFieldOptions (CustomFieldId, Context, Name ) VALUES ('customfield_10107', '10307', 'NewAddedOption')
To update a custom field option, you must specify the OptionId along with the CustomFieldId and Context in the WHERE clause criteria.
UPDATE [IssueCustomFieldOptions] SET Name = 'NewUpdatedOption123', OptionId='10866' WHERE CustomFieldId='customfield_10107' AND Context='10307' AND OptionId='10866'
To delete a custom field option, you must specify the OptionId along with the CustomFieldId and Context in the WHERE clause criteria.
DELETE FROM [IssueCustomFieldOptions] WHERE CustomFieldId='customfield_10107' AND Context='10307' AND OptionId='10866'
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| OptionId [KEY] | String | False | = | Common |
The ID of the custom field option. | |
| Name | String | False | Common |
The Name of the custom field option. | ||
| CustomFieldId | String | False | = | Common |
The ID of the custom field. | |
| Context | String | False | = | Cloud |
The context of the custom field option. | |
| Disabled | Boolean | False | Common |
Whether the option is disabled. |
Create, read, update, and delete the available remote issue links.
Note: This table is available only in the Jira Cloud version.
Retrieves details about remote issue links for a specific Jira issue.
The Sync App uses the Jira REST API to process filters based on IssueId or IssueKey, with or without the Id of the remote link. All other filters are evaluated client-side by the Sync App after the data is retrieved.
You must specify either IssueId or IssueKey in order to retrieve results. If neither is provided, the Sync App automatically queries the Issues table to obtain the required identifiers and uses them to fetch the corresponding remote links.
Examples:
SELECT * FROM IssueRemoteLinks WHERE IssueId = 19409; SELECT * FROM IssueRemoteLinks WHERE IssueKey = 'ACOL-4963' AND Id='10001';
Creates a new remote issue link for a specific Jira issue.
To insert a new record, you must provide the following fields:
Example:
INSERT INTO IssueRemoteLinks (ObjectUrl, ObjectTitle, IssueKey) values('http://www.mycompany.com/support?id=1', 'TSTSUP-111', 'ACOL-4963');
Updates one or more properties of an existing remote link.
To update a remote link, specify its Id and either the IssueId or IssueKey of the associated issue.
Example:
SET Relationship = 'relates to', ObjectStatusResolved = true, ObjectStatusIconTitle = 'Resolved', ObjectStatusIconLink = 'https://tracker.orion-labs.net/status/resolved', ObjectStatusIconUrl16x16 = 'https://tracker.orion-labs.net/icons/status_resolved_16.png' WHERE Id = 10059 AND IssueKey = 'ACOL-4971';
Removes a remote issue link from a specific issue.
To delete a remote link, specify the Id of the link and either the IssueId or IssueKey of the issue.
Example:
DELETE IssueRemoteLinks WHERE Id = 10058 AND IssueId = 19409;
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | True | = | Cloud |
The unique identifier of the remote link. | |
| GlobalId | String | False | Cloud |
The global identifier of the link, typically representing the linked item on a remote system. | ||
| ApplicationName | String | False | Cloud |
The name of the remote application where the linked item resides. | ||
| ApplicationType | String | False | Cloud |
The namespace-qualified type of the remote application where the linked item resides. | ||
| Relationship | String | False | Cloud |
The description of the relationship between the issue and the linked item. | ||
| Self | String | True | Cloud |
The API URL of this remote link resource. | ||
| ObjectTitle | String | False | Cloud |
The title of the linked item. | ||
| ObjectSummary | String | False | Cloud |
The summary of the linked item. | ||
| ObjectUrl | String | False | Cloud |
The direct URL to view the linked item. | ||
| ObjectIconTitle | String | False | Cloud |
The tooltip title of the linked item's icon. | ||
| ObjectIconUrl16x16 | String | False | Cloud |
The URL of the linked item's 16×16 pixel icon displayed in Jira. | ||
| ObjectStatusResolved | Bool | False | Cloud |
Indicates whether the linked item is resolved. | ||
| ObjectStatusIconTitle | String | False | Cloud |
The tooltip title of the linked item's status icon. | ||
| ObjectStatusIconLink | String | False | Cloud |
The URL associated with the linked item's status icon tooltip. | ||
| ObjectStatusIconUrl16x16 | String | False | Cloud |
The URL of the linked item's 16×16 pixel status icon displayed in Jira. | ||
| IssueId [KEY] | String | False |
Issues.Id | = | Cloud |
The ID of the issue associated with the remote link. |
| IssueKey | String | False |
Issues.Key | = | Cloud |
The key of the issue associated with the remote link. |
Provides full access to Jira issues. Supports creation, updates, deletions, and queries for issue records across all projects.
You should set the IncludeCustomFields connection property to 'True' in order to dynamically retrieve the Custom Fields columns and values (like Sprint, Epic, ...) when querying this table.
You can search for Issues by using SQL and JQL (Jira Query Language).
SELECT * FROM Issues WHERE JQL = ' project = "New project" AND Status WAS "open" '
SELECT * FROM Issues WHERE ProjectId > 10001 OR Updated <= '2016/03/29 15:00'The Sync App uses the Jira API to process some of the filters. The Sync App processes other filters client-side within the Sync App. For example, the following queries are processed server side.
SELECT * FROM Issues WHERE ProjectName = 'New project' AND JQL = ' status WAS "open" '
Filter time interval fields like TimeSpent, OriginalEstimate and RemainingEstimate by specifying hours, days, weeks, minutes and so on.
SELECT * FROM Issues WHERE RemainingEstimate = '1m 2d' AND TimeSpent = '3m 2w'
Due to limitations in the Jira API, filtering with comparison operators on the Id column (>, >=, <, <=) only works reliably within the context of the project that contains the specified issue. To improve behavior, the Sync App transforms these comparisons into equivalent filters on the created column by resolving the Created datetime of each referenced issue.
This transformation is applied only when the KeyColumnOperators connection property is set to "Server-Side" (the default). In rare cases, Sync App may assign a higher IssueId to an issue created earlier, which can result in incorrect filtering when relying solely on Id comparisons. For fully accurate results across all projects, set KeyColumnOperators to "Client-Side". This mode retrieves the entire issue dataset and evaluates the comparison logic client-side providing a correct result set at the cost of performance.
Consider the example query below.
SELECT * FROM Issues WHERE Id > '10005'
When KeyColumnOperators is set to "Server-Side", this is internally transformed into:
SELECT * FROM Issues WHERE Created > '2024-11-26T10:08:51Z'
Create a new issue in the Project. Project (specify either ProjectId or ProjectKey), IssueType (specify either IssueTypeId or IssueTypeName), and Summary are required for Inserts. ProjectName may also be specified instead, but it will cost an additional request to the server to find the ProjectKey value that it belongs to. Depending on the Project and the IssueType more fields may be required.
INSERT INTO Issues (ProjectId, Summary, IssueTypeId, CustomField1) VALUES (10000, 'Desc from prod', 10100, 'test')
INSERT INTO Issues (ProjectKey, Summary, IssueTypeName, CustomField1) VALUES ('PROD', 'Desc from prod', 'Task', 'test')
Update info of existing issues by providing the Id
UPDATE Issues SET Summary = 'Desc FROM prod', CustomField1 = 'ValidValue' WHERE Id = '10003'
You can also modify some aggregate fields for a specific issue. You can modify FixVersionsAggregate, AffectedVersionsAggregate, ComponentsAggregate and IssueLinksAggregate. Using the special inputs for these columns, you can assign, remove and update the appropriate field for an issue. Note that the object must first be created in the Jira application to use it with the provider queries. NOTE: The IssuelinksAggregate field has slightly different input requirements, outlined further below.
Structure for adding a fix version:
{ "add": {"name":"example"} }
or
{ "add": {"id":"1234"} }
An example query:
UPDATE Issues SET FixVersionsAggregate = '{"add":{"name":"extra"}}' WHERE Id = 19683
You can only add one object at a time, but using the set command you can assign multiple objects.
IMPORTANT NOTE: The set command will overwrite all the previous objects, meaning that previous entries will be discarded, and
only the objects specified in the set command will be saved to the issue. The set command must be followed by an array:
{ "set": [ {"name":"New Component 1"}, {"name":"Old Component 2"} ] }
or
{ "set": [ {"id":"1234"}, {"name":"Old Component 2"} ] }
And an example query would be:
UPDATE Issues SET ComponentsAggregate = '{ "set": [ {"id":"1234"}, {"name":"Old Components 2"} ] }' WHERE Id = 19683
You can also remove an entry one at a time using the remove command:
{ "remove": {"name":"example"} }
or
{ "remove": {"id":"1234"} }
UPDATE Issues SET AffectedVersionsAggregate = '{"remove":{"name":"extra"}}' WHERE id = 19683
These commands are also applicable when inserting a new issue:
INSERT INTO Issues (ProjectId, Summary, IssueTypeId, FixVersionsAggregate) VALUES (10000, 'Desc from prod', 10100, '{"add":{"name":"Example1"}}')
INSERT INTO Issues (ProjectId, Summary, IssueTypeId, FixVersionsAggregate) VALUES (10000, 'Desc from prod', 10100, '{"set":[{"name":"Example1"}]}')
Only the 'add' operation is supported with IssueLinksAggregate, and you must specify the type of the link and the direction of the link, either 'outwardIssue' or 'inwardIssue', but not both.
The valid link types are Blocks, RootCause, Relates, Duplicate and Cloners
{ "add":
{ "outwardIssue":
{"key":"COB-15"},
"type":
{"name":"Cloners"}
}
}
or
{ "add":
{ "inwardIssue":
{"key":"FIL-78"},
"type":
{"name":"Blocks"}
}
}
INSERT INTO Issues (ProjectId, Summary, IssueTypeId, FixVersionsAggregate) VALUES (10000, 'Desc from prod', 10100, '{"add":{"outwardIssue":{"key":"COB-15"},"type":{"name":"Cloners"}}}')
"UPDATE Issues SET IssuelinksAggregate = '{"add":{"inwardIssue":{"key":"FIL-1"},"type":{"name":"Blocks"}}}' WHERE Id = '22204'"
Delete an issue by providing the Id. Note that subtasks that have not been completed will be deleted as well.
DELETE FROM Issues WHERE Id = '10003'
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Int | True | =,!=,>,>=,<,<=,IN,NOT IN | Common |
The unique numeric identifier assigned to the issue by Jira. | |
| Key | String | True | =,!=,>,>=,<,<=,IN,NOT IN | Common |
The unique key used to reference the issue, typically in the format 'PROJ-123'. | |
| IssueTypeId | String | False | =,!=,IS,IS NOT,IN,NOT IN | Common |
The internal identifier of the issue type, such as 'Bug', 'Task', or 'Story'. | |
| IssueTypeName | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The human-readable name of the issue type, such as 'Bug' or 'Task'. | |
| ProjectId | Integer | False | =,!=,IS,IS NOT,IN,NOT IN | Common |
The unique identifier of the project that contains the issue. | |
| ProjectName | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The name of the project that the issue belongs to. | |
| ProjectKey | String | False | =,!=,IS,IS NOT,IN,NOT IN | Common |
The unique key of the project, often used as the prefix in issue keys (for example, 'PROJ'). | |
| ParentId | Int | False | =,!=,IN,NOT IN | Common |
The ID of the parent issue, used when the issue is a subtask. | |
| ParentKey | String | True | =,!=,IN,NOT IN | Common |
The key of the parent issue, used when the issue is a subtask. | |
| ParentIssueTypeId | String | True | Common |
The issue type ID of the parent issue, providing insight into the parent issue's classification. | ||
| ParentIssueTypeName | String | True | Common |
The issue type name of the parent issue, such as 'Story' or 'Task'. | ||
| ParentStatusId | String | True | Common |
The status ID of the parent issue, indicating the workflow status. | ||
| ParentStatusName | String | True | Common |
The status name of the parent issue, such as 'In Progress' or 'Done'. | ||
| ResolutionId | String | True | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The resolution ID of the issue, representing how the issue was resolved. | |
| ResolutionName | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The human-readable name of the issue's resolution, such as 'Fixed' or 'Duplicate'. | |
| ResolutionDescription | String | True | Common |
A detailed explanation of the resolution applied to the issue. | ||
| ResolutionDate | Datetime | True | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The date and time the issue was marked as resolved. | |
| Workratio | Long | True | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
A percentage value comparing the amount of time spent versus the estimated effort. | |
| LastViewed | Datetime | True | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The date and time the issue was last viewed by the current user. | |
| WatchCount | Int | True | =,!=,>,>=,<,<=,IN,NOT IN | Common |
The number of users who are watching the issue for updates. | |
| IsWatching | Bool | True | Common |
If the current authenticated user is watching this issue, the value is 'true'; otherwise 'false'. | ||
| Created | Datetime | True | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The timestamp when the issue was initially created in Jira. | |
| PriorityId | String | False | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The ID representing the priority level assigned to the issue. | |
| PriorityName | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The name of the priority level, such as 'High', 'Medium', or 'Low'. | |
| TimeSpentSeconds | Long | True | Common |
The total time spent working on the issue, measured in seconds. | ||
| TimeSpent | String | True | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The total time spent on the issue, formatted as a human-readable string (for example, '2h 30m'). | |
| RemainingEstimateSeconds | Long | True | Common |
The remaining estimated effort required to complete the issue, in seconds. | ||
| RemainingEstimate | String | False | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The remaining time estimate formatted as a string (for example, '1d 2h'). | |
| OriginalEstimateSeconds | Long | True | Common |
The original estimated time required to complete the issue, in seconds. | ||
| OriginalEstimate | String | False | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The original time estimate displayed as a formatted string (for example, '3d'). | |
| AggregateTimeSpent | Long | True | Common |
The total time spent across the issue and its subtasks, in seconds. | ||
| AggregateTimeOriginalEstimate | Long | True | Common |
The total of the original time estimates for the issue and all its subtasks. | ||
| AggregateTimeEstimate | Long | True | Common |
The current total remaining estimate for the issue and all of its subtasks. | ||
| AssigneeDisplayName | String | True | Common |
The full display name of the user assigned to the issue. | ||
| AssigneeKey | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
[DEPRECATED] The key identifier of the assignee. Use AssigneeAccountId instead. | |
| AssigneeAccountId | String | False | =,!=,IS,IS NOT,IN,NOT IN | Common |
The Atlassian account ID of the user assigned to the issue. | |
| AssigneeName | String | False | =,!=,IS,IS NOT,IN,NOT IN | Common |
The username of the assignee, used in older Jira instances. | |
| AssigneeEmail | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The email address of the user assigned to the issue. | |
| Updated | Datetime | True | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The timestamp of the last update made to the issue. | |
| StatusId | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The internal identifier of the issue's current workflow status. | |
| StatusName | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The name of the issue's status, such as 'To Do', 'In Progress', or 'Done'. | |
| StatusCategoryId | Integer | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The category ID associated with the issue status, used to group similar workflow statuses. | |
| StatusCategoryKey | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The key used to identify the status category, such as 'new', 'indeterminate', or 'done'. | |
| StatusCategoryName | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The display name of the status category, used to group workflow states. | |
| Description | String | False | IS,IS NOT | Common |
A detailed explanation of the issue's problem, task, or request. | |
| Summary | String | False | IS,IS NOT | Common |
A brief summary or title that provides an overview of the issue. | |
| CreatorDisplayName | String | True | Common |
The full display name of the user who created the issue. | ||
| CreatorName | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The username of the issue creator, typically used in legacy Jira systems. | |
| CreatorAccountId | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The Atlassian account ID of the user who created the issue. | |
| CreatorKey | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
[DEPRECATED] The key identifier for the issue creator. Use CreatorAccountId instead. | |
| CreatorEmail | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The email address of the user who created the issue. | |
| ReporterDisplayName | String | True | Common |
The full display name of the user who reported the issue. | ||
| ReporterName | String | False | =,!=,IS,IS NOT,IN,NOT IN | Common |
The username of the reporter, used in legacy Jira systems. | |
| ReporterKey | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
[DEPRECATED] The key identifier for the reporter. Use ReporterAccountId instead. | |
| ReporterAccountId | String | False | =,!=,IS,IS NOT,IN,NOT IN | Common |
The Atlassian account ID of the user who reported the issue. | |
| ReporterEmail | String | True | =,!=,IS,IS NOT,IN,NOT IN | Common |
The email address of the user who reported the issue. | |
| AggregateProgress | Long | True | Common |
The total progress made on the issue, including progress on all subtasks, measured in seconds. | ||
| TotalProgress | Long | True | Common |
The total estimated time for the issue and all its subtasks. | ||
| Votes | Int | True | =,!=,>,>=,<,<=,IN,NOT IN | Common |
The number of users who have voted for this issue as being important or needing attention. | |
| HasVotes | Bool | True | Common |
Indicates whether the issue has any user votes. Returns 'true' if votes exist, otherwise 'false'. | ||
| DueDate | Date | False | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The due date by which the issue is expected to be completed. | |
| Labels | String | False | =,!=,IS,IS NOT,IN,NOT IN | Common |
A comma-separated list of labels applied to the issue for categorization or filtering. | |
| Environment | String | False | LIKE,IS,IS NOT | Common |
Describes the technical or physical environment relevant to the issue (such as OS, browser, or hardware). | |
| SecurityLevel | String | False | =,!=,IS,IS NOT,IN, NOT IN | Common |
The security level applied to the issue, restricting visibility to a defined user group. | |
| FixVersionsAggregate | String | False | Common |
A comma-separated list of versions in which the issue is or will be resolved. | ||
| ComponentsAggregate | String | False | Common |
A list of project components that this issue is associated with. | ||
| IssueLinksAggregate | String | False | Common |
A list of links to other issues that relate to or are dependent on this issue. | ||
| AffectedVersionsAggregate | String | False | Common |
A list of versions affected by this issue. | ||
| SubtasksAggregate | String | True | Common |
A collection of subtasks associated with the issue. | ||
| CustomField1 | Any | False | Common |
A user-defined custom field for the issue. Custom fields appear when 'IncludeCustomFields' is enabled. | ||
| CustomField2 | Any | False | Common |
Another user-defined custom field available when 'IncludeCustomFields' is set to 'true'. | ||
| ItemURL | String | True | Common |
A browsable URL linking directly to the issue in the Jira web interface. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| JQL | String |
Used to filter and search issues using Jira Query Language (JQL). |
| Attachments | String |
Used to query issues that have attachments. Can be filtered using IS EMPTY or IS NOT EMPTY. |
| Comments | String |
Filters issues that contain a comment with specified text content. |
| Category | String |
Allows filtering of issues based on the category of the associated project. |
| SprintId | Integer |
Filters issues by the numeric ID of the sprint they belong to. |
| SprintName | String |
Filters issues by the name of the sprint they are part of. |
| Filter | String |
Queries issues using the name or ID of a saved filter. |
Query the available Issue Types in Jira.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
SELECT * FROM IssueTypes WHERE Id = 3
Name is required to insert. The following query creates a new issue type:
INSERT INTO IssueTypes (Name, Description, Subtask) VALUES ('Issue type name 3', 'test description', false)
You can update by specifying the issue type Id:
UPDATE IssueTypes SET Name = 'Updated Name 3', Description = 'Updated description' WHERE Id = 10306
Delete an issue type by specifying the issue type Id:
DELETE FROM IssueTypes WHERE Id = 10306
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | True | = | Common |
The Id of the issue type. | |
| Name | String | False | Common |
The name of the issue type. | ||
| Description | String | False | Common |
The description of the issue type. | ||
| Subtask | Boolean | False | Common |
The subtask of the issue type. Not applicable for update. | ||
| HierarchyLevel | Int | False | Cloud |
Hierarchy level of the issue type. | ||
| IconUrl | String | True | Common |
The icon URL of the issue type. | ||
| EntityId | String | True | Cloud |
Unique ID for next-gen projects. | ||
| Self | String | True | Common |
The URL of these issue type details. | ||
| Scope | String | True | Cloud |
Details of the next-gen projects the issue type is available in. | ||
| AvatarId | Int | True | Common |
The ID of the issue type's avatar. |
Displays all permission grants defined in permission schemes, including scope and associated roles or groups.
Retrieves permission grants defined in Jira permission schemes.
The Sync App uses the Jira REST API to process filters based on PermissionSchemeId, with or without the Id of the permission grant. Other filters are processed client-side by the Sync App.
For best performance, PermissionSchemeId should be specified to retrieve results. If it is not provided, the Sync App will query the PermissionSchemes table to obtain the relevant scheme identifiers and then use them to fetch the corresponding permission grants.
For example, the following query is processed server side:
SELECT * FROM PermissionGrants WHERE PermissionSchemeId = '10216' SELECT * FROM PermissionGrants WHERE PermissionSchemeId = '10216' AND Id = '13406'
Creates a permission grant in a permission scheme.
To add a new permission grant, you must provide at least the PermissionSchemeId, the permission to assign, and the holder properties: HolderType and one of the following, depending on the Jira platform:
INSERT INTO PermissionGrants (PermissionSchemeId, Permission, HolderType, HolderParameter) VALUES('10216', 'WORK_ON_ISSUES', 'group', 'engineering-team')
INSERT INTO PermissionGrants (PermissionSchemeId, Permission, HolderType, HolderValue) VALUES('10216', 'WORK_ON_ISSUES', 'group', '6d595024-bfed-4d89-8faa-7068649103c5')
Deletes a permission grant from a permission scheme.
To remove a permission grant, you must specify both PermissionSchemeId and Id.
DELETE PermissionGrants WHERE PermissionSchemeId = '10000' AND Id = '10500'
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| PermissionSchemeId [KEY] | String | False | = | Common |
The unique identifier of the permission scheme that contains the granted permission. | |
| Id [KEY] | String | True | = | Common |
The unique identifier for the specific permission grant entry. | |
| Permission | String | False |
Permissions.Key | Common |
The specific Jira permission that is being granted, such as 'Browse Projects' or 'Edit Issues'. | |
| HolderParameter | String | False | Common |
A value that identifies the permission holder. This can be a group name, project role, or user identifier, depending on the holder type. | ||
| HolderType | String | False | Common |
The category of entity receiving the permission. This could be a user, group, project role, or other valid Jira permission holder. | ||
| HolderValue | String | False | Cloud |
The identifier used by Jira to apply the permission to the selected holder type, for example a group name or project role ID. |
Manages components within Jira projects. Supports creating, updating, deleting, and querying project components.
The Sync App uses the Jira API to process some of the filters. The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
Retrieve the components of each project
SELECT * FROM ProjectComponents
You can also filter the components by their Id or the Project they are part of:
SELECT * FROM ProjectComponents WHERE Id = 10022
Using ProjectId:
SELECT * FROM ProjectComponents WHERE ProjectId = 10027
Using ProjectKey:
SELECT * FROM ProjectComponents WHERE ProjectKey = 'QMTH'
Create a new Component for the project. The ProjectKey and Name columns are required.
INSERT INTO ProjectComponents (ProjectKey, Name, AssigneeType) VALUES ('COB', 'Testing Component', 'PROJECT_LEAD')
Make changes to a project component, specifying the Id column of the component to modify.
UPDATE ProjectComponents SET LeadKey = 'newlead' WHERE Id = 10065
Remove a component of the project by specifying the Id.
DELETE FROM ProjectComponents WHERE Id = 10065
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | True | = | Common |
A unique identifier for the project component, used to reference it in Jira. | |
| ProjectId | Integer | True |
Projects.Id | =,IN | Common |
The internal ID of the project to which the component belongs. |
| ProjectKey | String | False | =,IN | Common |
The unique key of the project associated with the component, typically used in issue keys. | |
| Name | String | False | Common |
The name assigned to the project component, used to categorize and organize issues. | ||
| Description | String | False | Common |
A detailed explanation of the component's purpose or scope within the project. | ||
| LeadDisplayName | String | True | Common |
The display name of the user designated as the lead for this component, often responsible for overseeing related work. | ||
| LeadKey | String | False | Common |
The unique key identifying the user who is the lead of this component. | ||
| AssigneeType | String | False | Common |
Indicates the default assignee type for issues filed under this component, such as 'Project Lead' or 'Component Lead'. The allowed values are PROJECT_DEFAULT, COMPONENT_LEAD, PROJECT_LEAD, UNASSIGNED. | ||
| AssigneeDisplayName | String | True | Common |
The display name of the user who will be assigned issues by default for this component. | ||
| AssigneeKey | String | True | Common |
The user key of the default assignee for issues in this component. | ||
| IsAssigneeTypeValid | Boolean | True | Common |
If the value is 'true', the specified assignee type is valid in the context of the project; if 'false', it is not a valid selection. |
Manages role assignments within projects. Retrieves and updates users and groups assigned to project roles.
The Sync App will use the Jira API to process filters that refer to ProjectId, ProjectKey and RoleId while the rest of the filter is executed client side within the Sync App. The Jira APIs support filters using the equals (=) and IN operator with ProjectId, ProjectKey and RoleId. Note that either ProjectId, ProjectKey or RoleId must be specified with a comparison type of equals (=) for SELECT SQL statement.
For example, the following queries are processed server side:
Retrieve all actors for a specific project:
SELECT * FROM ProjectRoleActors WHERE ProjectId = '10650'
SELECT * FROM ProjectRoleActors WHERE ProjectKey = 'MYP'
Retrieve all actors for a specific role in all projects:
SELECT * FROM ProjectRoleActors WHERE RoleId = '10329'
Retrieve all actors for a specific project:
SELECT * FROM ProjectRoleActors WHERE RoleId = '10329' AND ProjectId = '10650'
Retrieve all actors for specific projects:
SELECT * FROM ProjectRoleActors WHERE RoleId = '10329' AND ProjectId IN ('10650', '10651', '10652')
Retrieve all actors for specific roles in a project:
SELECT * FROM ProjectRoleActors WHERE RoleId IN ('10329', '10330', '10331') AND ProjectId = '10650'
Add a user as an actor to a role in a specific project by specifying the user's account Id.
INSERT INTO ProjectRoleActors (ProjectId, RoleId, ActorUserAccountId) VALUES ('10650', '10329', '63acbf336f068efec8f6e0c3')
Add a group as an actor to a role in a specific project by either specifying the group's Id or name.
INSERT INTO ProjectRoleActors (ProjectId, RoleId, ActorGroupGroupId) VALUES ('10650', '10329', '0eed15e3-80cc-41d0-ba1a-b408658caf4d')
INSERT INTO ProjectRoleActors (ProjectId, RoleId, ActorGroupName) VALUES ('10650', '10329', 'JohnTest1')
Add a user as an actor to a role by specifying the project, role and user's name.
INSERT INTO ProjectRoleActors (ProjectId, RoleId, UserName) VALUES ('10000', '10101', 'myuser')
Add a group as an actor to a role by specifying the project, role and group's name.
INSERT INTO ProjectRoleActors (ProjectId, RoleId, GroupName) VALUES ('10000', '10101', 'test-group')
Delete an actor from a role by specifying the project, role and the user's account Id, the group's name or the group's Id.
DELETE FROM ProjectRoleActors WHERE ProjectId = '10650' AND RoleId = '10329' AND ActorUserAccountId = '63acbf336f068efec8f6e0c3'
DELETE FROM ProjectRoleActors WHERE ActorGroupGroupId = '0eed15e3-80cc-41d0-ba1a-b408658caf4d' AND ProjectId = '10650' AND RoleId = '10330'
DELETE FROM ProjectRoleActors WHERE ActorGroupName = 'JohnTest1' AND ProjectId = '10650' AND RoleId = '10330'
Delete a default actor from a role by specifying the user's name or the group's name.
DELETE FROM ProjectRoleActors WHERE ProjectId = '10000' AND RoleId = '10101' AND UserName = 'myuser'
DELETE FROM ProjectRoleActors WHERE ProjectId = '10000' AND RoleId = '10101' AND GroupName = 'test-group'
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Long | False | Common |
A unique identifier for the role actor, which represents either a user or a group assigned to a project role. | ||
| DisplayName | String | False | Common |
The display name of the role actor. For users, this can reflect privacy settings and return a masked or alternative value instead of the actual name. | ||
| Type | String | False | Common |
The type of role actor, such as 'atlassian-user-role-actor' for users or 'atlassian-group-role-actor' for groups. | ||
| Name | String | False | Server |
The name of the project role that this actor is associated with. | ||
| AvatarUrl | String | False | Common |
The URL to the avatar image representing the role actor (user or group). | ||
| ActorUserAccountId | String | False | Cloud |
The unique account ID of the user acting in the role, consistent across all Atlassian products. | ||
| ActorGroupName | String | False | Cloud |
The name of the group acting in the role. As group names can change, groupId is recommended for reliable identification. | ||
| ActorGroupDisplayName | String | False | Cloud |
The human-readable display name of the group acting in the role. | ||
| ActorGroupGroupId | String | False | Cloud |
The ID of the group associated with the project role. | ||
| RoleId | Long | False |
Roles.Id | =,IN | Common |
The ID of the project role that the actor is assigned to. |
| ProjectId | Integer | False |
Projects.Id | =,IN | Common |
The numeric ID of the project in which the role actor is defined. |
| ProjectKey | String | False |
Projects.Key | =,IN | Common |
The unique key of the project associated with the project role. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| UserName | String |
Used in Server platform only for Insert/Delete operations. Specifies the username of the user to be added or removed from the project role. |
| GroupName | String |
Used in Server platform only for Insert/Delete operations. Specifies the name of the group to be added or removed from the project role. |
Provides access to all Jira projects. Supports querying, creating, updating, and deleting project records.
When connecting to Jira Cloud (rather than Jira Data Center) instances, the Sync App uses the Jira API to process WHERE clause conditions built with the following columns and operators.
For example, the following queries are processed server side:
SELECT * FROM Projects WHERE Id = 10000
Additionally, the Jira API handles ORDER BY (ASC/DESC) clauses for the Key, Name, LeadDisplayName, and ProductCategoryName columns in Jira Cloud instances. For example:
SELECT * FROM Projects ORDER BY Name ASC
The Sync App processes other filters client-side.
Key, Name, LeadName and ProjectTypeKey are required to insert. The following query creates a new project:
INSERT INTO Projects (Key, Name, LeadName, ProjectTypeKey, Description) VALUES ('EXE4', 'Inserted Project 4', 'admin', 'business', 'New business project.')
You can update by specifying either Id or Key:
UPDATE Projects SET Description = 'Updated description', AssigneeType = 'UNASSIGNED', LeadName = 'admin2' WHERE Key = 'EXE4'
Delete a project by specifying either Id or Key:
DELETE FROM Projects WHERE Key = 'EXE4'
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Int | True | = | Common |
A unique numeric identifier assigned to the project within the Jira instance. This ID is used internally and in API requests to reference the project. | |
| Key | String | False | = | Common |
The short, unique project key used as a prefix for issue identifiers (such as 'PROJ-123'). It is typically assigned when the project is created and used in search queries and issue references. | |
| Name | String | False | Common |
The full display name of the project as seen in the Jira UI. This is the main title used to identify the project in dashboards, boards, and menus. | ||
| Description | String | False | Common |
A free-text description that provides an overview of the project's purpose, goals, stakeholders, or context. Often used to help team members and collaborators understand the scope of the project. | ||
| LeadEmailAddress | String | True |
Users.EmailAddress | Common |
The email address of the user assigned as the project lead. The project lead is typically responsible for managing the project and receives notifications by default. | |
| LeadDisplayName | String | True |
Users.DisplayName | Common |
The display name (as shown in the Jira UI) of the user designated as the lead for the project. | |
| ComponentsAggregate | String | True | Common |
A comma-separated list of all components configured in the project. Components are used to categorize issues within a project and can represent subsystems, teams, or functional areas. | ||
| IssueTypesAggregate | String | True | Common |
A comma-separated list of the issue types available in the project, such as 'Bug', 'Task', 'Story', 'Epic', or custom issue types. Each issue type defines a distinct kind of work item. | ||
| Url | String | True | Common |
A user-defined web URL that can be associated with the project for external references, documentation, or integration. This field is optional. | ||
| String | True | Common |
The email address associated with the project, typically used for contact or notification purposes. This value can be customized per project. | |||
| AssigneeType | String | False | Common |
Indicates the default assignment strategy for new issues created in the project. Common values include 'UNASSIGNED' or 'PROJECT_LEAD'. | ||
| VersionsAggregate | String | True | Common |
A comma-separated list of version names configured in the project. Versions can be used for release planning and tracking progress toward a release milestone. | ||
| RolesAggregate | String | True | Common |
A comma-separated list of roles defined in the project, such as 'Administrator', 'Developer', or 'Viewer'. Each role controls the permissions and responsibilities of users in the project. | ||
| ProjectKeysAggregate | String | True | Common |
A list of all project keys historically associated with this project. This includes previous keys if the project key has ever been changed. | ||
| ProjectCategoryId | String | False | Common |
The identifier of the project category to which this project belongs. Categories group projects into logical sets for filtering and reporting. | ||
| ProjectCategoryName | String | True | Common |
The name of the category assigned to this project. This is used to organize and display projects by type or purpose in the Jira interface. | ||
| ProjectCategoryDescription | String | True | Common |
A free-text description of the project category, used to provide additional context or clarification for users browsing categorized projects. | ||
| ProjectTypeKey | String | False | Common |
The key representing the type of project. Common values include 'software', 'service_desk', or 'business', which determine the features and interface available. | ||
| LeadAccountId | String | False |
Users.AccountId | Cloud |
The unique Atlassian account ID of the project lead. This identifier is consistent across all Atlassian Cloud products and replaces deprecated user keys. | |
| LeadAccountKey | String | True |
Users.Key | Server |
[DEPRECATED] A legacy identifier used to represent the project lead, typically replaced by LeadAccountId in modern Jira Cloud instances. | |
| LeadAccountName | String | False |
Users.Name | Server |
[DEPRECATED] The legacy username of the project lead, used in older Jira Server installations. Replaced by account ID in Jira Cloud. | |
| Simplified | Boolean | True | Cloud |
A boolean value that indicates whether the project is team-managed (formerly called next-gen) or company-managed. Team-managed projects allow simplified configuration by project admins. | ||
| ItemURL | String | True | Common |
A direct URL to the project in the Jira web interface, allowing users to quickly navigate to the project's main overview page. |
Provides access to project version management. Supports querying, creating, updating, and deleting versions.
The Sync App uses the Jira API to process some of the filters. The Sync App processes other filters within the Sync App. For example, the following queries are processed server side:
Retrieve the versions for all projects:
SELECT * FROM ProjectVersions
You can also filter by the Id, ProjectKey, or ProjectId. For example:
SELECT * FROM ProjectVersions WHERE Id = 10022
Using ProjectId:
SELECT * FROM ProjectVersions WHERE ProjectId = 10022
Using ProjectKey:
SELECT * FROM ProjectVersions WHERE ProjectKey = 'QMTH'
Create a new version to be used throughout the project. The Name and either ProjectId or ProjectKey columns are required.
INSERT INTO ProjectVersions (ProjectId, Name, Description, ReleaseDate, StartDate) VALUES ('10000', 'HR Component', 'Example version description', '2018-04-04', '2018-02-02')
Make changes to a project version, specifying the Id column of the version to modify.
UPDATE ProjectVersions SET Released = 'true' WHERE Id = 10065
Remove a version of the project by specifying the Id column.
DELETE FROM ProjectVersions WHERE Id = 10065
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | True | = | Common |
The unique identifier for the version within the project. | |
| ProjectId | Integer | False |
Projects.Id | =,IN | Common |
The unique identifier of the project to which this version belongs. |
| ProjectKey | String | False | =,IN | Common |
The key of the project associated with this version, used to reference the project in queries and URLs. | |
| Name | String | False | Common |
The name assigned to the version, often representing a milestone or release number such as '1.0.0' or 'Q4 2024'. | ||
| Description | String | False | Common |
A textual description providing context or notes about what the version includes or represents. | ||
| Released | Boolean | False | Common |
Indicates whether the version has been officially released. If the value is 'true', the version is considered complete and available. | ||
| ReleaseDate | Date | False | Common |
The official release date of the version, typically used for scheduling and reporting purposes. | ||
| StartDate | Date | False | Common |
The planned start date for work associated with this version. Optional and used mainly for roadmap planning. | ||
| UserStartDate | Date | False | Common |
The user-defined date indicating when the work on this version is expected to begin. Used for manual planning. | ||
| UserReleaseDate | Date | False | Common |
The user-defined date indicating when the work on this version is expected to end. Helps track expectations versus actuals. | ||
| Overdue | Boolean | True | Common |
Indicates whether the version's release date has passed without being marked as released. | ||
| Archived | Boolean | False | Common |
Indicates whether the version is archived. Archived versions are no longer active and are typically hidden from default views. |
Manages default role actors, who are automatically assigned to roles when new projects are created.
The Sync App will use the Jira API to process filters that refer to RoleId while the rest of the filter is executed client side within the Sync App. The Jira APIs support filters using the equals (=) and IN operator with RoleId.
For example, the following queries are processed server side:
Retrieve all the default actors for all roles:
SELECT * FROM RoleActors
Retrieve all the default actors for a specific role:
SELECT * FROM RoleActors WHERE RoleId = '10002'
Add a user as a default actor to a role by specifying the user's account Id.
INSERT INTO RoleActors (ActorUserAccountId, RoleId) VALUES ('63acbf336f068efec8f6e0c3', '10326')
Add a group as a default actor to a role by either specifying the group's Id or name.
INSERT INTO RoleActors (ActorGroupGroupId, RoleId) VALUES ('ad8da7e1-7b66-408e-a61c-c4c8383ca5d1', '10326')
INSERT INTO RoleActors (ActorGroupName, RoleId) VALUES ('testGroupName', '10326')
Add a user as a default actor to a role by specifying the user's key.
INSERT INTO RoleActors (RoleId, UserKey) VALUES ('10102', 'JIRAUSER10001')
Add a group as a default actor to a role by specifying the group's name.
INSERT INTO RoleActors (RoleId, GroupName) VALUES ('10102', 'test-group')
Delete a default actor from a role by specifying the RoleId and the user's account Id, the group's name or the group's Id.
DELETE FROM RoleActors WHERE RoleId = '10326' AND ActorUserAccountId = '63acbf336f068efec8f6e0c3'
DELETE FROM RoleActors WHERE RoleId = '10325' AND ActorGroupName = 'Developers'
DELETE FROM RoleActors WHERE RoleId = '10325' AND ActorGroupGroupId = '6dd7f7e1-77f0-4cd1-b8e1-a069830a8f1d'
Delete a default actor from a role by specifying the user's key or the group's name.
DELETE FROM RoleActors WHERE RoleId = '10102' AND UserKey = 'JIRAUSER10001'
DELETE FROM RoleActors WHERE RoleId = '10102' AND GroupName = 'test-group'
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Long | False | Common |
The unique identifier assigned to the role actor, used to distinguish users or groups associated with a Jira project role. | ||
| DisplayName | String | False | Common |
The display name of the user or group associated with the project role. This can differ based on the user's privacy settings. | ||
| Type | String | False | Common |
The type of role actor, such as 'atlassian-user-role-actor' for users or 'atlassian-group-role-actor' for groups. | ||
| AvatarUrl | String | False | Common |
The URL to the avatar image representing the user or group in the UI. | ||
| ActorUserAccountId | String | False |
Users.AccountId | Cloud |
The Atlassian account ID of the user associated with the project role. This ID uniquely identifies the user across all Atlassian products. | |
| ActorGroupName | String | False |
Groups.Name | Cloud |
The name of the group associated with the project role. Since group names can change, group IDs are recommended for stable identification. | |
| ActorGroupDisplayName | String | False | Cloud |
The human-readable display name of the group that acts in the role. | ||
| ActorGroupGroupId | String | False |
Groups.Id | Cloud |
The stable ID of the group associated with the project role. | |
| Name | String | False | Server |
The name of the Jira role that this actor is assigned to, such as 'Developers' or 'Administrators'. | ||
| RoleId | Long | False |
Roles.Id | =,IN | Common |
The unique identifier for the Jira role that the actor is assigned to. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| UserKey | String |
Used only on Jira Server. The key of the user to be inserted or removed from the project role. |
| GroupName | String |
Used only on Jira Server. The name of the group to be inserted or removed from the project role. |
Lists all roles configured in Jira, such as 'Service Desk Team' or 'Project Manager'.
The Sync App will use the Jira API to process filters that refer to Id while the rest of the filter is executed client side within the Sync App. The Jira APIs support filters using the equals (=) operator with Id.
For example, the following queries are processed server side:
Retrieve all the available Roles:
SELECT * FROM Roles
Retrieve a specific Role:
SELECT * FROM Roles WHERE Id = '10002'
Update the role name and description by specifying the role Id
UPDATE Roles SET Description = 'test_updated', Name = 'test_updated' WHERE Id = 10002
Delete a role by specifying the Id.
DELETE FROM Roles WHERE Id = '10002'
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Long | False | = | Common |
The unique identifier of the role within the Jira instance. | |
| Name | String | False | Common |
The name of the project role, such as 'Developers', 'Administrators', or 'Users'. | ||
| Description | String | False | Common |
A textual explanation of the purpose or responsibilities associated with the role. | ||
| Actors | String | False | Common |
A list of users and groups assigned to this role, either by default or per project. | ||
| Scope | String | False | Cloud |
Defines the scope at which the role is applicable, such as global or project-specific. | ||
| IsAdmin | Boolean | False | Cloud |
If the value is 'true', this role is designated as the administrator role for the associated project. If the value is 'false', it is not an admin role. | ||
| IsDefault | Boolean | False | Cloud |
If the value is 'true', this role is automatically assigned to users by default for new projects. If the value is 'false', it is not a default role. |
Manages Jira sprints. Supports creating, modifying, deleting, and querying sprint data from agile boards.
To retrieve a list of Sprints in your Jira account, you can query the BoardSprints view.
The Sync App uses the Jira API to process some of the filters. The Sync App will process the rest of the filter client side within itself. For example, the following query is processed server-side:
SELECT * FROM Sprints WHERE Id = 122
SELECT * FROM Sprints WHERE Id IN ('1', '2', '3')
Create a new sprint and link it to a board. The OriginBoardId and the Name columns are required for inserting a new sprint.
INSERT INTO Sprints (OriginBoardId, Name, Goal, StartDate, EndDate) VALUES ('1', 'Inserted Sprint', 'Complete target', '2018-02-02', '2018-04-04')
Make changes to a sprint by specifying the sprint's Id.
UPDATE Sprints SET State = 'active' WHERE Id = 305
Remove a sprint by specifying the Id.
DELETE FROM Sprints WHERE Id = 305
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | True | =,IN | Common |
A unique numeric identifier assigned to the sprint. Used internally to reference the sprint in Jira and API calls. | |
| Name | String | False | Common |
The name given to the sprint, typically reflecting its time frame or theme. Helps teams identify and organize sprints easily. | ||
| State | String | False | = | Common |
The current state of the sprint. Valid states include 'future' (not started), 'active' (in progress), and 'closed' (completed). States transition in this strict order. The allowed values are future, active, closed. | |
| Goal | String | False | Common |
A short statement describing the objective of the sprint. Helps align the team on what the sprint is intended to achieve. | ||
| OriginBoardId | Integer | False |
Boards.Id | Common |
The ID of the agile board from which the sprint was created. This value is set at creation and cannot be changed. | |
| StartDate | Datetime | False | Common |
The date and time when the sprint was officially started. Typically marks the beginning of the development cycle. | ||
| EndDate | Datetime | False | Common |
The planned date and time when the sprint is expected to end. This can be used to calculate sprint duration and track timelines. | ||
| CompleteDate | Datetime | True | Common |
The actual date and time when the sprint was marked as completed in Jira. Useful for reporting and retrospective analysis. |
Create, modify, delete and query the available Users in Jira.
The Sync App applies filters server-side only when supported for the specific column and operator, as documented in the Columns section. All other filters are processed client-side.
The Jira Cloud API has no support for filtering by DisplayName and EmailAddress. These filters are processed client-side.
The only server-side supported filter is filtering by AccountId.
Example (processed server-side):
SELECT * FROM Users WHERE AccountId = '712020:fcd95543-59da-42bc-a0f2-4ab4265f07d4';
The Jira Server API supports filtering by DisplayName and EmailAddress.
Examples (processed server-side):
SELECT * FROM Users WHERE DisplayName='JohnDoe'; SELECT * FROM Users WHERE EmailAddress = '[email protected]';
Filtering by Key is also server-side supported.
Example (processed server-side):
SELECT * FROM Users WHERE Key = 'JIRAUSER10472';
Note: In Jira Server version 10, due to an API limitation, it is not possible to retrieve more than the first 100 users returned by the Jira Server.
INSERT INTO Users(EmailAddress) VALUES ('[email protected]')
To update a user, you should specify either the Key if connected to Server instance.
UPDATE Users SET DisplayName='TestInsertUpdated' WHERE Key= 'USR1'
Note: The Update operation is only supported for the Jira server instance.
To delete a user, you should specify either the Key if connected to Server instance, or the AccountId if connected to a Cloud instance.
DELETE FROM Users WHERE Key= 'USR1' DELETE FROM Users WHERE AccountId= 'USR1'
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| AccountId [KEY] | String | True | = | Cloud |
The accountId of the user, which uniquely identifies the user across all Atlassian products. | |
| Key [KEY] | String | True | Server |
The key of the user. | ||
| Name | String | False | Server |
The name of the user. | ||
| DisplayName | String | False | = | Common |
The display name of the user. | |
| EmailAddress | String | False | = | Common |
The email address of the user. | |
| Active | Bool | True | Common |
Indicates whether the user is active. | ||
| TimeZone | String | True | Common |
The time zone specified in the user's profile. | ||
| Locale | String | True | Common |
The locale of the user. | ||
| AccountType | String | False | Server |
The accountType of the user. | ||
| Products | String | False | Server |
A delimited string of jira products to which the user has access to, ex: jira-core,jira-servicedesk,jira-product-discovery,jira-software |
Query, insert and delete the available issue Watchers in Jira.
The Sync App will use the Jira APIs to process filters based on IssueId or IssueKey. One of these is required to retrieve results. IssueId and IssueKey can be used only with the equal (=) operator.
The Sync App will execute other filters client-side within itself.
For example, the following query is processed server side:
SELECT * FROM Watchers WHERE IssueId = '10100' SELECT * FROM Watchers WHERE IssueKey = 'PRJ-1'
Adds a new watcher to an existing issue.
To add a new watcher to a specific issue, you must specify the AccountId of the user and either the IssueId or IssueKey of the issue.
INSERT INTO Watchers (IssueId, AccountId) values(19393, '63acbf336f068efec8f6e0c3')
INSERT INTO Watchers (IssueKey, AccountId) values('CD-352', '63acbf336f068efec8f6e0c3')
To add a new watcher to a specific issue, you must specify the Name of the user and either the IssueId or IssueKey of the issue.
INSERT INTO Watchers (IssueId, Name) values(19393, 'CDataUser')
INSERT INTO Watchers (IssueKey, Name) values('CD-352', 'CDataUser')
Removes a watcher from an existing issue.
To remove a watcher from a specific issue, you must specify the AccountId of the user and either the IssueId or IssueKey of the issue.
DELETE Watchers WHERE IssueId=19393 AND AccountId='63acbf336f068efec8f6e0c3' DELETE Watchers WHERE IssueKey='CD-352' AND AccountId='63acbf336f068efec8f6e0c3'
To remove a watcher from a specific issue, you must specify the Name of the user and either the IssueId or IssueKey of the issue.
DELETE Watchers WHERE IssueId=19393 AND Name='CDataUser' DELETE Watchers WHERE IssueKey='CD-352' AND Name='CDataUser'
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| DisplayName | String | True | Common |
The displayed name of the watcher. | ||
| EmailAddress | String | True | Common |
The email address of the watcher. | ||
| AccountId [KEY] | String | False |
Users.AccountId | Cloud |
The accountId of the watcher. | |
| Key [KEY] | String | True | Server |
The account key of the watcher. | ||
| Name | String | False | Server |
The name of the watcher. | ||
| IssueId [KEY] | String | False | =,EMP_EQ | Common |
The issue Id of the watcher. | |
| IssueKey | String | False | =,EMP_EQ | Common |
The issue key of the watcher. |
Manages the available workflows in Jira, which define the sequence of statuses and transitions for issues.
Most filters are processed client side, though there are a few exceptions to this:
For example, the following queries are executed server side:
SELECT * FROM Workflows WHERE Name = 'abc'
SELECT * FROM Workflows WHERE Name IN ('abc','def','ghi')
SELECT * FROM Workflows WHERE IsActive = true AND Query = 'flow'
The Scope, Statuses, and Workflows columns accept aggregate values and are only used for inserting to and updating Workflows.
INSERT INTO Workflows(Scope, Statuses, Workflows) VALUES ('{"type":"GLOBAL"}', '[{"description":"","name":"To Do #2","statusCategory":"TODO","statusReference":"f0b24de5-25e7-4fab-ab94-63d81db6c0c0"}]', '[{"description":"","name":"Software workflow 1","startPointLayout":{"x":-100.00030899047852,"y":-153.00020599365235},"statuses":[{"layout":{"x":114.99993896484375,"y":-16},"properties":{},"statusReference":"f0b24de5-25e7-4fab-ab94-63d81db6c0c0"}],"transitions":[{"actions":[],"description":"","from":[],"id":"1","name":"Create","properties":{},"to":{"statusReference":"f0b24de5-25e7-4fab-ab94-63d81db6c0c0"},"triggers":[],"type":"INITIAL","validators":[]}]}]')", true)
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id | String | False | Common |
The unique identifier of the workflow within Jira. This ID is used internally and in API operations to reference the workflow. | ||
| Name | String | False | IN | Common |
The name assigned to the workflow, which typically reflects the process or team it supports (for example, 'Software Development Workflow'). | |
| Description | String | False | Common |
A user-defined explanation of what the workflow represents or how it should be used. Helpful for distinguishing between similar workflows. | ||
| Created | String | False | Common |
The timestamp indicating when the workflow was initially created. | ||
| Updated | String | False | Common |
The timestamp indicating the most recent update to the workflow. Reflects configuration or metadata changes. | ||
| IsDefault | Boolean | False | Common |
Deprecated on Cloud instances. If the value is 'true', the workflow is currently designated as the default workflow for its associated issue type or project. | ||
| CanDelete | Boolean | False | Common |
Deprecated on Cloud instances. If the value is 'true', the workflow can be deleted by users with appropriate permissions. Some system workflows cannot be deleted. | ||
| CanEdit | Boolean | False | Common |
If the value is 'true', the workflow can be edited. This can be restricted based on permissions or if the workflow is active. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description |
| IsActive | Boolean |
If the value is 'true', the workflow is currently in use by one or more projects. Active workflows can be subject to restrictions for modification or deletion. |
| Query | String |
Used in search queries to filter workflows by name. Supports case-insensitive, partial string matching. |
| Scope | String |
A JavaScript Object Notation (JSON) object defining the scope of the workflow, such as whether it is global or limited to specific projects. This is write-only and does not appear in SELECT statements. |
| Statuses | String |
A JSON object specifying the statuses included in the workflow. Used during workflow creation or updates to define transitions and state logic. |
| Workflows | String |
A JSON object containing the full workflow configuration. Used for bulk creation or update of workflows and not returned in SELECT queries. |
Handles the configuration of workflow schemes that assign workflows to issue types across projects.
Note: This table is available only in the Jira Cloud version.
The Sync App will use the Jira API to process filters that refer to Id while the rest of the filter is executed client side within the Sync App. The Jira APIs support filters using the equals (=) operator with Id.
For example, the below queries are processed server side.
Retrieve all the available workflow schemes:
SELECT * FROM WorkflowSchemes
Retrieve a specific workflow scheme by Id:
SELECT * FROM WorkflowSchemes WHERE Id = 10400
Name is required to insert. The following query creates a new workflow scheme:
INSERT INTO WorkflowSchemes (name, Description, DefaultWorkflow, IssueTypeMappingsAggregate) VALUES('Jira Service Management IT Support Workflow', 'Incident Management workflow for Jira Service Management.', 'jira', '{"10201": "jira"}')
You can update by specifying the workflow scheme Id:
UPDATE WorkflowSchemes SET Name = 'Jira Updated Service Management IT Support Workflow', Description='Updated incident Management workflow for Jira Service Management.' WHERE Id =11526
Delete a workflow scheme by specifying the workflow scheme Id:
DELETE WorkflowSchemes WHERE Id=11526
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | True | = | Cloud |
The unique identifier of the workflow scheme. This ID is used to manage and reference the scheme in Jira operations. | |
| Name | String | False | Cloud |
The user-defined name of the workflow scheme. Workflow schemes define how issues transition through workflows based on their issue types. | ||
| Description | String | False | Cloud |
An optional description that explains the purpose or usage of the workflow scheme. Useful for distinguishing between multiple schemes. | ||
| IssueTypeMappingsAggregate | String | False | Cloud |
A JavaScript Object Notation (JSON)-style aggregate listing mappings between issue types and workflows. Each mapping pairs an issue type ID with the name of its assigned workflow. | ||
| DefaultWorkflow | String | False | Cloud |
The name of the workflow used for issue types not explicitly mapped in the scheme. Acts as a fallback when no direct mapping is available. | ||
| Self | String | True | Cloud |
A REST API URL pointing to the workflow scheme resource. Useful for retrieving or updating the scheme programmatically. |
Provides full access to Jira worklogs. Supports creating, updating, deleting, and querying logged work hours on issues.
You can query this table to retrieve worklogs of Jira projects. The Sync App will use the Jira APIs to process filters based on the following columns and operators. The Sync App will execute other filters client-side. The below example queries are processed server side.
To retrieve worklogs linked to a specific issue, query the
Worklogs table by specifying either the IssueId or IssueKey column.
SELECT * FROM Worklogs WHERE IssueId = 123
To retrieve worklogs linked to issues within a specific project, query the
Worklogs table by specifying either the ProjectId or ProjectName column.
SELECT * FROM Worklogs WHERE ProjectId = 10100
Due to limitations in the Jira API, filtering with comparison operators on the IssueId column (>, >=, <, <=) only works reliably within the context of the project that contains the specified issue. To improve behavior, the Sync App transforms these comparisons into equivalent filters on the IssueCreatedDate column by resolving the Created datetime of each referenced issue.
This transformation is applied only when the KeyColumnOperators connection property is set to "Server-Side" (the default). In rare cases, Sync App may assign a higher IssueId to an issue created earlier, which can result in incorrect filtering when relying solely on IssueId comparisons. For fully accurate results across all projects, set KeyColumnOperators to "Client-Side". This mode retrieves the entire issue dataset and evaluates the comparison logic client-side providing a correct result set at the cost of performance.
Consider the example query below.
SELECT * FROM Worklogs WHERE IssueId > '10005'
When KeyColumnOperators is set to "Server-Side", this is internally transformed into:
SELECT * FROM Worklogs WHERE IssueCreatedDate > '2024-11-26T10:08:51Z'
IssueId, Started, and TimeSpentSeconds are required to insert. The following query logs work done for an issue:
INSERT INTO Worklogs (IssueId, Started, TimeSpentSeconds) VALUES (10003, '2017-03-20 20:00:00', 10000)
Both the worklog Id and IssueId are required to modify the worklog:
UPDATE Worklogs SET TimeSpentSeconds = 200000 WHERE Id = 10602 AND IssueId = 10003
Delete a worklog of an issue by providing the Id and IssueId:
DELETE FROM Worklogs WHERE Id = 10602 AND IssueId = 10003
This retrieves Ids of the deleted worklogs:
GETDELETED FROM Worklogs
| Name | Type | ReadOnly | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | True | = | Common |
The unique identifier of the worklog entry used to distinguish it from all other worklogs in the system. | |
| IssueId [KEY] | Integer | False |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common |
The internal numeric ID of the Jira issue associated with this worklog entry. This links the worklog to a specific issue. |
| IssueKey | String | False |
Issues.Key | =,IN,NOT IN | Common |
The human-readable key of the Jira issue (such as 'ABC-123') that this worklog entry pertains to. |
| ProjectId | Integer | True |
Projects.Id | =,IS,IS NOT,IN,NOT IN | Common |
The numeric ID of the project to which the issue belongs. This helps associate the worklog with a broader context. |
| ProjectName | String | True | =,IS,IS NOT,IN,NOT IN | Common |
The name of the project that the associated issue and worklog entry belong to. | |
| IssueCreatedDate | Datetime | True | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The date and time when the issue associated with this worklog was originally created. | |
| IssueUpdatedDate | Datetime | True | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The date and time when the issue associated with this worklog was last updated. | |
| AuthorDisplayName | String | True |
Users.DisplayName | =,!=,IS,IS NOT,IN,NOT IN | Common |
The display name of the user who initially created the worklog entry. |
| UpdateAuthorDisplayName | String | True |
Users.DisplayName | Common |
The display name of the user who most recently updated or modified the worklog entry. | |
| Comment | String | False | LIKE | Common |
The free-text comment or description added by the user to describe the work performed during this logged time. | |
| Created | Datetime | True | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common |
The date and time when the worklog entry was created in Jira. | |
| Updated | Datetime | True | Common |
The date and time when the worklog entry was last modified. | ||
| VisibilityType | String | False | Common |
The category of restriction that controls who can view this worklog entry, such as role-based or group-based visibility. | ||
| VisibilityValue | String | False | Common |
The specific value used to enforce visibility restrictions, such as the name of the user role or group allowed to view the entry. | ||
| Started | Datetime | False | Common |
The exact date and time when the user began working, according to this logged work entry. | ||
| TimeSpent | String | False | Common |
The total time spent on the issue, as logged in this worklog entry, formatted as a string (such as '3h 15m'). | ||
| TimeSpentSeconds | Long | False | Common |
The total time spent on the issue in seconds, useful for precise calculations and aggregations. | ||
| AuthorAccountId | String | True |
Users.AccountId | =,!=,IS,IS NOT,IN,NOT IN | Cloud |
The Atlassian account ID of the user who created the worklog, used for cross-product user identification. |
| UpdateAuthorAccountId | String | True |
Users.AccountId | Cloud |
The Atlassian account ID of the user who last updated the worklog, used for consistent tracking of changes. | |
| AuthorAccountKey | String | True |
Users.Key | Server |
The legacy user key of the person who created the worklog entry. This field can not be supported in newer Jira versions. | |
| AuthorAccountName | String | True |
Users.Name | =,!=,IS,IS NOT,IN,NOT IN | Server |
The legacy username of the worklog creator. This value can be deprecated in favor of accountId. |
| UpdateAuthorAccountKey | String | True |
Users.Key | Server |
The legacy user key of the person who last updated the worklog entry. This value can be deprecated. | |
| UpdateAuthorAccountName | String | True |
Users.Name | Server |
The legacy username of the user who last modified the worklog. This field can not be supported in newer Jira versions. | |
| ItemURL | String | True |
A direct URL to view the specific worklog entry in the Jira UI, useful for navigation or reporting. |
Views are similar to tables in the way that data is represented; however, views are read-only.
Queries can be executed against a view as if it were a normal table.
| Name | Description |
| AdvancedSettings | Returns a list of advanced application properties configured in Jira, as displayed on the Advanced Settings page. |
| ApplicationRoles | Retrieves all configured application roles, which control user access and are managed through Jira's Application Access settings. |
| Audit | Retrieves audit log records, offering insights into changes and administrative actions performed within the Jira account. |
| BoardConfiguration | Displays the configuration settings of agile boards, including filters, estimation type, and card layout. |
| BoardIssues | Lists all issues displayed on agile boards, including their rank and column placement. |
| BoardSprints | Retrieves a list of sprints associated with a specific agile board, including active, future, and closed sprints. |
| Configuration | Returns system-level Jira configuration details, such as time tracking and attachment settings. |
| CustomFieldContext | Returns a list of contexts for a custom field in Jira. |
| Dashboards | Retrieves dashboards available to the user, including those shared with others or marked as favorites. |
| Epics | Lists all epics across Jira projects, including epic names, summaries, and keys. |
| FavouriteFilters | Returns filters marked as favorites by the current user, enabling easy access to commonly used searches. |
| Fields | Retrieves metadata about all fields available in Jira, including both system-defined and custom fields. |
| Filters | Displays saved filters created by users to retrieve specific issue sets. Not available in Jira Server deployments. |
| FiltersUsers | Returns the users or groups that specific filters are shared with. |
| GroupsUsers | Retrieves mappings between users and their associated groups. |
| IssueAffectedVersions | Returns the software versions affected by specific issues, indicating where the bug or feature is observed. |
| IssueChangelogs | Provides a detailed history of changes made to issues, including field changes, timestamps, and authors. |
| IssueComponents | Lists components assigned to issues, which typically represent parts or modules of a project. |
| IssueCustomFields | Retrieves metadata and configuration of custom fields created in the Jira instance. |
| IssueFixVersions | Returns the list of versions in which specific issues are expected to be resolved. |
| IssueLinks | Displays relationships between issues, such as 'blocks', 'duplicates', or 'relates to'. |
| IssueLinkTypes | Lists all available link types that can be used to create relationships between issues. |
| IssueNavigatorDefaultColumns | Retrieves the default column layout for the issue navigator, which defines which fields are shown in search results. |
| IssuePriorities | Returns all priority levels available in the Jira instance, such as 'High', 'Medium', and 'Low'. |
| IssueResolutions | Retrieves all resolution values used to indicate how issues were completed, such as 'Fixed' or 'Won't Fix'. |
| IssueSecurityLevelMembers | Retrieves the users and groups associated with specific issue security levels, which control visibility of issues. |
| IssueSubtasks | Lists all subtasks associated with Jira issues, including parent-child relationships and statuses. |
| IssueTransitions | Displays all possible transitions for issues, including available status changes and transition rules. |
| MyPermissions | Returns the permissions granted to the current user based on their roles and group memberships. |
| Permissions | Lists the complete set of permissions available in Jira, such as 'Browse Projects' or 'Edit Issues'. |
| PermissionSchemes | Retrieves defined permission schemes, which are used to manage access control across Jira projects. |
| ProjectCategories | Lists all available project categories, which are used to organize and group Jira projects. |
| ProjectRoles | Retrieves role definitions that can be assigned across projects, such as 'Developers' or 'Administrators'. |
| ProjectsIssueTypes | Displays issue types configured for each project, including standard and custom issue types. |
| ProjectsPermissionScheme | Returns the permission scheme currently assigned to each project. |
| ProjectTypes | Lists all available project types in Jira, such as business, software, or service management projects. |
| SecurityLevels | Returns all configured security levels, which determine visibility of issues for specific users or groups. |
| SecuritySchemes | Lists security schemes that group security levels and apply them to Jira projects. |
| SprintIssues | Retrieves issues assigned to agile sprints, including their rank and progress within the sprint. |
| Statuses | Lists all available issue statuses in Jira, including custom and default statuses used in workflows. |
| StatusProjects | Returns the projects using a given status. |
| StatusProjectsIssueTypes | Returns the issue types in a project using a given status. |
| StatusWorkflows | Returns the workflows using a given status. |
| TimeTrackingProviders | Displays the time tracking providers configured in the Jira instance, which manage estimation and logging. |
| Votes | Query the available Votes in Jira. |
| WorkflowProjects | Returns the projects using a given workflow. |
| WorkflowProjectsIssueTypes | Returns the issue types using a given workflow within a project. |
| WorkflowSchemeProjects | Returns the projects using a given workflow schema. |
| WorkflowStatusCategories | Lists all status categories such as 'To Do', 'In Progress', or 'Done' used to group workflow statuses visually. |
| WorkflowStatuses | Displays all statuses used in Jira workflows, along with their properties and associated categories. |
| WorklogDeleted | Retrieves records of deleted worklogs, useful for audit trails or troubleshooting time tracking inconsistencies. |
Returns a list of advanced application properties configured in Jira, as displayed on the Advanced Settings page.
SELECT * FROM AdvancedSettings
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | = | Common | A unique identifier assigned to each application property in Jira's advanced settings. This value is used internally to distinguish different configuration items. | |
| Name | String | Common | The key or internal name of the application property, which defines what specific feature or setting it controls in the Jira environment. | ||
| Description | String | Common | A human-readable explanation of the application's property purpose, detailing what aspect of Jira functionality it affects. | ||
| Type | String | Common | Indicates the data type expected for the property's value, such as string, number, or boolean, which determines how the value is interpreted and validated. | ||
| Value | String | Common | The user-defined value that is currently set for the application property, which overrides the default behavior and customizes the instance configuration. | ||
| DefaultValue | String | Common | The original system-defined value that Jira assigns to the property if no custom value is set. This serves as a fallback for consistent behavior. | ||
| AllowedValues | String | Common | A list of acceptable values that the property can take. This can include specific strings, numeric ranges, or boolean values, and helps ensure that user input remains valid. |
Retrieves all configured application roles, which control user access and are managed through Jira's Application Access settings.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ApplicationRoles WHERE Key = 'jira-software'
| Name | Type | References | SupportedOperators | Platform | Description |
| Key [KEY] | String | = | Common | A unique identifier used to reference the application role programmatically. This value is used in API calls and internal configuration. | |
| Name | String | Common | The user-friendly display name of the application role, such as 'Jira Software' or 'Jira Service Management'. | ||
| Groups | String | Common | A comma-separated list of Jira groups associated with this application role. Users in these groups gain access to the role's features. | ||
| DefaultGroups | String | Common | A comma-separated list of groups automatically assigned this role when new users are created, providing them with default application access. | ||
| SelectedByDefault | Boolean | Common | If the value is 'true', this application role is automatically selected for new users during account creation unless otherwise specified. | ||
| NumberOfSeats | Integer | Common | The total number of user licenses allocated to this application role, as defined by your Jira subscription. | ||
| RemainingSeats | Integer | Common | The number of user licenses still available for this application role, based on current usage and subscription limits. | ||
| UserCount | Integer | Common | The total number of active users currently consuming seats under this application role. | ||
| UserCountDescription | String | Common | A brief description of the user types included in the seat count, such as active users or users with specific group memberships. | ||
| HasUnlimitedSeats | Boolean | Common | If the value is 'true', there is no limit to the number of users who can be assigned this application role. | ||
| Platform | Boolean | Common | If the value is 'true', this application role is part of the Jira platform core (jira-core), as opposed to an add-on like Jira Software or Jira Service Management. |
Retrieves audit log records, offering insights into changes and administrative actions performed within the Jira account.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM Audit WHERE Filter = 'ab'
| Name | Type | References | SupportedOperators | Platform | Description |
| RecordId [KEY] | Integer | Common | The unique identifier of the audit record, used to distinguish individual audit log entries. | ||
| Summary | String | Common | A brief summary describing what change occurred, such as a permission update or user role change. | ||
| RemoteAddress | String | Common | The IP address from which the action was performed, providing traceability of the source system. | ||
| AuthorKey | String | Common | The unique internal key of the user or system that performed the audited action. | ||
| Created | Datetime | Common | The timestamp indicating when the change was recorded in the audit log. | ||
| Category | String | Common | The general category of the change, such as 'User Management', 'Project Configuration', or 'Workflow Edits'. | ||
| EventSource | String | Common | The origin of the event that triggered the audit record, such as a UI interaction or REST API call. | ||
| Description | String | Common | A detailed explanation of the change that was made, including the context and nature of the update. | ||
| ItemId | String | Common | A system-generated unique identifier of the item (such as a user, project, or setting) that was changed. | ||
| ItemName | String | Common | The name of the item affected by the audited change, such as a project name or field label. | ||
| ItemTypeName | String | Common | The type of the item that was changed, such as 'Custom Field', 'User', or 'Project'. | ||
| ItemParentId | String | Common | The unique identifier of the parent object, if the audited item is part of a hierarchy (such as a field within a project). | ||
| ItemParentName | String | Common | The name of the parent object related to the item, such as the project or configuration scheme name. | ||
| FieldName | String | Common | The name of the specific field that was changed, such as 'Permission Scheme' or 'Project Lead'. | ||
| ChangedFrom | String | Common | The original value of the field before the change was applied. | ||
| ChangedTo | String | Common | The new value of the field after the change was completed. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| Filter | String | A keyword filter used to return only audit records that contain a specified string in at least one field. For example, using 'permission' will return changes involving permission updates. |
Displays the configuration settings of agile boards, including filters, estimation type, and card layout.
| Name | Type | References | SupportedOperators | Platform | Description |
| BoardId [KEY] | Integer |
Boards.Id | =,IN | The unique identifier of the board whose configuration is being returned. This value is used to query specific boards. | |
| ColumnConfig | String | The configuration settings for the columns displayed on the board. Includes the order of columns, mapped issue statuses, and any applied constraints such as minimum or maximum issue counts. Constraint types include: 'none', 'issueCount', and 'issueCountExclSubs' (excluding subtasks). | |||
| Filter | String | A reference to the saved filter associated with the board, which determines the set of issues shown. | |||
| Name | String | The name assigned to the board, typically defined by users to describe the board's purpose or project. | |||
| CustomFieldIdRank | Integer | The internal ID of the custom field used for issue ranking within the board. This is often used to control issue order in backlog and active sprints. | |||
| Self | String | The URL that links to the board resource in the Jira API. This is useful for programmatic access or navigation. | |||
| SubQuery | String | A Jira Query Language (JQL) subquery used by the board to further refine the issue set beyond the main filter. | |||
| Type | String | The type of board, such as 'scrum' or 'kanban', which determines how issues are displayed and managed. | |||
| EstimationDisplayName | String | The human-readable name of the field used for issue estimation, such as 'Story Points' or 'Original Estimate'. | |||
| EstimationFieldId | String | The ID of the field used to provide estimates on the board. This links to a specific custom or system field. | |||
| EstimationType | String | Indicates the method of estimation used for the board. Accepted values include: 'none' (no estimation), 'issueCount' (based on issue count), or 'field' (based on a specific custom field such as story points). |
Lists all issues displayed on agile boards, including their rank and column placement.
The Sync App uses the Jira API to process some of the filters. The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM BoardIssues WHERE BoardId = '1' SELECT * FROM BoardIssues WHERE BoardId IN (70, 215)
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer |
Issues.Id | =,IN | Common | The unique identifier of the issue as stored in Jira. |
| Key | String |
Issues.Key | =,IN | Common | The issue key, which is a human-readable identifier composed of the project key and issue number (such as 'PROJ-123'). |
| BoardId [KEY] | Integer |
Boards.Id | =,IN | Common | The ID of the board that includes this issue. This links the issue to a specific agile board (for example, Scrum or Kanban). |
| IssueTypeId | String |
IssueTypes.Id | =,!=,IS,IS NOT,IN,NOT IN | Common | The unique identifier for the issue type (such as 'task', 'story', 'bug') assigned to the issue. |
| IssueTypeName | String | =,!=,IS,IS NOT,IN,NOT IN | Common | The display name of the issue type, which describes the nature of the issue (for example, 'Story', 'Bug', or 'Task'). | |
| StatusId | Integer |
Statuses.Id | =,!=,IS,IS NOT,IN,NOT IN | Common | The ID of the current status of the issue, used internally in Jira's workflow engine. |
| StatusName | String | =,!=,IS,IS NOT,IN,NOT IN | Common | The name of the current status of the issue, such as 'To Do', 'In Progress', or 'Done'. | |
| ProjectId | Integer |
Projects.Id | =,!=,IS,IS NOT,IN,NOT IN | Common | The internal ID of the project that the issue belongs to. |
| ProjectKey | String |
Projects.Key | =,!=,IS,IS NOT,IN,NOT IN | Common | The short code identifier of the project (for example, 'PROJ') that this issue is part of. |
| ProjectName | String | =,!=,IS,IS NOT,IN,NOT IN | Common | The name of the project to which the issue belongs. | |
| ClosedSprintsAggregate | String | Common | A list of sprints that this issue has previously been assigned to and that are now closed. This provides historical sprint data. | ||
| Created | Datetime | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The timestamp when the issue was initially created in Jira. | |
| Updated | Datetime | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The timestamp of the last update made to the issue, including changes to status, assignees, or fields. |
Retrieves a list of sprints associated with a specific agile board, including active, future, and closed sprints.
The Sync App uses the Jira API to process some of the filters. The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side.
SELECT * FROM BoardSprints WHERE BoardId = 122
Using BoardId:
SELECT * FROM BoardSprints WHERE BoardId IN (12, 42)
Boards of type 'kanban' do not support sprints, so you can retrieve all the sprints faster if you use a query like the following:
SELECT * FROM BoardSprints WHERE BoardId IN (SELECT Id FROM Boards WHERE Type != 'kanban')
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | Common | The unique identifier of the sprint used to reference the sprint within Jira. | ||
| BoardId [KEY] | Integer |
Boards.Id | =,IN | Common | The identifier of the board the sprint belongs to. Sprints are created and managed within the context of a board. |
| Name | String | Common | The user-defined name of the sprint, typically representing a time-boxed development iteration. | ||
| State | String | = | Common | The current lifecycle state of the sprint.
The allowed values are future, active, closed. | |
| Goal | String | Common | The goal or objective defined for the sprint, often used to communicate the sprint's focus or expected outcome. | ||
| OriginBoardId | Integer |
Boards.Id | = | Common | The identifier of the board where the sprint was initially created. This value is read-only and cannot be changed. |
| StartDate | Datetime | Common | The date and time when the sprint was started, marking the beginning of the sprint duration. | ||
| EndDate | Datetime | Common | The scheduled end date and time of the sprint, representing the planned close of the sprint window. | ||
| CompleteDate | Datetime | Common | The actual completion date of the sprint. This field is set when the sprint is officially closed. |
Returns system-level Jira configuration details, such as time tracking and attachment settings.
The Sync App processes all filters specified on this table client-side within the Sync App.
SELECT * FROM Configuration
| Name | Type | References | SupportedOperators | Platform | Description |
| VotingEnabled | Boolean | Common | Indicates whether users are allowed to vote on issues to signal importance or interest. | ||
| WatchingEnabled | Boolean | Common | Specifies whether users can watch issues to receive notifications about updates or changes. | ||
| UnassignedIssuesAllowed | Boolean | Common | Determines whether issues can remain unassigned, without a designated responsible user. | ||
| SubTasksEnabled | Boolean | Common | Specifies whether sub-tasks can be created under standard issues to break down work into smaller pieces. | ||
| IssueLinkingEnabled | Boolean | Common | Indicates whether issues can be linked to each other using relationship types such as 'blocks' or 'relates to'. | ||
| TimeTrackingEnabled | Boolean | Common | Controls whether time tracking features, such as logging work and estimating time, are enabled. | ||
| AttachmentsEnabled | Boolean | Common | Determines whether users can upload attachments to issues, such as documents, screenshots, or logs. | ||
| WorkingHoursPerDay | Double | Common | Specifies the standard number of working hours per day, used in time tracking and reporting. | ||
| WorkingDaysPerWeek | Double | Common | Specifies the standard number of working days per week, typically used for capacity planning and time estimation. | ||
| TimeFormat | String | Common | The format used to display time values, such as 12-hour or 24-hour format. | ||
| DefaultUnit | String | Common | The default unit of time used in Jira, such as minutes, hours, or days, for time tracking and estimation. |
Returns a list of contexts for a custom field in Jira.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | The Id of the context. | |||
| CustomFieldId | String | = | The CustomFieldId. | ||
| Name | String | The Name of the context. | |||
| Description | String | The Description of the context. | |||
| IsGlobalContext | Boolean | Whether the context is global. | |||
| IsAnyIssueType | Boolean | Whether the context apply to all issue types. |
Retrieves dashboards available to the user, including those shared with others or marked as favorites.
The Sync App uses the Jira API to process some of the filters. Jira supports the Id and Filter columns but not both at the same time.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side.
SELECT * FROM Dashboards WHERE Id = 10001You can also filter on the pseudo column Filter:
SELECT * FROM Dashboards WHERE Filter = 'favourite'
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | = | Common | The unique identifier assigned to the dashboard within Jira. This ID is used to reference the dashboard programmatically. | |
| Name | String | Common | The display name of the dashboard, visible to users in the Jira interface. | ||
| View | String | Common | The direct URL that allows users to view the dashboard in the Jira interface. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| Filter | String | An optional filter to limit the results to specific categories of dashboards. For example, 'favourite' shows dashboards marked as favorites, while 'my' shows dashboards owned by the current user.
The allowed values are favourite, my. |
Lists all epics across Jira projects, including epic names, summaries, and keys.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are filtered server-side:
SELECT * FROM Epics WHERE BoardId = 1
SELECT * FROM Epics WHERE BoardId IN (1, 2, 3)
By specifying the Id or Key of a certain epic:
SELECT * FROM Epics WHERE Id = 10000
SELECT * FROM Epics WHERE Id IN (10000, 10001)
SELECT * FROM Epics WHERE Key = 'TSS-9151'
SELECT * FROM Epics WHERE Key IN ('TSS-9151', 'TSS-9152')
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | =,IN | Common | The unique numeric identifier of the Epic, used to reference the Epic internally. | |
| Key [KEY] | String | =,IN | Common | The unique key assigned to the Epic, typically visible in the Jira user interface (such as 'EPIC-101'). | |
| BoardId [KEY] | Integer |
Boards.Id | =,IN | Common | The identifier of the Jira board where the Epic is managed. This helps link the Epic to a specific agile board. |
| Name | String | Common | The name or title of the Epic, used to identify it in issue listings and reports. | ||
| Done | Boolean | Common | If the value is 'true', the Epic has been marked as complete. If the value is 'false', the Epic is still in progress. | ||
| ColorKey | String | Common | The color key assigned to the Epic, used to visually distinguish it from other issues in Jira boards. | ||
| Summary | String | Common | A short text summary providing additional context or a high-level overview of the Epic's purpose or goals. |
Returns filters marked as favorites by the current user, enabling easy access to commonly used searches.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | Common | The unique identifier assigned to the favorite filter, used to distinguish it from other filters. | ||
| Name | String | Common | The display name assigned to the favorite filter, typically chosen by the user. | ||
| JQLExpression | String | Common | The Jira Query Language (JQL) expression used by the filter to retrieve a specific set of issues based on defined criteria. | ||
| Description | String | Common | An optional, user-provided explanation of the filter's purpose or what type of issues it returns. | ||
| OwnerDisplayName | String | Common | The full display name of the user who created and owns the favorite filter. | ||
| OwnerAccountId | String | Cloud | The unique account ID of the user who owns the favorite filter, used for identification across the Jira platform. | ||
| Count | Integer | Cloud | The total number of users who have marked this filter as a favorite, indicating its popularity or usefulness. | ||
| OwnerKey | String | Server | The internal key that uniquely identifies the user who owns the favorite filter. |
Retrieves metadata about all fields available in Jira, including both system-defined and custom fields.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | Common | The unique identifier of the field, used internally by Jira to reference the field. | ||
| Key | String | Common | The system or custom-defined key that identifies the field in API operations and configurations. | ||
| Name | String | Common | The display name of the field as shown in the Jira user interface. | ||
| Custom | Boolean | Common | Indicates whether the field is a user-defined custom field ('true') or a built-in system field ('false'). | ||
| Orderable | Boolean | Common | If the value is 'true', the field can be included in issue sort operations. If 'false', it cannot be used for ordering results. | ||
| Navigable | Boolean | Common | If the value is 'true', the field is visible in the issue navigator. If 'false', it is hidden from navigation views. | ||
| Searchable | Boolean | Common | If the value is 'true', the field supports inclusion in search queries. If 'false', it cannot be queried through Jira Query Language (JQL). |
Displays saved filters created by users to retrieve specific issue sets. Not available in Jira Server deployments.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
Retrieve all filters:
SELECT * FROM Filters
By specifying the Id of a certain filter:
SELECT * FROM Filters WHERE Id = 10001
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | = | Cloud | The unique identifier of the filter used to reference it in the Jira API and user interface. | |
| Name | String | Cloud | The display name assigned to the filter for easier identification. | ||
| JQLExpression | String | Cloud | The Jira Query Language (JQL) expression that defines the filter's search criteria for issues. | ||
| Description | String | Cloud | A short explanation of what the filter does or what it is intended to find. | ||
| OwnerDisplayName | String | = | Cloud | The display name of the user who created and owns the filter. | |
| Favourite | Boolean | Cloud | If the value is 'true', the filter is marked as a favourite by the current user. | ||
| FavouritedCount | Integer | Cloud | The number of users who have marked this filter as a favourite. | ||
| SubscriptionsAggregate | String | Cloud | A list of users who are subscribed to receive notifications when the filter results change. | ||
| SharePermissionsAggregate | String | Cloud | A list of groups or users with whom the filter has been shared. |
Returns the users or groups that specific filters are shared with.
| Name | Type | References | SupportedOperators | Platform | Description |
| AccountId [KEY] | String | = | The globally unique account ID of the user, which is used across all Atlassian cloud services to identify the user regardless of email or username changes. | ||
| FilterId [KEY] | String |
Filters.Id | = | The unique identifier of the saved filter that the user has access to or is associated with. Filters define sets of issues based on Jira Query Language (JQL) criteria. | |
| DisplayName | String | = | The name that is shown for the user in the Jira user interface. This is typically their full name and is used in dashboards, issue fields, and mentions. | ||
| EmailAddress | String | = | The primary email address associated with the user's Atlassian account. This is used for notifications and account recovery. | ||
| Active | Bool | If the value is 'true', the user is currently active and has permission to log in and interact with Jira. If 'false', the user has been deactivated. | |||
| TimeZone | String | The time zone configured in the user's profile. This setting affects how dates and times are displayed throughout the Jira interface for that user. | |||
| Locale | String | The language and regional settings selected by the user, which determine formats for numbers, dates, times, and the UI language. | |||
| AccountType | String | The classification of the user account. This can indicate whether the account belongs to a regular user, a third-party application, or an internal system user such as a bot or integration. |
Retrieves mappings between users and their associated groups.
The Sync App utilizes the Jira API to process WHERE clause conditions that include the following columns and supported operators. Any remaining filters are applied client-side by the Sync App.
To effectively query the GroupsUsers view, you must specify a value for either the GroupName column or the GroupId column (the latter is exclusive to cloud instances). If neither GroupName nor GroupId is provided, the Sync App will automatically iterate through all groups to retrieve all associated users, which may result in increased query times.
As shown in the examples below, to retrieve users who belong to a specific group, include either the GroupName or GroupId in your query.
SELECT * FROM GroupsUsers WHERE GroupId = '37f2babd-27ef-442e-8642-15b6cafba31c'
SELECT * FROM GroupsUsers WHERE GroupName = 'jira-software-users'
| Name | Type | References | SupportedOperators | Platform | Description |
| AccountId [KEY] | String | Cloud | The unique account ID of the user across all Atlassian products, used for identifying the user in a platform-wide context. | ||
| Key [KEY] | String | Server | The internal key used to identify the user within Jira. This can differ from the account ID. | ||
| GroupId [KEY] | String | = | Cloud | The unique identifier of the group that the user belongs to. Used to map group memberships. | |
| GroupName [KEY] | String | = | Common | The name of the group the user is associated with. Groups are often used for permission management. | |
| Name | String | Server | The Jira username of the user. This value can be deprecated in some contexts in favor of AccountId. | ||
| DisplayName | String | Common | The full display name of the user as shown in the Jira UI and user directories. | ||
| EmailAddress | String | Common | The email address associated with the user's Atlassian account. | ||
| Active | Bool | Common | If the value is 'true', the user is currently active and able to log in. If 'false', the account is inactive or suspended. | ||
| TimeZone | String | Common | The time zone configured in the user's profile, which affects how time-related data is displayed. | ||
| Locale | String | Cloud | The locale (language and region format) specified in the user's profile, used to localize the UI. | ||
| AccountType | String | Cloud | The type of account the user holds, such as 'atlassian' or 'app'. Useful for distinguishing user roles or access methods. | ||
| Products | String | Cloud | A comma-separated list of Jira products the user has access to. For example: jira-core, jira-servicedesk, jira-product-discovery, jira-software. |
Returns the software versions affected by specific issues, indicating where the bug or feature is observed.
You can search IssueAffectedVersions by using SQL and JQL (Jira Query Language).
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
The available columns for IssueAffectedVersions are IssueId, IssueKey, and JQL. For example:
SELECT * FROM IssueAffectedVersions WHERE IssueId > 10022 AND IssueId < 10090
| Name | Type | References | SupportedOperators | Platform | Description |
| VersionId [KEY] | String | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The unique identifier of the version that is marked as affected by the issue. Used to track which versions are impacted. | |
| IssueId [KEY] | Integer |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common | The internal numeric ID of the issue associated with the affected version. |
| IssueKey | String |
Issues.Key | =,<>,>,>=,<,<=,IN,NOT IN | Common | The readable issue key (such as 'PROJ-123') that identifies the issue associated with the affected version. |
| IssueCreatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The date and time when the issue related to the affected version was originally created. | |
| IssueUpdatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The date and time when the issue associated with the affected version was last updated. | |
| Name | String | Common | The name assigned to the affected version, typically representing a release or milestone. | ||
| Archived | Boolean | Common | If the value is 'true', the affected version has been archived and is no longer active in project planning. | ||
| Released | Boolean | Common | If the value is 'true', the affected version has been officially released. | ||
| ReleaseDate | Date | Common | The scheduled or actual release date for the affected version, if available. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| JQL | String | Jira Query Language (JQL) allows structured querying of issues. Use this to filter affected versions based on issue criteria. |
Provides a detailed history of changes made to issues, including field changes, timestamps, and authors.
You can search IssueChangelogs by using SQL and JQL (Jira Query Language).
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
The available columns for server-side filtering for IssueChangelogs are IssueId, IssueKey, ProjectId, ProjectKey, ProjectName, and JQL. For example:
SELECT * FROM IssueChangelogs WHERE IssueId<>10022 SELECT * FROM IssueChangelogs WHERE ProjectKey = 'PRJ'
Due to limitations in the Jira API, filtering with comparison operators on the IssueId column (>, >=, <, <=) only works reliably within the context of the project that contains the specified issue. To improve behavior, the Sync App transforms these comparisons into equivalent filters on the IssueCreatedDate column by resolving the Created datetime of each referenced issue.
This transformation is applied only when the KeyColumnOperators connection property is set to "Server-Side" (the default). In rare cases, Sync App may assign a higher IssueId to an issue created earlier, which can result in incorrect filtering when relying solely on IssueId comparisons. For fully accurate results across all projects, set KeyColumnOperators to "Client-Side". This mode retrieves the entire issue dataset and evaluates the comparison logic client-side providing a correct result set at the cost of performance.
Consider the example query below.
SELECT * FROM IssueChangelogs WHERE IssueId > '10005'
When KeyColumnOperators is set to "Server-Side", this is internally transformed into:
SELECT * FROM IssueChangelogs WHERE IssueCreatedDate > '2024-11-26T10:08:51Z'
| Name | Type | References | SupportedOperators | Platform | Description |
| HistoryId [KEY] | Integer | Common | The unique identifier of the changelog entry that records a specific modification made to an issue, used to differentiate individual changes in the issue history. | ||
| ItemField [KEY] | String | Common | The name of the specific field that was changed in the issue, such as priority, assignee, or status. | ||
| IssueId | Integer |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common | The internal numeric identifier of the issue for which the changelog entry applies, used to relate the change to the correct issue. |
| IssueKey | String |
Issues.Key | =,<>,>,>=,<,<=,IN,NOT IN | Common | The human-readable key of the issue (such as 'JIRA-123') that was updated in the changelog entry. |
| Created | Datetime | Common | The exact date and time when the change was recorded in the issue history. | ||
| IssueCreatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The timestamp indicating when the issue itself was originally created, regardless of the change. | |
| IssueUpdatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The timestamp marking the most recent update to the issue at the time of the changelog entry. | |
| ItemFieldType | String | Common | The type of field that was changed, such as string, user, option, or date, providing context for how the data is handled. | ||
| ItemFrom | String | Common | The internal or stored value of the field before the change occurred, useful for identifying the exact prior state. | ||
| ItemFromString | String | Common | A human-readable version of the field's value before the update, shown as it would appear in the Jira UI. | ||
| ItemTo | String | Common | The internal or stored value of the field after the change was applied. | ||
| ItemToString | String | Common | A human-readable version of the field's new value after the change, shown as it would appear in the Jira UI. | ||
| AuthorDisplayName | String | Common | The full display name of the user who made the change, typically shown in the Jira UI. | ||
| AuthorAccountId | String | Cloud | The unique identifier of the user account in Atlassian systems that performed the change, ensuring consistent identification across products. | ||
| AuthorName | String | Cloud | The legacy username or short name of the user who made the change, used in older Jira configurations. | ||
| AuthorAccountKey | String | Server | The internal key identifying the account that made the change, used to link user actions to account metadata. | ||
| AuthorAccountName | String | Server | The full account name of the user who performed the update, often used in directory integrations or audit trails. | ||
| ProjectId | Integer |
Projects.Id | =,!=,IS,IS NOT,IN,NOT IN | Common | The unique numeric identifier of the project associated with the issue, used for internal references and queries. |
| ProjectKey | String |
Projects.Key | =,!=,IS,IS NOT,IN,NOT IN | Common | The readable key of the project (such as 'PROJ') that the issue belongs to, used in URLs and filters. |
| ProjectName | String | =,!=,IS,IS NOT,IN,NOT IN | Common | The descriptive name of the project that contains the issue, providing context for where the issue resides. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| JQL | String | Jira Query Language (JQL) allows users to filter changelog entries based on conditions like project, user, field, or date ranges. |
Lists components assigned to issues, which typically represent parts or modules of a project.
You can search IssueComponents by using SQL and JQL (Jira Query Language).
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
The available columns for IssueComponents are IssueId, IssueKey, and JQL. For example:
SELECT * FROM IssueComponents WHERE IssueId > 10022 AND IssueId < 10090
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | =,<>,IS,IS NOT,IN,NOT IN | Common | The unique identifier of the component associated with the issue, used internally by Jira to reference the component. | |
| Name | String | Common | The name of the component, which categorizes issues within a project into smaller parts such as modules, features, or teams. | ||
| IssueId [KEY] | Integer |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common | The internal numeric identifier of the issue that is associated with the component. |
| IssueKey | String |
Issues.Key | =,<>,>,>=,<,<=,IN,NOT IN | Common | The readable issue key (such as 'JIRA-456') that uniquely identifies the issue linked to the component. |
| IssueCreatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The timestamp representing when the issue associated with the component was originally created. | |
| IssueUpdatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The timestamp representing the last time the issue linked to the component was updated. | |
| Description | String | Common | A short summary or explanation of what the component represents within the context of the project. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| JQL | String | Jira Query Language (JQL) allows filtering issue components by various fields, such as component name, issue key, or project. |
Retrieves metadata and configuration of custom fields created in the Jira instance.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | Common | The unique identifier of the custom field as defined in Jira. | ||
| Key | String | Common | The internal key used by Jira to reference the custom field. | ||
| CustomId | Long | A numerical identifier assigned to the custom field, used primarily for integration or API calls. | |||
| Name | String | Common | The display name of the custom field as it appears in the Jira UI. | ||
| CDataName | String | Common | The name used to represent this custom field in the Issues table when the CData connection property IncludeCustomFields is set to 'true'. | ||
| Orderable | Boolean | Common | If the value is 'true', the custom field can be used to sort issues in search results or views. | ||
| Navigable | Boolean | Common | If the value is 'true', the custom field is visible in the issue navigator and can be browsed or selected in views. | ||
| Searchable | Boolean | Common | If the value is 'true', the custom field can be used in Jira Query Language (JQL) searches to filter issues. |
Returns the list of versions in which specific issues are expected to be resolved.
You can search IssueFixVersions by using SQL and JQL (Jira Query Language).
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
The available columns for IssueFixVersions are IssueId, IssueKey, and JQL. For example:
SELECT * FROM IssueFixVersions WHERE IssueId > 10022 AND IssueId < 10090
Due to limitations in the Jira API, filtering with comparison operators on the IssueId column (>, >=, <, <=) only works reliably within the context of the project that contains the specified issue. To improve behavior, the Sync App transforms these comparisons into equivalent filters on the IssueCreatedDate column by resolving the Created datetime of each referenced issue.
This transformation is applied only when the KeyColumnOperators connection property is set to "Server-Side" (the default). In rare cases, Sync App may assign a higher IssueId to an issue created earlier, which can result in incorrect filtering when relying solely on IssueId comparisons. For fully accurate results across all projects, set KeyColumnOperators to "Client-Side". This mode retrieves the entire issue dataset and evaluates the comparison logic client-side providing a correct result set at the cost of performance.
Consider the example query below.
SELECT * FROM IssueFixVersions WHERE IssueId > '10005'
When KeyColumnOperators is set to "Server-Side", this is internally transformed into:
SELECT * FROM IssueFixVersions WHERE IssueCreatedDate > '2024-11-26T10:08:51Z'
| Name | Type | References | SupportedOperators | Platform | Description |
| VersionId [KEY] | String | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The unique identifier of the fix version assigned to the issue, used to track when and where a bug or feature was resolved. | |
| IssueId [KEY] | Integer |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common | The internal numeric ID of the issue that has been associated with this fix version. |
| IssueKey | String |
Issues.Key | =,<>,>,>=,<,<=,IN,NOT IN | Common | The human-readable key of the issue, such as 'PROJ-123', which links it to the fix version. |
| IssueCreatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The timestamp indicating when the issue related to this fix version was originally created in Jira. | |
| IssueUpdatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The timestamp indicating the most recent update made to the issue associated with this fix version. | |
| Name | String | Common | The display name of the fix version, often reflecting a product release or milestone, such as 'v1.0' or 'Q2 Patch'. | ||
| Archived | Boolean | Common | If the value is 'true', the fix version has been archived, meaning it is hidden from standard version pickers and no longer actively used in projects. | ||
| Released | Boolean | Common | If the value is 'true', the fix version has been officially released, typically signifying that associated issues have been completed or deployed. | ||
| ReleaseDate | Datetime | Common | The scheduled or actual release date of the fix version, used for tracking project milestones and timelines. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| JQL | String | Jira Query Language (JQL) enables advanced filtering by allowing users to write structured queries to search for issues based on fix versions and other attributes. |
Displays relationships between issues, such as 'blocks', 'duplicates', or 'relates to'.
You can search IssueLinks by using SQL and JQL (Jira Query Language).
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
The available columns for IssueLinks are IssueId, IssueKey, and JQL. For example:
SELECT * FROM IssueLinks WHERE IssueId > 10022 AND IssueId < 10090
Due to limitations in the Jira API, filtering with comparison operators on the IssueId column (>, >=, <, <=) only works reliably within the context of the project that contains the specified issue. To improve behavior, the Sync App transforms these comparisons into equivalent filters on the IssueCreatedDate column by resolving the Created datetime of each referenced issue.
This transformation is applied only when the KeyColumnOperators connection property is set to "Server-Side" (the default). In rare cases, Sync App may assign a higher IssueId to an issue created earlier, which can result in incorrect filtering when relying solely on IssueId comparisons. For fully accurate results across all projects, set KeyColumnOperators to "Client-Side". This mode retrieves the entire issue dataset and evaluates the comparison logic client-side providing a correct result set at the cost of performance.
Consider the example query below.
SELECT * FROM IssueLinks WHERE IssueId > '10005'
When KeyColumnOperators is set to "Server-Side", this is internally transformed into:
SELECT * FROM IssueLinks WHERE IssueCreatedDate > '2024-11-26T10:08:51Z'
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | Common | The unique identifier of the issue link, representing a specific relationship between two issues in Jira. | ||
| InwardIssueId | Integer |
Issues.Id | Common | The numeric ID of the issue that is linked to the current issue, acting as the inward target in the relationship. | |
| InwardIssueKey | String |
Issues.Key | Common | The key of the issue that is linked to the current issue, such as 'BUG-102' or 'TASK-301'. | |
| OutWardIssueId | Integer |
Issues.Id | Common | The numeric ID of the issue that the current issue is linking to, acting as the outward reference in the relationship. | |
| OutwardIssueKey | String |
Issues.Key | Common | The key of the issue that the current issue is linking to, such as 'EPIC-501' or 'STORY-210'. | |
| IssueId [KEY] | Integer |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common | The numeric ID of the issue that owns or originates this link. |
| IssueKey | String |
Issues.Key | =,<>,>,>=,<,<=,IN,NOT IN | Common | The key of the issue that owns or originates this link, such as 'PROJ-123'. |
| IssueCreatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The date and time when the originating issue for this link was created in Jira. | |
| IssueUpdatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The date and time of the most recent update made to the originating issue associated with this link. | |
| TypeId | Id | Common | The identifier of the type of relationship, such as 'blocks', 'relates to', or 'duplicates'. | ||
| TypeName | String | Common | The descriptive name of the issue link type, such as 'is blocked by', 'relates to', or 'duplicates'. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| JQL | String | Jira Query Language (JQL) allows filtering of issues based on link relationships, such as issues that block or are blocked by others. |
Lists all available link types that can be used to create relationships between issues.
The Sync App will use the Jira APIs to process filters that refer to the Id column.
The Sync App will process the rest of the filter client side within itself. For example, the following queries are processed server-side:
SELECT * FROM IssueLinkTypes WHERE Id = '10003'
SELECT * FROM IssueLinkTypes WHERE Id IN ('10002', '10000')
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | =,IN | Common | The unique identifier assigned to the issue link type, used to distinguish different types of relationships between issues. | |
| Name | String | Common | The name of the issue link type, such as 'Blocks', 'Clones', or 'Relates to', indicating the nature of the relationship. | ||
| Inward | String | Common | The label used to describe the inward direction of the link from the perspective of the target issue, such as 'is blocked by'. | ||
| Outward | String | Common | The label used to describe the outward direction of the link from the perspective of the originating issue, such as 'blocks'. |
Returns all priority levels available in the Jira instance, such as 'High', 'Medium', and 'Low'.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM IssuePriorities WHERE Id = 1
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | = | Common | A unique identifier assigned to the issue priority, used internally within Jira to reference the priority setting. | |
| Name | String | Common | The display name of the issue priority, such as 'High', 'Medium', or 'Low', as it appears in the Jira interface. | ||
| Description | String | Common | A detailed explanation of what this priority level represents, often used to guide users on how to assign priorities to issues. | ||
| URL | String | Common | A link to the Jira resource representing this issue priority, typically used for API access or integration purposes. | ||
| StatusColor | String | Common | The color code associated with the issue priority, used for visual identification in dashboards and issue listings. | ||
| IconUrl | String | Common | The web address of the icon image representing the issue priority in the Jira UI. |
Retrieves all resolution values used to indicate how issues were completed, such as 'Fixed' or 'Won't Fix'.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM IssueResolutions WHERE Id = 10000
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | = | Common | A unique identifier assigned to the issue resolution, used internally within Jira to reference how an issue was resolved. | |
| Name | String | Common | The display name of the issue resolution, such as 'Fixed', 'Won't Fix', or 'Duplicate', shown in the Jira interface. | ||
| Description | String | Common | A brief explanation of what the resolution status means, helping users understand how the issue was closed. | ||
| URL | String | Common | A link to the Jira resource representing this resolution, useful for referencing in integrations or automation. |
Retrieves the users and groups associated with specific issue security levels, which control visibility of issues.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | = | A unique identifier for the issue security level member record. | ||
| IssueSecurityLevelId | String | = | The ID of the specific security level assigned to issues to control visibility. | ||
| IssueSecuritySchemeId | String | = | The ID of the security scheme that includes this issue security level. | ||
| HolderParameter | String | An optional parameter used to identify the permission holder. Recommended when group names might change. | |||
| HolderType | String | The type of entity that holds the permission, such as a group, user, or project role. | |||
| HolderValue | String | The specific identifier (such as group name or user ID) for the permission holder, used in conjunction with the holder type. |
Lists all subtasks associated with Jira issues, including parent-child relationships and statuses.
You can search for IssueSubtasks by using SQL and JQL (Jira Query Language).
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
The available columns for IssueSubtasks are IssueId, IssueKey, and JQL. For example:
SELECT * FROM IssueSubtasks WHERE IssueId = 10009 AND JQL = 'creator = john'
Due to limitations in the Jira API, filtering with comparison operators on the IssueId column (>, >=, <, <=) only works reliably within the context of the project that contains the specified issue. To improve behavior, the Sync App transforms these comparisons into equivalent filters on the IssueCreatedDate column by resolving the Created datetime of each referenced issue.
This transformation is applied only when the KeyColumnOperators connection property is set to "Server-Side" (the default). In rare cases, Sync App may assign a higher IssueId to an issue created earlier, which can result in incorrect filtering when relying solely on IssueId comparisons. For fully accurate results across all projects, set KeyColumnOperators to "Client-Side". This mode retrieves the entire issue dataset and evaluates the comparison logic client-side providing a correct result set at the cost of performance.
Consider the example query below.
SELECT * FROM IssueSubtasks WHERE IssueId > '10005'
When KeyColumnOperators is set to "Server-Side", this is internally transformed into:
SELECT * FROM IssueSubtasks WHERE IssueCreatedDate > '2024-11-26T10:08:51Z'
| Name | Type | References | SupportedOperators | Platform | Description |
| SubtaskId [KEY] | String | Common | The unique identifier assigned to the subtask within Jira. Used internally to reference the subtask across the platform. | ||
| SubtaskKey | String | Common | The user-facing key of the subtask, usually in the format 'PROJECT-123'. This value is used to reference the subtask in the user interface and API. | ||
| IssueId | Integer |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common | The unique identifier of the parent issue to which this subtask is linked. All subtasks must be associated with a parent issue. |
| IssueKey | String |
Issues.Key | =,<>,>,>=,<,<=,IN,NOT IN | Common | The key of the parent issue, used to identify the parent issue in the UI and via API calls. |
| IssueCreatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The date and time when the parent issue for this subtask was created. Useful for tracking issue timelines. | |
| IssueUpdatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The most recent date and time when the parent issue was modified. Reflects the last activity or change. | |
| Summary | String | Common | A short summary or title describing the subtask. Typically used to capture the subtask's main objective or activity. | ||
| TypeId | String |
IssueTypes.Id | Common | The internal identifier representing the issue type of the subtask, such as bug, task, or technical debt. | |
| TypeName | String |
IssueTypes.Name | Common | The display name of the subtask's issue type. This could be labels like 'Sub-task', 'Development Task', or 'QA Task'. | |
| TypeDescription | String |
IssueTypes.Description | Common | A detailed description of the issue type associated with this subtask. This helps explain the role or purpose of the type within workflows. | |
| TypeSubtask | Boolean |
IssueTypes.Subtask | Common | If the value is 'true', this issue is classified as a subtask. If 'false', it is a standard issue type. Helps distinguish between top-level and dependent issues. | |
| PriorityId | String | Common | The unique identifier of the priority assigned to this subtask, indicating its urgency or importance within the project. | ||
| PriorityName | String | Common | The display name of the subtask's priority level, such as 'High', 'Medium', or 'Low'. | ||
| StatusId | String | Common | The identifier of the current status for the subtask, such as 'To Do', 'In Progress', or 'Done'. Reflects its progress in the workflow. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| JQL | String | Jira Query Language (JQL) allows you to build structured queries to filter and retrieve specific subtasks based on custom criteria. |
Displays all possible transitions for issues, including available status changes and transition rules.
You can search for IssueTransitions by using SQL and JQL (Jira Query Language).
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
The available columns for IssueTransitions are IssueId, IssueKey, and JQL. For example:
SELECT * FROM IssueTransitions WHERE JQL = 'id=10022'
Due to limitations in the Jira API, filtering with comparison operators on the IssueId column (>, >=, <, <=) only works reliably within the context of the project that contains the specified issue. To improve behavior, the Sync App transforms these comparisons into equivalent filters on the IssueCreatedDate column by resolving the Created datetime of each referenced issue.
This transformation is applied only when the KeyColumnOperators connection property is set to "Server-Side" (the default). In rare cases, Sync App may assign a higher IssueId to an issue created earlier, which can result in incorrect filtering when relying solely on IssueId comparisons. For fully accurate results across all projects, set KeyColumnOperators to "Client-Side". This mode retrieves the entire issue dataset and evaluates the comparison logic client-side providing a correct result set at the cost of performance.
Consider the example query below.
SELECT * FROM IssueTransitions WHERE IssueId > '10005'
When KeyColumnOperators is set to "Server-Side", this is internally transformed into:
SELECT * FROM IssueTransitions WHERE IssueCreatedDate > '2024-11-26T10:08:51Z'
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | Common | The unique identifier of the transition that is available for the specified issue. Used to programmatically reference a transition. | ||
| IssueId [KEY] | Integer |
Issues.Id | =,<>,>,>=,<,<=,IN,NOT IN | Common | The internal identifier of the issue for which this transition is available. This links the transition to a specific issue. |
| IssueKey | String |
Issues.Key | =,<>,>,>=,<,<=,IN,NOT IN | Common | The human-readable key of the issue (such as 'PROJ-101') associated with the transition. Commonly used in the user interface and API. |
| IssueCreatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The date and time when the issue was originally created. Useful for understanding when the issue entered the system. | |
| IssueUpdatedDate | Datetime | =,<>,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The most recent timestamp when the issue was modified. Reflects the latest update before the transition was retrieved. | |
| HasScreen | String | Common | Indicates whether the transition includes a screen, such as one prompting for additional fields or comments when the transition is performed. | ||
| Name | String | Common | The name of the transition, as defined in the workflow (for example, 'Start Progress', 'Resolve Issue'). Represents the action being performed. | ||
| ToDescription | String | Common | A textual description of the status that the issue will move into after the transition is completed. | ||
| ToId | String | Common | The internal identifier of the destination status the issue will move to after this transition. | ||
| ToName | String | Common | The name of the destination status (such as 'In Progress', 'Done', or 'Closed') that results from this transition. | ||
| StatusCategoryId | Integer | Common | The unique identifier of the category to which the destination status belongs. Status categories help group statuses (for example, 'To Do', 'In Progress'). | ||
| StatusCategoryKey | String | Common | The programmatic key of the destination status category. This is a stable reference used in configurations and API logic. | ||
| StatusCategoryName | String | Common | The display name of the category of the destination status. This gives a general idea of where in the workflow the issue is headed. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| JQL | String | Jira Query Language (JQL) allows you to construct structured queries to retrieve transitions based on criteria such as issue key or current status. |
Returns the permissions granted to the current user based on their roles and group memberships.
The Sync App processes all filters specified on this table client-side within the Sync App.
SELECT * FROM MyPermissions
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | Common | A unique numeric identifier representing a specific permission available to users in Jira. | ||
| Key [KEY] | String | Common | The internal string identifier for the permission, used when managing or referencing permissions through the Application Programming Interface (API) or configuration files. | ||
| Name | String | Common | The human-readable name of the permission, indicating the action the permission allows (such as 'Browse Projects' or 'Edit Issues'). | ||
| Type | String | Common | Specifies the scope or context of the permission, such as 'project', 'issue', or 'global', determining where the permission applies. | ||
| Description | String | Common | A detailed explanation of what the permission allows the user to do within the specified scope, providing context for its use. | ||
| HavePermission | Boolean | Common | If the value is 'true', the current user has this permission in the given context (project, issue, etc.); if 'false', the user does not. | ||
| DeprecatedKey | Boolean | Common | If the value is 'true', the permission key is considered outdated and should not be used in new configurations; if 'false', it is still valid. | ||
| Permissions | String | = | Common | A comma-separated list of related or grouped permissions relevant to the current context, such as 'BROWSE_PROJECTS, EDIT_ISSUES'. |
Pseudo column fields are used in the WHERE clause of SELECT statements and offer a more granular control over the tuples that are returned from the data source.
| Name | Type | Description | |
| ProjectKey | String | Filters the permission check to a specific project by its key (for example, 'DEV'), which helps evaluate permissions within that project only. | |
| ProjectId | String | Filters the permission check to a specific project by its ID. Used to assess if the user has the permission in that project. | |
| IssueKey | String | Filters the permission check to a specific issue by its key (for example, 'DEV-101'), allowing permission evaluation in the context of that issue. | |
| IssueId | String | Filters the permission check to a specific issue by its internal numeric ID, used for querying permissions at the issue level. |
Lists the complete set of permissions available in Jira, such as 'Browse Projects' or 'Edit Issues'.
| Name | Type | References | SupportedOperators | Platform | Description |
| Key [KEY] | String | Common | A unique identifier used internally by Jira to refer to the specific permission, such as 'BROWSE_PROJECTS' or 'EDIT_ISSUES'. | ||
| Name | String | Common | The human-readable name of the permission, describing the action it allows, such as 'Browse Projects' or 'Assign Issues'. | ||
| Type | String | Common | The category of the permission, such as project-level, global, or issue-level, indicating the scope where the permission applies. | ||
| Description | String | Common | A detailed explanation of what the permission allows the user to do within Jira, and in which context or scope it applies. |
Retrieves defined permission schemes, which are used to manage access control across Jira projects.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | = | A unique identifier assigned to the permission scheme, used internally by Jira to reference the scheme. | ||
| Name | String | The name assigned to the permission scheme, typically used to indicate the context or project it applies to. | |||
| Description | String | A detailed explanation of the purpose or usage of the permission scheme, helping users understand its role in permission management. | |||
| ScopeType | String | Specifies the level at which the permission scheme is applied, such as 'PROJECT', indicating project-level scope. | |||
| ScopeProjectId | String | The ID of the specific project to which the permission scheme applies, defining its operational scope. |
Lists all available project categories, which are used to organize and group Jira projects.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | = | Common | A unique identifier assigned to the project category, used internally by Jira to distinguish it from other categories. | |
| Name | String | Common | The user-defined name of the project category, typically used to group related projects under a common label. | ||
| Description | String | Common | A brief explanation of the project category's purpose or the types of projects it contains, helping users understand how it is used. | ||
| Link | String | Common | A direct URL to the project category's resource in the Jira API, which can be used to access or reference it programmatically. |
Retrieves role definitions that can be assigned across projects, such as 'Developers' or 'Administrators'.
The Sync App will use the Jira API to process filters that refer to ProjectId and ProjectKey while the rest of the filter is executed client side within the Sync App. The Jira APIs support filters using the equals (=) or IN operator with ProjectId and ProjectKey.
For example, the following queries are processed server side:
Retrieve all roles for each project:
SELECT * FROM ProjectRoles
Retrieve all roles for a specific project:
SELECT * FROM ProjectRoles WHERE ProjectId = '10000'
| Name | Type | References | SupportedOperators | Platform | Description |
| RoleId [KEY] | Long |
Roles.Id | Common | A unique identifier for the project role. Project roles define a set of permissions and responsibilities within a specific Jira project. | |
| RoleName | String |
Roles.Name | Common | The display name of the project role, such as 'Developers', 'Administrators', or 'Users'. | |
| ProjectId [KEY] | Integer |
Projects.Id | =,IN | Common | The numeric ID of the project that this role is associated with. |
| ProjectKey [KEY] | String |
Projects.Key | =,IN | Common | The unique key of the project where this role is defined, used to reference the project in Jira queries and configurations. |
Displays issue types configured for each project, including standard and custom issue types.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | A unique identifier for the issue type within Jira. This ID is used internally and in API requests to refer to the specific issue type. | |||
| ProjectId [KEY] | Int |
Projects.Id | The numeric ID of the project associated with this issue type. Each project has its own set of available issue types. | ||
| ProjectName | String |
Projects.Name | The display name of the project that includes this issue type. Useful for identifying which project a particular issue type is configured under. | ||
| Name | String | The name of the issue type as seen in the Jira user interface. Examples include 'Bug', 'Task', 'Story', or any custom issue type. | |||
| Description | String | A short description that defines the purpose or use case for the issue type. This helps users understand when to use this issue type in the project. | |||
| Subtask | Boolean | Indicates whether the issue type is a subtask. Subtasks are used to break down parent issues into smaller, manageable units of work. | |||
| IconUrl | String | The URL of the icon representing the issue type in the Jira interface. This visual element helps users quickly identify different issue types. | |||
| AvatarId | String | The internal ID of the avatar (icon image) associated with the issue type. This is used for display in the Jira UI alongside issue names. |
Returns the permission scheme currently assigned to each project.
| Name | Type | References | SupportedOperators | Platform | Description |
| ProjectId | Integer | = | The unique numeric identifier of the project to which the permission scheme is assigned. Used to associate permissions with a specific Jira project. | ||
| ProjectKey | String | = | The project key is a short, unique identifier (such as 'PROJ') used to reference the project in URLs and issue keys. | ||
| Id [KEY] | String | The unique ID of the permission scheme that defines what users can see and do within the associated project. | |||
| Name | String | The display name of the permission scheme. This name is shown in the Jira UI and helps users and admins recognize the scheme. | |||
| Description | String | A brief explanation of the permission scheme's purpose or its specific configuration. This helps admins differentiate between similar schemes. |
Lists all available project types in Jira, such as business, software, or service management projects.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM ProjectTypes WHERE Key = 'software'
| Name | Type | References | SupportedOperators | Platform | Description |
| Key [KEY] | String | = | Common | A unique identifier for the project type, such as 'business', 'software', or 'service_desk'. Used to differentiate the type of project configuration in Jira. | |
| DescriptionKey | String | Common | An internal key that maps to the localized or descriptive text associated with the project type. This value helps provide more information about what the project type represents. | ||
| Icon | String | Common | The URL or identifier for the icon representing the project type in the Jira UI. Helps visually distinguish between different types of projects. | ||
| Color | String | Common | The color code associated with the project type, used to visually represent or categorize the type in the Jira interface. |
Returns all configured security levels, which determine visibility of issues for specific users or groups.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | Common | The unique identifier of the issue security level, used to define visibility restrictions for issues. | ||
| SecuritySchemeId | Long | =,IN | Common | The ID of the issue security scheme to which this security level belongs. Security schemes group levels together for a project. | |
| Name | String | Common | The display name of the issue security level, such as 'Internal' or 'Management Only'. | ||
| Description | String | Common | A description of the purpose or scope of the security level, typically explaining who can view issues assigned this level. |
Lists security schemes that group security levels and apply them to Jira projects.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Long | = | Common | The unique identifier of the issue security scheme, which is used to define access control settings for issues in a project. | |
| Name | String | Common | The name assigned to the issue security scheme, used to distinguish it from other schemes in the system. | ||
| Description | String | Common | A summary of the purpose or scope of the issue security scheme, typically detailing how it controls issue visibility. | ||
| DefaultSecurityLevelId | Long | Common | The ID of the default issue security level applied to new issues when no specific level is selected. |
Retrieves issues assigned to agile sprints, including their rank and progress within the sprint.
The Jira APIs support the IN operator in filters on SprintId; the Sync App executes the rest of the filter client side within itself. For example, following query's filter is processed server side:
SELECT * FROM SprintIssues WHERE SprintId = '1'
Using the IN operator:
SELECT * FROM SprintIssues WHERE SprintId IN (70, 215)
Note that 'kanban' type boards do not support sprints. You can retrieve all sprint issues faster if you use a filter like the following:
SELECT * FROM SprintIssues WHERE SprintId IN (SELECT Id FROM BoardSprints WHERE BoardId IN (SELECT Id FROM Boards WHERE Type != 'kanban'))
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer |
Issues.Id | Common | A unique numeric identifier assigned to the issue. This ID is used internally by Jira to distinguish each issue. | |
| Key | String |
Issues.Key | = | Common | The unique issue key assigned by Jira, typically consisting of the project key and issue number (for example, 'PROJ-101'). |
| SprintId [KEY] | Integer |
Sprints.Id | =,IN | Common | The unique identifier of the sprint that the issue is currently assigned to. Sprints are used to group issues during Agile development cycles. |
| IssueTypeId | String |
IssueTypes.Id | =,!=,IS,IS NOT,IN,NOT IN | Common | The internal ID that represents the type of the issue, such as 'Bug', 'Task', 'Story', or 'Epic'. Useful for referencing issue types programmatically. |
| IssueTypeName | String | =,!=,IS,IS NOT,IN,NOT IN | Common | The display name of the issue type (for example, 'Bug' or 'Story'), providing human-readable context for the issue's purpose. | |
| StatusId | Integer |
Statuses.Id | =,!=,IS,IS NOT,IN,NOT IN | Common | The internal identifier of the issue's current status within the workflow (for example, 'To Do', 'In Progress', or 'Done'). |
| StatusName | String | =,!=,IS,IS NOT,IN,NOT IN | Common | The name of the issue's current workflow status. Helps indicate where the issue stands in the development lifecycle. | |
| ProjectId | Integer |
Projects.Id | =,!=,IS,IS NOT,IN,NOT IN | Common | The unique numeric identifier of the project that the issue belongs to. This links the issue to its parent project in Jira. |
| ProjectKey | String |
Projects.Key | =,!=,IS,IS NOT,IN,NOT IN | Common | The short key used to identify the project (for example, 'PROJ'). This is part of the issue key and is unique across Jira. |
| ProjectName | String | =,!=,IS,IS NOT,IN,NOT IN | Common | The full name of the project associated with the issue. Helps provide context for teams and stakeholders. | |
| ClosedSprintsAggregate | String | Common | A comma-separated list of previously closed sprints in which this issue appeared. Useful for historical tracking of issue progress. | ||
| Created | Datetime | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The date and time when the issue was originally created in Jira. Helps in tracking issue age and backlog metrics. | |
| Updated | Datetime | =,!=,>,>=,<,<=,IS,IS NOT,IN,NOT IN | Common | The date and time when the issue was most recently modified, including status updates, comments, or field changes. |
Lists all available issue statuses in Jira, including custom and default statuses used in workflows.
The Sync App will use the Jira APIs to process filters that refer to the Id or Name columns. Searches on the Name column are case sensitive.
The Sync App will process the rest of the filter client side within itself. For example, the following queries are processed server-side:
SELECT * FROM Statuses WHERE Id = '10003' SELECT * FROM Statuses WHERE Name = 'Closed'
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | = | Common | The unique identifier for the issue status. Used internally to reference the status in workflows and issue transitions. | |
| Name | String | = | Common | The display name of the status, such as 'To Do', 'In Progress', or 'Done'. Shown in issue views and workflows. | |
| Description | String | Common | A description of the status that provides more detail about its intended use or purpose in the workflow. | ||
| CategoryId | Integer | Common | The ID of the status category that this status belongs to. Categories group similar statuses, such as all 'done' states. | ||
| CategoryKey | String | Common | The key value representing the category of the status. Common values include 'new', 'indeterminate', or 'done'. |
Returns the projects using a given status.
Note: This view is available only in the Jira Cloud version.
The Sync App uses the Jira API to process to process filters based on the StatusId. If StatusId is not specified the driver uses the Statuses table to automatically retrive the StatusId.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
select * from StatusProjects where StatusId= 6
| Name | Type | References | SupportedOperators | Platform | Description |
| ProjectId | Int |
Projects.Id | Cloud | The unique idetifier of the workflow for the given status. | |
| StatusId | Int |
Statuses.Id | = | Cloud | The unique idetifier of the status. |
Returns the issue types in a project using a given status.
Note: This view is available only in the Jira Cloud version.
To execute a query on this object you need to specify the ProjectId and StatusId.
Select * from StatusProjectsIssuetypes where ProjectId=10100 and StatusId = 6
| Name | Type | References | SupportedOperators | Platform | Description |
| IssueTypeId | String |
IssueTypes.Id | Cloud | The unique identifier of the issue type for the project in the given status | |
| ProjectId | Int |
Projects.Id | = | Cloud | The unique identifier of the project using this status |
| StatusId | Int |
Statuses.Id | = | Cloud | The unique idetifier of the status |
Returns the workflows using a given status.
Note: This view is available only in the Jira Cloud version.
The Sync App uses the Jira API to process to process filters based on the StatusId. If StatusId is not specified the driver uses the Statuses table to automatically retrive the StatusId.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
select * from StatusWorkflows where StatusId= 6
| Name | Type | References | SupportedOperators | Platform | Description |
| WorkflowId | String |
Workflows.Id | Cloud | The unique idetifier of the workflow for the given status. | |
| StatusId | Int |
Statuses.Id | = | Cloud | The unique idetifier of the status. |
Displays the time tracking providers configured in the Jira instance, which manage estimation and logging.
SELECT * FROM TimeTrackingProviders
| Name | Type | References | SupportedOperators | Platform | Description |
| Key [KEY] | String | = | Cloud | The internal identifier used to reference the time tracking provider, such as 'Jira'. | |
| Name | String | Cloud | The user-facing name of the time tracking provider, typically shown in settings and configuration pages. | ||
| URL | String | Cloud | The relative URL path to the configuration page for the time tracking provider. Only available if the provider defines an admin page in its module descriptor. |
Query the available Votes in Jira.
The Sync App will execute filters other than the following client-side within itself.
For example, the following queries are processed server side:
SELECT * FROM Votes WHERE IssueId = 10100 SELECT * FROM Votes WHERE IssueKey = 'MKY-1'
| Name | Type | References | SupportedOperators | Platform | Description |
| Username | String | Server | The username of the issue voter. | ||
| DisplayName | String | Common | The display name of the issue voter. | ||
| Active | Boolean | Common | Boolean indicating if the vote is active. | ||
| UserKey | String |
Users.Key | Server | The user key of the issue voter. | |
| AccountId | String |
Users.AccountId | Cloud | The account ID of the user, which uniquely identifies the user across all Atlassian products. For example, 5b10ac8d82e05b22cc7d4ef5. | |
| IssueId | String |
Issues.Id | = | Common | The issue Id of the vote. |
| IssueKey | String |
Issues.Key | = | Common | The issue key of the vote. |
Returns the projects using a given workflow.
Note: This view is available only in the Jira Cloud version.
The Sync App uses the Jira API to process to process filters based on the WorkflowId. If WorkflowId is not specified the driver uses the Workflows table to automatically retrive the WorkflowId.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM WorkflowProjects WHERE WorkflowId= 'jira'
| Name | Type | References | SupportedOperators | Platform | Description |
| ProjectId | Int |
Projects.Id | Cloud | The unique identifier of the project using this workflow. | |
| WorkflowId | String |
Workflows.Id | = | Cloud | The unique identifier of the workflow. |
Returns the issue types using a given workflow within a project.
Note: This view is available only in the Jira Cloud version.
To execute a query on this object you need to specify the ProjectId and WorkflowId.
Select * from StatusProjectsIssuetypes where ProjectId=10100 and WorkflowId = 'jira'
| Name | Type | References | SupportedOperators | Platform | Description |
| IssueTypeId | String |
IssueTypes.Id | Cloud | The unique identifier of the issue type for the project in the given workflow | |
| ProjectId | Int |
Projects.Id | = | Cloud | The unique identifier of the project using this workflow. |
| WorkflowId | String |
Workflows.Id | = | Cloud | The unique identifier of the workflow. |
Returns the projects using a given workflow schema.
Note: This view is available only in the Jira Cloud version.
The Sync App uses the Jira API to process to process filters based on the WorkflowSchemeId. If WorkflowSchemeId is not specified the driver uses the Statuses table to automatically retrive the WorkflowSchemeId.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
select * from WorkflowSchemeProjects where WorkflowSchemeId = 10418
| Name | Type | References | SupportedOperators | Platform | Description |
| ProjectId | Int |
Projects.Id | Cloud | The unique identifier of the project using this workflow schema. | |
| WorkflowSchemeId | Int | = | Cloud | The unique identifier of the workflows schema |
Lists all status categories such as 'To Do', 'In Progress', or 'Done' used to group workflow statuses visually.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM WorkflowStatusCategories WHERE Id = 1 SELECT * FROM WorkflowStatusCategories WHERE Key = 'undefined'
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | Integer | = | Common | The unique identifier of the status category. Status categories group issue statuses based on their workflow position, such as 'To Do', 'In Progress', or 'Done'. | |
| Key | String | = | Common | The system-defined key used to reference the status category. This value is typically used programmatically. | |
| Name | String | Common | The user-facing name of the status category, which describes its workflow grouping—for example, 'In Progress' or 'Done'. | ||
| ColorName | String | Common | The name of the color used in the Jira UI to visually represent the category. Common values include 'blue-gray', 'yellow', or 'green'. | ||
| URL | String | Common | The REST API endpoint URL for accessing or managing this status category. |
Displays all statuses used in Jira workflows, along with their properties and associated categories.
The Sync App uses the Jira API to process some of the filters.
The Sync App processes other filters within the Sync App.
For example, the following queries are processed server side:
SELECT * FROM WorkflowStatuses WHERE Id = 1 SELECT * FROM WorkflowStatuses WHERE Name = 'Open'
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | = | Common | The unique identifier of the workflow status. Each status represents a step in a Jira issue's lifecycle, such as 'To Do', 'In Progress', or 'Done'. | |
| StatusCategoryId | Integer | Common | The ID of the status category that this workflow status belongs to. Status categories provide high-level groupings for Jira statuses, such as 'In Progress'. | ||
| Name | String | = | Common | The user-visible name of the workflow status. This name appears in the Jira interface when viewing or editing issues. | |
| Description | String | Common | A brief explanation of what this status represents within a workflow. This helps users understand when to use the status. | ||
| URL | String | Common | The REST API endpoint URL for retrieving or managing this workflow status. | ||
| IconUrl | String | Common | The full URL to the icon image associated with this status, used in the Jira UI for visual reference. |
Retrieves records of deleted worklogs, useful for audit trails or troubleshooting time tracking inconsistencies.
| Name | Type | References | SupportedOperators | Platform | Description |
| Id [KEY] | String | The unique identifier of the audit record corresponding to a deleted worklog entry. This ID can be used to trace specific deletion events. | |||
| Updated | Datetime | >=,> | The timestamp indicating when the worklog entry was deleted. Useful for tracking and auditing changes over time. | ||
| Properties | String | A serialized string containing metadata and property details of the deleted worklog entry, such as user information, original time logged, and issue reference. |
Stored procedures are function-like interfaces that extend the functionality of the Sync App beyond simple SELECT/INSERT/UPDATE/DELETE operations with Jira.
Stored procedures accept a list of parameters, perform their intended function, and then return any relevant response data from Jira, along with an indication of whether the procedure succeeded or failed.
| Name | Description |
| ArchiveIssues | Archives one or more Jira issues by specifying their issue IDs or keys, removing them from active views. |
| ArchiveIssuesJQL | Archives multiple issues based on a Jira Query Language (JQL) query, allowing bulk archival by filter. |
| AssignPermissionScheme | Assigns a specified permission scheme to a Jira project, replacing any existing permissions configuration. |
| ChangeIssueStatus | Performs a workflow status transition on a Jira issue, such as moving from 'To Do' to 'In Progress'. |
| CreateArchivedIssuesExport | Generates a CSV file containing all archived issues and sends a download link to the admin user. |
| CreateCustomField | Creates a new custom field in Jira, which can then be used in issues, screens, or field configurations. |
| DeleteAndSwapGroup | Deletes a group and transfers its restrictions to another group. |
| GetTimeTrackingSettings | Retrieves the current time tracking configuration settings from the Jira instance. |
| SelectTimeTrackingProvider | Sets the time tracking provider to be used in Jira, determining how time is recorded and displayed. |
| SetTimeTrackingSettings | Configures time tracking options in Jira, including time formats and default units. |
| UnarchiveIssues | Restores archived issues to active status by specifying their issue IDs or keys. |
Archives one or more Jira issues by specifying their issue IDs or keys, removing them from active views.
Note: This stored procedure is not available in the Jira Data Center version if you are using the OAuth 2.0 AuthScheme.
To execute this procedure, enter:
EXEC ArchiveIssues IssueIdOrKeys='PROJ-123'
| Name | Type | Required | Description |
| IssueIdOrKeys# | String | True | A comma-separated list or a temporary table containing issue IDs or keys that identify the issues to be archived. Accepts values such as ABC-123, DEF-456 or numeric IDs. |
| Name | Type | Description |
| IssueIdOrKey | String | Returns the ID or key of each issue that was processed for archiving, depending on the input format used. |
| Success | String | If the value is 'true', the issue was successfully archived. If the value is 'false', an error occurred during the operation. |
| Error | String | Provides a descriptive error message when archiving fails for an issue. This helps identify the cause of the failure. |
Archives multiple issues based on a Jira Query Language (JQL) query, allowing bulk archival by filter.
The execution time of this stored procedure may vary depending on the data processed in the Jira task. If execution exceeds the current Timeout limit, an exception will be thrown. To prevent this, consider increasing the Timeout connection property as needed for your specific use case.
Note: This stored procedure is available only in the Jira Cloud version.
To execute this procedure, enter:
EXEC ArchiveIssuesJQL JQL='project = PROJ AND status = Done'
| Name | Type | Required | Description |
| JQL | String | True | The JQL expression used to select the issues to archive. For example, 'project = ABC AND status = Done'. |
| Name | Type | Description |
| NumberOfIssuesArchived | String | Returns the number of top-level issues that were successfully archived as a result of the JQL query. |
| NumberOfSubtasksArchived | String | Returns the number of subtasks that were successfully archived as part of the operation. |
Assigns a specified permission scheme to a Jira project, replacing any existing permissions configuration.
To execute this procedure, enter:
EXEC AssignPermissionScheme ProjectKey='PROJ', Id='10001'
| Name | Type | Required | Description |
| ProjectId | Int64 | False | The numeric ID of the project to assign the permission scheme to. Required if ProjectKey is not provided. |
| ProjectKey | String | False | The unique key of the project to assign the permission scheme to. Required if ProjectId is not provided. |
| Id | String | True | The ID of the permission scheme that should be assigned to the project. |
| Name | Type | Description |
| Success | String | Indicates whether the permission scheme was successfully assigned to the project. |
Performs a workflow status transition on a Jira issue, such as moving from 'To Do' to 'In Progress'.
In order to find a list of the possible TransitionIds, click the Settings button (Jira Administration) -> Issues -> Workflows and then click the View button of your project's workflow. After that, select Text of Diagram, and the available Transitions with their Ids are listed. Use the Id inside the parentheses next to the Transition name as the TransitionId parameter.
To execute this procedure, enter:
EXEC ChangeIssueStatus IssueKey='PROJ-123', TransitionId='21'
| Name | Type | Required | Description |
| IssueId | String | False | The unique identifier of the issue to be transitioned. Required if IssueKey is not specified. |
| IssueKey | String | False | The human-readable key of the issue to be transitioned, such as 'PROJ-123'. Required if IssueId is not specified. |
| TransitionId | String | True | The unique identifier of the workflow transition to be applied to the issue, corresponding to a specific status change. |
| Name | Type | Description |
| Success | String | Indicates whether the status transition was successfully executed for the specified issue. |
Generates a CSV file containing all archived issues and sends a download link to the admin user.
The execution time of this stored procedure may vary depending on the data processed in the Jira task. If execution exceeds the current Timeout limit, an exception will be thrown. To prevent this, consider increasing the Timeout connection property as needed for your specific use case.
Note: This stored procedure is available only in the Jira Cloud version.
To execute this procedure, enter:
EXEC CreateArchivedIssuesExport Projects='PROJ'
| Name | Type | Required | Description |
| ArchivedDateAfter | String | False | Filters archived issues to include only those that were archived after the specified date. |
| ArchivedDateBefore | String | False | Filters archived issues to include only those that were archived before the specified date. |
| IssueTypes# | String | False | Filters archived issues based on one or more specified issue type IDs, such as bug or task. |
| ArchivedBy# | String | False | Filters archived issues to include only those archived by specific user account IDs. |
| Projects# | String | False | Filters archived issues to include only those from specific project keys. |
| Reporters# | String | False | Filters archived issues based on one or more reporter account IDs. |
| IgnoreTaskResult | String | False | If set to 'true', the stored procedure returns immediately without waiting for the export task to complete.
The default value is false. |
| Name | Type | Description |
| Success | String | Indicates whether the export operation for archived issues was completed successfully. |
| Error | String | Provides an error message if the export task fails or encounters issues during execution. |
Creates a new custom field in Jira, which can then be used in issues, screens, or field configurations.
To execute this procedure, enter:
EXEC CreateCustomField Name='my_custom_field', Description='A custom field description', Type='com.atlassian.jira.plugin.system.customfieldtypes:grouppicker', SearcherKey='com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher'
| Name | Type | Required | Description |
| Name | String | True | The display name of the custom field, shown in the Jira user interface. This is not the technical identifier used internally. |
| Description | String | False | A short description of the custom field, visible in the Jira user interface to help users understand its purpose. |
| Type | String | True | Defines the type of the custom field to be created, such as a group picker or text field. The value should use the full type key format, for example: 'com.atlassian.jira.plugin.system.customfieldtypes:grouppicker'. |
| SearcherKey | String | True | Specifies how the custom field can be searched in Jira. The value should be a valid searcher key, such as 'com.atlassian.jira.plugin.system.customfieldtypes:grouppickersearcher'. |
| Name | Type | Description |
| Id | String | The numeric ID that uniquely identifies the newly created custom field in Jira. |
| Key | String | The system-generated key used internally to reference the newly created custom field. |
| Name | String | The name of the custom field as confirmed after creation. |
Generates a schema file for a specified table or view, useful for integration or development purposes.
To execute this procedure, enter:
EXEC CreateSchema TableName='Issues', FileName='C:\\schemas\\Issues.rsd'
| Name | Type | Required | Description |
| TableName | String | True | The name of the table or view for which the schema file should be generated. |
| FileName | String | False | The full file path and name where the schema file should be saved. For example: 'C:\\Users\\User\\Desktop\\SmartSheet\\sheet.rsd'. |
| Name | Type | Description |
| Result | String | Indicates whether the schema generation was successful. Returns 'Success' or 'Failure'. |
| FileData | String | The content of the generated schema file, encoded in Base64. This is returned only when neither FileName nor FileStream is specified. |
Deletes a group and transfers its restrictions to another group.
To delete a group, you must specify one of the following identifiers:
To transfer (swap) restrictions from the deleted group to another group, you may optionally specify one of the following:
If no swap parameter is provided, the group is deleted without transferring its restrictions.
In the example below, a group is deleted by Id, and its restrictions moved to another group by specifying the swap group Id.
EXEC DeleteAndSwapGroup @GroupId = '3dd7e7a1-77f7-4ac1-b8e1-a069830a7f1d', @SwapGroupId = '3dd7e7a1-77f7-4ac1-b8e1-a069830a7f2z';
To delete a group, you must specify the GroupName input.
To transfer (swap) restrictions from the deleted group to another group, you may optionally specify the SwapGroupName. If no swap parameter is provided, the group is deleted without transferring its restrictions.
In the example below, a group is deleted by Name, and its restrictions moved to another group by specifying the swap group Name.
EXEC DeleteAndSwapGroup @GroupName = 'old-support-group', @SwapGroupName = 'new-support-group';
Note: On Jira Server/Data Center, groups are identified by name only. Group ID–based parameters are not supported.
| Name | Type | Required | Description |
| GroupId | String | True | The Id of the Group to delete. Required if GroupName is not specified. Available only in Jira Cloud. |
| GroupName | String | True | The name of the Group to delete. Required if GroupId is not specified. |
| SwapGroupId | String | False | The Id of the Group to transfer the restrictions to. Available only in Jira Cloud. |
| SwapGroupName | String | False | The Name of the Group to transfer the restrictions to. |
| Name | Type | Description |
| Success | String | This value shows whether the operation was successful or not. |
| Error | String | The error message if the procedure failed. |
Downloads an attachment from Jira by specifying the attachment's unique ID.
To execute this procedure, enter:
EXEC DownloadAttachment AttachmentId='10001', FileLocation='C:\\downloads\\my_file.txt'
| Name | Type | Required | Description |
| AttachmentId | String | True | The unique identifier of the Jira attachment to download. This ID is required to retrieve the correct file. |
| FileLocation | String | False | The local file system path where the downloaded attachment should be saved. This can be an absolute or relative path. |
| FileName | String | False | The name to assign to the downloaded file. If left blank, the file will retain its original name as it appears in Jira. |
| Overwrite | String | False | If set to 'true', any existing file at the target location will be overwritten. If 'false', the operation will fail if the file already exists. Default is 'false'. |
| Name | Type | Description |
| Success | String | Indicates whether the attachment was successfully downloaded. Returns 'true' if successful, or 'false' if an error occurred. |
| FileData | String | The contents of the downloaded file encoded in Base64 format. Only returned when FileLocation and FileStream are not provided. |
Fetches the OAuth Access Token, which is used to authenticate and authorize API calls made to Jira.
| Name | Type | Required | Description |
| AuthMode | String | False | Enter either APP or WEB. The type of authentication mode to use. Set to APP to get authentication tokens via a desktop app. Set to WEB to get authentication tokens via a Web app.
The default value is APP. |
| Verifier | String | False | The verifier token returned by Jira after using the URL obtained with GetOAuthAuthorizationURL. Required for only the Web AuthMode. |
| Scope | String | False | A comma-separated list of permissions to request from the user. Please check the Square API for a list of available permissions.
The default value is read:jira-work manage:jira-project manage:jira-configuration read:jira-user write:jira-work manage:jira-data-provider offline_access. |
| CallbackUrl | String | False | The URL the user will be redirected to after authorizing your application. This value must match the Redirect URL in the Jira app settings. |
| AuthToken | String | False | The request token returned by GetOAuthAuthorizationURL. Required for only the Web AuthMode. Used for OAuth 1.0. |
| AuthKey | String | False | The request token secret returned by GetOAuthAuthorizationURL. Required for only the Web AuthMode. Used for OAuth 1.0. |
| Name | Type | Description |
| OAuthAccessToken | String | The access token used for communication with Jira. |
| OAuthAccessTokenSecret | String | The access token secret used for communication with Jira. |
| OAuthRefreshToken | String | A token that may be used to obtain a new access token. |
| CloudId | String | The Cloud Id for the Atlassian site that was authorized. |
| ExpiresIn | String | The remaining lifetime on the access token. A -1 denotes that it will not expire. |
Retrieves the OAuth Authorization URL, allowing the client to direct the user's browser to the authorization server and initiate the OAuth process.
| Name | Type | Required | Description |
| CallbackUrl | String | False | The URL the user will be redirected to after authorizing your application. |
| Scope | String | False | A comma-separated list of permissions to request from the user. Please check the Jira API for a list of available permissions.
The default value is read:jira-work manage:jira-project manage:jira-configuration read:jira-user write:jira-work manage:jira-data-provider offline_access. |
| State | String | False | Indicates any state which may be useful to your application upon receipt of the response. Your application receives the same value it sent, as this parameter makes a round-trip to the QuickBooksOnline authorization server and back. Uses include redirecting the user to the correct resource in your site, using nonces, and mitigating cross-site request forgery. |
| Name | Type | Description |
| URL | String | The authorization URL, entered into a Web browser to obtain the verifier token and authorize your app. |
| AuthToken | String | A token used as input for the GetOAuthAccessToken stored procedure to verify the request and get the access token. |
| AuthKey | String | A key used as input for the GetOAuthAccessToken stored procedure to verify the request and get the secret key. |
Retrieves the current time tracking configuration settings from the Jira instance.
To execute this procedure, enter:
EXEC GetTimeTrackingSettings
| Name | Type | Description |
| WorkingHoursPerDay | Integer | Specifies the number of hours considered in a standard working day. This value is used when converting between time units in time tracking calculations. |
| WorkingDaysPerWeek | Double | Indicates the number of working days in a typical week. This setting is used for estimating issue durations and scheduling work. |
| TimeFormat | String | Defines the format used to display time spent on issues, such as hours, days, or a combination of units. This controls how time tracking data is shown in the Jira interface. |
| DefaultUnit | String | Specifies the default unit (such as minutes, hours, or days) applied when logging or interpreting time entries on issues. |
Refreshes an expired OAuth Access token to maintain continuous authenticated access to Jira resources without requiring reauthorization from the user.
| Name | Type | Required | Description |
| OAuthRefreshToken | String | True | The OAuth Refresh Token received with the original access token, used to request a new access token. |
| OAuthAccessToken | String | False | The OAuth Refresh Token received with the original access token, used to request a new access token. |
| Name | Type | Description |
| OAuthAccessToken | String | The refreshed OAuth Access Token to be included in requests for access to protected resources. |
| OAuthRefreshToken | String | The new OAuth Refresh Token to be used for future token refresh requests. |
| ExpiresIn | String | The duration in seconds before the new access token expires. Defaults to 1440 seconds (24 minutes). |
Sets the time tracking provider to be used in Jira, determining how time is recorded and displayed.
To execute this procedure, enter:
EXEC SelectTimeTrackingProvider Key='JIRA'
| Name | Type | Required | Description |
| Key | String | True | The unique key that identifies the time tracking provider to enable in Jira. For example, 'Jira' for the default provider or another key if using a custom time tracking integration. |
| Name | Type | Description |
| Success | Boolean | Indicates whether the time tracking provider was successfully selected and enabled. If the value is 'true', the operation was successful; if the value is 'false', the operation failed. |
Configures time tracking options in Jira, including time formats and default units.
To execute this procedure, enter:
EXEC SetTimeTrackingSettings workingHoursPerDay=8, workingDaysPerWeek=5, timeFormat='pretty', defaultUnit='minute'
| Name | Type | Required | Description |
| WorkingHoursPerDay | Integer | True | Specifies the standard number of working hours in a single workday. This value is used when calculating time tracking estimates and logged work. |
| WorkingDaysPerWeek | Double | True | Defines the number of workdays in a week. This affects how Jira interprets and calculates work duration for time tracking. |
| TimeFormat | String | True | Determines how time spent is displayed on issues, such as in hours, days, or a combination of time units. |
| DefaultUnit | String | True | Sets the default unit of time (such as 'minutes', 'hours', or 'days') for logging work on issues. |
| Name | Type | Description |
| Success | String | Indicates whether the time tracking configuration was updated successfully. If the value is 'true', the update was successful; if the value is 'false', the operation failed. |
Restores archived issues to active status by specifying their issue IDs or keys.
Note: This stored procedure is not available in the Jira Data Center version if you are using the OAuth 2.0 AuthScheme.
To execute this procedure, enter:
EXEC UnArchiveIssues IssueIdOrKeys='PROJ-123'
| Name | Type | Required | Description |
| IssueIdOrKeys# | String | True | A comma-separated list or a temporary table containing the IDs or keys of the issues to be unarchived. |
| Name | Type | Description |
| IssueIdOrKey | String | The ID or key of the issue that was unarchived, based on the input provided. |
| Success | String | If the value is 'true', the issue was successfully unarchived. If the value is 'false', an error occurred. |
| Error | String | A message providing details about the error if the unarchiving operation fails. |
Uploads an attachment file to a specific Jira issue, making it visible to users with access to the issue.
To execute this procedure, enter:
EXEC UploadAttachment IssueKey='PROJ-123', FileLocation='C:\\uploads\\my_file.txt'
| Name | Type | Required | Description |
| IssueId | String | False | The unique ID of the Jira issue to which the file should be attached. Required if IssueKey is not provided. |
| IssueKey | String | False | The key of the Jira issue (such as 'PROJ-123') to which the file should be attached. Required if IssueId is not provided. |
| FileLocation | String | False | The full path and file name (including extension) of the file to be uploaded. Used when uploading from a file system. |
| FileName | String | False | The name to assign to the uploaded file. If not provided, Jira will use the file name as displayed in the user interface. |
| Name | Type | Description |
| Success | String | If the value is 'true', the file was uploaded successfully. If the value is 'false', the upload operation failed. |
The Sync App maps types from the data source to the corresponding data type available in the schema. The table below documents these mappings.
| Jira | CData Schema |
| Assets | string |
| Checkbox | string |
| Date of First Response | datetime |
| Date Picker | date |
| Date Time Picker | datetime |
| Days since last comment | string |
| Domain of Assignee | string |
| Domain of Reporter | string |
| Group Picker (multiple groups) | string |
| Group Picker (single group) | string |
| Labels | string |
| Last commented by a User Flag | string |
| Last public comment date | string |
| Message Custom Field (for edit) | string |
| Message Custom Field (for view) | string |
| Number Field | decimal |
| Number of attachments | string |
| Number of comments | string |
| Parent Link | string |
| Participants of an issue | string |
| Project Picker (single project) | string |
| Radio Buttons | string |
| Select List (cascading) | string |
| Select List (multiple choices) | string |
| Select List (single choice) | string |
| Team | string |
| Text Field (multi-line) | string |
| Text Field (read only) | string |
| Text Field (single line) | string |
| Time in Status | string |
| URL Field | string |
| User Picker (multiple users) | string |
| User Picker (single user) | string |
| User Property Field | string |
| Username of last updater or commenter | string |
| Version Picker (multiple versions) | string |
| Version Picker (single version) | string |
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider. Click the links for further details.
For more information on establishing a connection, see Establishing a Connection.
| Property | Description |
| AuthScheme | Specifies the authentication scheme used to connect to the Jira instance. |
| URL | Specifies the URL to your Jira endpoint. It is typically the URL of your Atlassian instance, such as https://yoursitename.atlassian.net. |
| User | Specifies the authenticating user's user ID. |
| Password | Specifies the authenticating user's password. |
| APIToken | The API Token used to authenticate the current user. This token is required for API access and is unique to the user. |
| APITokenType | Specifies the format of the APIToken authentication. Supports Basic (default) and Bearer. |
| PAT | The Personal Access Token (PAT) used to authenticate the current user. The PAT is an alternative to using passwords and is used for accessing resources within the Atlassian ecosystem, such as Jira or Confluence. This token provides a secure, token-based authentication method for API calls, eliminating the need to expose the user's password directly. |
| Property | Description |
| SSOLoginURL | The identity provider's login URL. |
| SSOProperties | Additional properties required to connect to the identity provider, formatted as a semicolon-separated list. |
| SSOExchangeURL | The URL used for consuming the SAML response and exchanging it for service specific credentials. |
| SSOAppName | App Name used with SSO for IdPs that require it. |
| SSOAppPassword | App Password used with SSO for IdPs that require it. |
| Property | Description |
| OAuthVersion | Identifies the version of OAuth being used. |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
| Scope | Specifies the OAuth scopes that the application requests from Jira. Scopes define the level of access granted to the OAuth application. |
| AuthToken | The authentication token used to request and obtain the OAuth Access Token. |
| AuthKey | The authentication secret used to request and obtain the OAuth Access Token. |
| CertificateStoreType | Specifies the type of certificate store used for Jira private application authentication. |
| CertificateStore | Specifies the certificate store used for Jira authentication. The certificate store contains the client certificate that is used to authenticate the client application with the service. |
| CertificateSubject | Specifies the subject of the client certificate used for Jira private application authentication. The certificate subject is a Distinguished Name (DN) that identifies the certificate and is used during the SSL client authentication process. It helps locate the correct certificate in the store by matching the provided subject information. |
| CertificateStorePassword | Specifies the password used to open the certificate store for authentication with Jira, if the certificate store is password-protected. |
| Property | Description |
| SSLClientCert | Specifies the TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). This property works in conjunction with other SSL-related properties to establish a secure connection. |
| SSLClientCertType | Specifies the type of key store containing the TLS/SSL client certificate for SSL Client Authentication. Choose from a variety of key store formats depending on your platform and certificate source. |
| SSLClientCertPassword | Specifes the password required to access the TLS/SSL client certificate store. Use this property if the selected certificate store type requires a password for access. |
| SSLClientCertSubject | Specifes the subject of the TLS/SSL client certificate to locate it in the certificate store. Use a comma-separated list of distinguished name fields, such as CN=www.server.com, C=US. The wildcard * selects the first certificate in the store. |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
| Property | Description |
| FirewallType | Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall. |
| FirewallServer | Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources. |
| FirewallPort | Specifies the TCP port to be used for a proxy-based firewall. |
| FirewallUser | Identifies the user ID of the account authenticating to a proxy-based firewall. |
| FirewallPassword | Specifies the password of the user account authenticating to a proxy-based firewall. |
| Property | Description |
| ProxyAutoDetect | Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server. |
| ProxyServer | Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic. |
| ProxyPort | Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client. |
| ProxyAuthScheme | Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property. |
| ProxyUser | Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property. |
| ProxyPassword | Specifies the password of the user specified in the ProxyUser connection property. |
| ProxySSLType | Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property. |
| ProxyExceptions | Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property. |
| Property | Description |
| LogModules | Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged. |
| Property | Description |
| Location | Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path. |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
| Tables | Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC . |
| Views | Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC . |
| Property | Description |
| AcceptLanguage | Set this property to send the Accept-Language request header in HTTP requests, which is used by servers to determine the preferred language for content delivery. |
| IncludeCustomFields | A Boolean property that indicates whether custom fields should be included in the column listing of the Issues table. When enabled, this option ensures that any custom fields added to the system are displayed as part of the issue metadata, providing a more comprehensive view of the issues. |
| IncludeMetadataDescription | Specifies whether custom field descriptions should be retrieved. Set this property to 'Columns' to retrieve descriptions for custom fields. |
| KeyColumnOperators | Specifies how to handle logical and comparison operators applied to Id and Key columns when constructing JQL filters. This property helps manage cases where invalid Id or Key values in JQL filters might otherwise lead to errors or unexpected results, particularly when paired with the UseJqlSearchEndpoint connection property on Jira Cloud. |
| MaxRows | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| MaxThreads | Specifies the number of concurrent requests that can be issued simultaneously. This property allows for the execution of multiple requests at the same time, which can improve overall performance by utilizing system resources more efficiently. |
| Other | Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues. |
| Pagesize | Specifies the maximum number of records per page the provider returns when requesting data from Jira. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| ReturnHTMLValues | A Boolean property that determines whether renderable fields should return their rendered (HTML-formatted) values instead of the raw field values. |
| ReturnIssuesDetails | A Boolean property that determines whether the Comments and Attachments aggregate columns are exposed directly on the Issues table. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| Timezone | Specifies the timezone of the Jira instance to use datetime filters effectively and retrieve results based on the specified timezone. |
| UseDefaultOrderBy | Indicates whether a default ORDER BY clause should be applied when none is specified in the query. This helps ensure consistent sorting of results and prevents duplicate records from appearing in the output. |
| UseDisplayNames | A Boolean property that determines whether the display names for custom fields should be used instead of their corresponding API names. When enabled, this option will cause the system to use user-friendly display names for custom fields in the UI or API responses, making it easier for users to interpret the data. |
| UserDefinedViews | Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file. |
| UseSimpleNames | Specifies whether or not simple names should be used for tables and columns. |
This section provides a complete list of the Authentication properties you can configure in the connection string for this provider.
| Property | Description |
| AuthScheme | Specifies the authentication scheme used to connect to the Jira instance. |
| URL | Specifies the URL to your Jira endpoint. It is typically the URL of your Atlassian instance, such as https://yoursitename.atlassian.net. |
| User | Specifies the authenticating user's user ID. |
| Password | Specifies the authenticating user's password. |
| APIToken | The API Token used to authenticate the current user. This token is required for API access and is unique to the user. |
| APITokenType | Specifies the format of the APIToken authentication. Supports Basic (default) and Bearer. |
| PAT | The Personal Access Token (PAT) used to authenticate the current user. The PAT is an alternative to using passwords and is used for accessing resources within the Atlassian ecosystem, such as Jira or Confluence. This token provides a secure, token-based authentication method for API calls, eliminating the need to expose the user's password directly. |
Specifies the authentication scheme used to connect to the Jira instance.
This property controls how the Sync App authenticates against the Jira API. Choose an authentication scheme that matches the configuration of your Jira instance.
The default value is set to OAuth, which is typically used for secure third-party integrations. For more traditional or internal authentication systems, options like Basic, PAT, or LDAP may be more suitable.
The following options are available:
Specifies the URL to your Jira endpoint. It is typically the URL of your Atlassian instance, such as https://yoursitename.atlassian.net.
Replace the placeholder URL with the actual URL of your Atlassian instance or service endpoint. This property is marked as required, meaning that it must be set before making API requests or establishing a connection with the service.
Ensure that the provided URL is correct and points to your specific Jira instance to avoid connection issues or authentication errors.
Specifies the authenticating user's user ID.
The authenticating server requires both User and Password to validate the user's identity.
Specifies the authenticating user's password.
The authenticating server requires both User and Password to validate the user's identity.
The API Token used to authenticate the current user. This token is required for API access and is unique to the user.
The API Token is an essential authentication credential that grants access to a range of services associated with the user’s Atlassian account. The API Token replaces the need for using passwords when interacting with the API, providing a safer and more secure authentication method.
To generate the API Token, log in to your Atlassian account, go to Security, and then select Create and manage API tokens. After that, click Create API token to generate a new one.
Since the API Token is a sensitive piece of data, it should be handled securely, and it must not be exposed in public or shared in insecure environments.
Specifies the format of the APIToken authentication. Supports Basic (default) and Bearer.
This property lets you choose how the Sync App authenticates using your APIToken. You can set it to either Bearer or Basic.
This property is useful when connecting to services that support multiple token formats, such as the miniOrange REST API Authentication app.
The Personal Access Token (PAT) used to authenticate the current user. The PAT is an alternative to using passwords and is used for accessing resources within the Atlassian ecosystem, such as Jira or Confluence. This token provides a secure, token-based authentication method for API calls, eliminating the need to expose the user's password directly.
This property holds the Personal Access Token for the currently authenticated user. This token is used for secure authentication and is preferred for API access because it reduces the need to use passwords.
To generate the PAT, log in to your Atlassian account, then go to your profile by selecting the profile picture in the top right corner of the screen, navigate to Profile > Personal Access Tokens, and click Create token. This allows you to generate a new token for authentication.
Since the PAT is a sensitive piece of data, it should be stored securely and should not be exposed in unsecured environments.
This section provides a complete list of the SSO properties you can configure in the connection string for this provider.
| Property | Description |
| SSOLoginURL | The identity provider's login URL. |
| SSOProperties | Additional properties required to connect to the identity provider, formatted as a semicolon-separated list. |
| SSOExchangeURL | The URL used for consuming the SAML response and exchanging it for service specific credentials. |
| SSOAppName | App Name used with SSO for IdPs that require it. |
| SSOAppPassword | App Password used with SSO for IdPs that require it. |
The identity provider's login URL.
The identity provider's login URL.
Additional properties required to connect to the identity provider, formatted as a semicolon-separated list.
Additional properties required to connect to the identity provider, formatted as a semicolon-separated list.
This is used with the SSOLoginURL.
SSO configuration is discussed further in .
The URL used for consuming the SAML response and exchanging it for service specific credentials.
The CData Sync App will use the URL specified here to consume a SAML response and exchange it for service specific credentials. The retrieved credentials are the final piece during the SSO connection that are used to communicate with Jira.
App Name used with SSO for IdPs that require it.
Along with SSOAppPassword, may be be specified to identify and authenticate to your app configured in the SSO IdP. Currently only Crowd supports it.
App Password used with SSO for IdPs that require it.
Along with SSOAppName, may be be specified to identify and authenticate to your app configured in the SSO IdP. Currently only Crowd supports it.
This section provides a complete list of the OAuth properties you can configure in the connection string for this provider.
| Property | Description |
| OAuthVersion | Identifies the version of OAuth being used. |
| OAuthClientId | Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication. |
| OAuthClientSecret | Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.). |
| Scope | Specifies the OAuth scopes that the application requests from Jira. Scopes define the level of access granted to the OAuth application. |
| AuthToken | The authentication token used to request and obtain the OAuth Access Token. |
| AuthKey | The authentication secret used to request and obtain the OAuth Access Token. |
| CertificateStoreType | Specifies the type of certificate store used for Jira private application authentication. |
| CertificateStore | Specifies the certificate store used for Jira authentication. The certificate store contains the client certificate that is used to authenticate the client application with the service. |
| CertificateSubject | Specifies the subject of the client certificate used for Jira private application authentication. The certificate subject is a Distinguished Name (DN) that identifies the certificate and is used during the SSL client authentication process. It helps locate the correct certificate in the store by matching the provided subject information. |
| CertificateStorePassword | Specifies the password used to open the certificate store for authentication with Jira, if the certificate store is password-protected. |
Identifies the version of OAuth being used.
Accepted entries are: 1.0,2.0
Specifies the client ID (also known as the consumer key) assigned to your custom OAuth application. This ID is required to identify the application to the OAuth authorization server during authentication.
This property is required in two cases:
(When the driver provides embedded OAuth credentials, this value may already be provided by the Sync App and thus not require manual entry.)
OAuthClientId is generally used alongside other OAuth-related properties such as OAuthClientSecret and OAuthSettingsLocation when configuring an authenticated connection.
OAuthClientId is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can usually find this value in your identity provider’s application registration settings. Look for a field labeled Client ID, Application ID, or Consumer Key.
While the client ID is not considered a confidential value like a client secret, it is still part of your application's identity and should be handled carefully. Avoid exposing it in public repositories or shared configuration files.
For more information on how this property is used when configuring a connection, see Establishing a Connection.
Specifies the client secret assigned to your custom OAuth application. This confidential value is used to authenticate the application to the OAuth authorization server. (Custom OAuth applications only.).
This property (sometimes called the application secret or consumer secret) is required when using a custom OAuth application in any flow that requires secure client authentication, such as web-based OAuth, service-based connections, or certificate-based authorization flows. It is not required when using an embedded OAuth application.
The client secret is used during the token exchange step of the OAuth flow, when the driver requests an access token from the authorization server. If this value is missing or incorrect, authentication fails with either an invalid_client or an unauthorized_client error.
OAuthClientSecret is one of the key connection parameters that need to be set before users can authenticate via OAuth. You can obtain this value from your identity provider when registering the OAuth application.
Notes:
For more information on how this property is used when configuring a connection, see Establishing a Connection
Specifies the OAuth scopes that the application requests from Jira. Scopes define the level of access granted to the OAuth application.
Scopes are set to define what kind of access the authenticating user will have; for example, read, read and write, restricted access to sensitive information. System administrators can use scopes to selectively enable access by functionality or security clearance.
When InitiateOAuth is set to GETANDREFRESH, you must use this property if you want to change which scopes are requested.
When InitiateOAuth is set to either REFRESH or OFF, you can change which scopes are requested using either this property or the Scope input.
Scopes are specified to ensure proper access to entities in the driver. By default, the application requests a wide range of scopes, such as read, write, and delete access to Jira work, projects, configurations, users, boards, issues, and sprints.
If you wish to limit the access granted to the application, you can set this property to a space-separated list of OAuth scopes that you want the application to request. This allows you to customize the permissions according to the needs of your application.
The authentication token used to request and obtain the OAuth Access Token.
This property is required only when performing headless authentication in OAuth 1.0. It can be obtained from the GetOAuthAuthorizationUrl stored procedure.
It can be supplied alongside the AuthKey in the GetOAuthAccessToken stored procedure to obtain the OAuthAccessToken.
The authentication secret used to request and obtain the OAuth Access Token.
This property is required only when performing headless authentication in OAuth 1.0. It can be obtained from the GetOAuthAuthorizationUrl stored procedure.
It can be supplied alongside the AuthToken in the GetOAuthAccessToken stored procedure to obtain the OAuthAccessToken.
Specifies the type of certificate store used for Jira private application authentication.
This property defines the certificate store type used for SSL client authentication in Jira private applications. The certificate store contains the client certificate that is used during the authentication process with the service. The property allows you to specify different types of certificate stores, depending on the environment and the format of the certificates.
The CertificateStoreType property can take one of the following values:
| User - default | Specifies a certificate in the current user's Windows User certificate store. |
| Machine | Specifies a certificate in the Windows local machine certificate store. |
| PFXFile | The certificate store is the path to a PFX (PKCS12) file that contains certificates. |
| PFXBlob | The certificate store is a string (base-64-encoded) representing a PFX certificate store. |
| JKSFile | The certificate store is a path to a Java key store (JKS) file containing certificates. |
| JKSBlob | The certificate store is a string (base-64-encoded) representing a JKS certificate store. |
| PEMKeyFile | The certificate store is the path to a PEM-encoded file containing a private key and an optional certificate. |
| PublicKeyFile | The certificate store is the path to a file containing a PEM- or DER-encoded public key certificate. |
| PublicKeyBlob | The certificate store is a string (base-64-encoded) containing a PEM- or DER-encoded public key certificate. |
| SSHPublicKeyBlob | The certificate store is a string (base-64-encoded) containing an SSH-style public key. |
| P10BFile | The certificate store is the path to a PKCS10 file containing certificates. |
| SSHPublicKeyFile | The certificate store is a path to a file containing an SSH-style public key. |
| PPKFile | The certificate store is a path to a file containing a PPK (PuTTY Private Key). |
| XMLFile | The certificate store is a path to a file containing a certificate in XML format. |
| XMLBlob | The certificate store is a string containing a certificate in XML format. |
To specify the private certificate, you may need to set the following properties in addition to CertificateStoreType:
Specifies the certificate store used for Jira authentication. The certificate store contains the client certificate that is used to authenticate the client application with the service.
This property defines either the path to the certificate store or the contents of the certificate store, depending on the CertificateStoreType. The client certificate is used to prove the identity of the client application when connecting to the service, ensuring secure communication. The client certificate is typically in formats such as .p12, .pfx, or .pem.
Specifies the subject of the client certificate used for Jira private application authentication. The certificate subject is a Distinguished Name (DN) that identifies the certificate and is used during the SSL client authentication process. It helps locate the correct certificate in the store by matching the provided subject information.
This property is used to specify the subject of the client certificate for private application authentication with Jira. The subject is used to find the appropriate certificate within the certificate store by matching its distinguished name (DN) fields.
Jira private application authentication utilizes SSL client authentication, where the client proves its identity using a digital certificate. The subject of this certificate is critical for identifying the certificate within the store.
The subject is used to locate the certificate in the store during the authentication process. The steps are as follows:
The certificate subject consists of a comma-separated list of distinguished name (DN) fields and values. A typical subject might look like: "CN=www.server.com, OU=test, C=US, [email protected]". Below are some common fields:
| Field | Meaning |
| CN | Common Name (for example, a host name like www.server.com) |
| O | Organization |
| OU | Organizational Unit |
| L | Locality |
| S | State |
| C | Country |
| E | Email Address |
Note: If any field value contains a comma, it must be quoted to ensure proper parsing.
In addition to this property, you may need to configure the following properties to specify the private certificate:
Specifies the password used to open the certificate store for authentication with Jira, if the certificate store is password-protected.
This property is used to provide the password, if required, to access the certificate store. The certificate store contains the client certificate used for OAuth authentication, and if the store is encrypted or password-protected, the password must be specified here to unlock the store.
This section provides a complete list of the SSL properties you can configure in the connection string for this provider.
| Property | Description |
| SSLClientCert | Specifies the TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). This property works in conjunction with other SSL-related properties to establish a secure connection. |
| SSLClientCertType | Specifies the type of key store containing the TLS/SSL client certificate for SSL Client Authentication. Choose from a variety of key store formats depending on your platform and certificate source. |
| SSLClientCertPassword | Specifes the password required to access the TLS/SSL client certificate store. Use this property if the selected certificate store type requires a password for access. |
| SSLClientCertSubject | Specifes the subject of the TLS/SSL client certificate to locate it in the certificate store. Use a comma-separated list of distinguished name fields, such as CN=www.server.com, C=US. The wildcard * selects the first certificate in the store. |
| SSLServerCert | Specifies the certificate to be accepted from the server when connecting using TLS/SSL. |
Specifies the TLS/SSL client certificate store for SSL Client Authentication (2-way SSL). This property works in conjunction with other SSL-related properties to establish a secure connection.
This property specifies the client certificate store for SSL Client Authentication. Use this property alongside SSLClientCertType, which defines the type of the certificate store, and SSLClientCertPassword, which specifies the password for password-protected stores. When SSLClientCert is set and SSLClientCertSubject is configured, the driver searches for a certificate matching the specified subject.
Certificate store designations vary by platform. On Windows, certificate stores are identified by names such as MY (personal certificates), while in Java, the certificate store is typically a file containing certificates and optional private keys.
The following are designations of the most common User and Machine certificate stores in Windows:
| MY | A certificate store holding personal certificates with their associated private keys. |
| CA | Certifying authority certificates. |
| ROOT | Root certificates. |
| SPC | Software publisher certificates. |
For PFXFile types, set this property to the filename. For PFXBlob types, set this property to the binary contents of the file in PKCS12 format.
Specifies the type of key store containing the TLS/SSL client certificate for SSL Client Authentication. Choose from a variety of key store formats depending on your platform and certificate source.
This property determines the format and location of the key store used to provide the client certificate. Supported values include platform-specific and universal key store formats. The available values and their usage are:
| USER - default | For Windows, this specifies that the certificate store is a certificate store owned by the current user. Note that this store type is not available in Java. |
| MACHINE | For Windows, this specifies that the certificate store is a machine store. Note that this store type is not available in Java. |
| PFXFILE | The certificate store is the name of a PFX (PKCS12) file containing certificates. |
| PFXBLOB | The certificate store is a string (base-64-encoded) representing a certificate store in PFX (PKCS12) format. |
| JKSFILE | The certificate store is the name of a Java key store (JKS) file containing certificates. Note that this store type is only available in Java. |
| JKSBLOB | The certificate store is a string (base-64-encoded) representing a certificate store in JKS format. Note that this store type is only available in Java. |
| PEMKEY_FILE | The certificate store is the name of a PEM-encoded file that contains a private key and an optional certificate. |
| PEMKEY_BLOB | The certificate store is a string (base64-encoded) that contains a private key and an optional certificate. |
| PUBLIC_KEY_FILE | The certificate store is the name of a file that contains a PEM- or DER-encoded public key certificate. |
| PUBLIC_KEY_BLOB | The certificate store is a string (base-64-encoded) that contains a PEM- or DER-encoded public key certificate. |
| SSHPUBLIC_KEY_FILE | The certificate store is the name of a file that contains an SSH-style public key. |
| SSHPUBLIC_KEY_BLOB | The certificate store is a string (base-64-encoded) that contains an SSH-style public key. |
| P7BFILE | The certificate store is the name of a PKCS7 file containing certificates. |
| PPKFILE | The certificate store is the name of a file that contains a PuTTY Private Key (PPK). |
| XMLFILE | The certificate store is the name of a file that contains a certificate in XML format. |
| XMLBLOB | The certificate store is a string that contains a certificate in XML format. |
| BCFKSFILE | The certificate store is the name of a file that contains an Bouncy Castle keystore. |
| BCFKSBLOB | The certificate store is a string (base-64-encoded) that contains a Bouncy Castle keystore. |
Specifes the password required to access the TLS/SSL client certificate store. Use this property if the selected certificate store type requires a password for access.
This property provides the password needed to open a password-protected certificate store. This property is necessary when using certificate stores that require a password for decryption, as is often recommended for PFX or JKS type stores.
If the certificate store type does not require a password, for example USER or MACHINE on Windows, this property can be left blank. Ensure that the password matches the one associated with the specified certificate store to avoid authentication errors.
Specifes the subject of the TLS/SSL client certificate to locate it in the certificate store. Use a comma-separated list of distinguished name fields, such as CN=www.server.com, C=US. The wildcard * selects the first certificate in the store.
This property determines which client certificate to load based on its subject. The Sync App searches for a certificate that exactly matches the specified subject. If no exact match is found, the Sync App looks for certificates containing the value of the subject. If no match is found, no certificate is selected.
The subject should follow the standard format of a comma-separated list of distinguished name fields and values. For example, CN=www.server.com, OU=Test, C=US. Common fields include the following:
| Field | Meaning |
| CN | Common Name. This is commonly a host name like www.server.com. |
| O | Organization |
| OU | Organizational Unit |
| L | Locality |
| S | State |
| C | Country |
| E | Email Address |
Note: If any field contains special characters, such as commas, the value must be quoted. For example: CN="Example, Inc.", C=US.
Specifies the certificate to be accepted from the server when connecting using TLS/SSL.
If you are using a TLS/SSL connection, use this property to specify the TLS/SSL certificate to be accepted from the server. If you specify a value for this property, all other certificates that are not trusted by the machine are rejected.
This property can take the following forms:
| Description | Example |
| A full PEM Certificate (example shortened for brevity) | -----BEGIN CERTIFICATE----- MIIChTCCAe4CAQAwDQYJKoZIhv......Qw== -----END CERTIFICATE----- |
| A path to a local file containing the certificate | C:\cert.cer |
| The public key (example shortened for brevity) | -----BEGIN RSA PUBLIC KEY----- MIGfMA0GCSq......AQAB -----END RSA PUBLIC KEY----- |
| The MD5 Thumbprint (hex values can also be either space- or colon-separated) | ecadbdda5a1529c58a1e9e09828d70e4 |
| The SHA1 Thumbprint (hex values can also be either space- or colon-separated) | 34a929226ae0819f2ec14b4a3d904f801cbb150d |
Note: It is possible to use '*' to signify that all certificates should be accepted, but due to security concerns this is not recommended.
This section provides a complete list of the Firewall properties you can configure in the connection string for this provider.
| Property | Description |
| FirewallType | Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall. |
| FirewallServer | Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources. |
| FirewallPort | Specifies the TCP port to be used for a proxy-based firewall. |
| FirewallUser | Identifies the user ID of the account authenticating to a proxy-based firewall. |
| FirewallPassword | Specifies the password of the user account authenticating to a proxy-based firewall. |
Specifies the protocol the provider uses to tunnel traffic through a proxy-based firewall.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
Note: By default, the Sync App connects to the system proxy. To disable this behavior and connect to one of the following proxy types, set ProxyAutoDetect to false.
The following table provides port number information for each of the supported protocols.
| Protocol | Default Port | Description |
| TUNNEL | 80 | The port where the Sync App opens a connection to Jira. Traffic flows back and forth via the proxy at this location. |
| SOCKS4 | 1080 | The port where the Sync App opens a connection to Jira. SOCKS 4 then passes theFirewallUser value to the proxy, which determines whether the connection request should be granted. |
| SOCKS5 | 1080 | The port where the Sync App sends data to Jira. If the SOCKS 5 proxy requires authentication, set FirewallUser and FirewallPassword to credentials the proxy recognizes. |
To connect to HTTP proxies, use ProxyServer and ProxyPort. To authenticate to HTTP proxies, use ProxyAuthScheme, ProxyUser, and ProxyPassword.
Identifies the IP address, DNS name, or host name of a proxy used to traverse a firewall and relay user queries to network resources.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
Specifies the TCP port to be used for a proxy-based firewall.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
Identifies the user ID of the account authenticating to a proxy-based firewall.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
Specifies the password of the user account authenticating to a proxy-based firewall.
A proxy-based firewall (or proxy firewall) is a network security device that acts as an intermediary between user requests and the resources they access. The proxy accepts the request of an authenticated user, tunnels through the firewall, and transmits the request to the appropriate server.
Because the proxy evaluates and transfers data backets on behalf of the requesting users, the users never connect directly with the servers, only with the proxy.
This section provides a complete list of the Proxy properties you can configure in the connection string for this provider.
| Property | Description |
| ProxyAutoDetect | Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server. |
| ProxyServer | Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic. |
| ProxyPort | Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client. |
| ProxyAuthScheme | Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property. |
| ProxyUser | Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property. |
| ProxyPassword | Specifies the password of the user specified in the ProxyUser connection property. |
| ProxySSLType | Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property. |
| ProxyExceptions | Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property. |
Specifies whether the provider checks your system proxy settings for existing proxy server configurations, rather than using a manually specified proxy server.
When this connection property is set to True, the Sync App checks your system proxy settings for existing proxy server configurations (no need to manually supply proxy server details).
This connection property takes precedence over other proxy settings. If you want to configure the Sync App to connect to a specific proxy server, set ProxyAutoDetect to False.
To connect to an HTTP proxy, see ProxyServer. For other proxies, such as SOCKS or tunneling, see FirewallType.
Identifies the hostname or IP address of the proxy server through which you want to route HTTP traffic.
The Sync App only routes HTTP traffic through the proxy server specified in this connection property when ProxyAutoDetect is set to False.
If ProxyAutoDetect is set to True (the default), the Sync App instead routes HTTP traffic through the proxy server specified in your system proxy settings.
Identifies the TCP port on your specified proxy server that has been reserved for routing HTTP traffic to and from the client.
The Sync App only routes HTTP traffic through the ProxyServer port specified in this connection property when ProxyAutoDetect is set to False.
If ProxyAutoDetect is set to True (the default), the Sync App instead routes HTTP traffic through the proxy server port specified in your system proxy settings.
For other proxy types, see FirewallType.
Specifies the authentication method the provider uses when authenticating to the proxy server specified in the ProxyServer connection property.
Supported authentication types :
For all values other than NONE, you must also set the ProxyUser and ProxyPassword connection properties.
If you need to use another authentication type, such as SOCKS 5 authentication, see FirewallType.
Provides the username of a user account registered with the proxy server specified in the ProxyServer connection property.
The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.
After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:
| ProxyAuthScheme Value | Value to set for ProxyUser |
| BASIC | The username of a user registered with the proxy server. |
| DIGEST | The username of a user registered with the proxy server. |
| NEGOTIATE | The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user. |
| NTLM | The username of a Windows user who is a valid user in the domain or trusted domain that the proxy server is part of, in the format user@domain or domain\user. |
| NONE | Do not set the ProxyPassword connection property. |
Note: The Sync App only uses this username if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the Sync App instead uses the username specified in your system proxy settings.
Specifies the password of the user specified in the ProxyUser connection property.
The ProxyUser and ProxyPassword connection properties are used to connect and authenticate against the HTTP proxy specified in ProxyServer.
After selecting one of the available authentication types in ProxyAuthScheme, set this property as follows:
| ProxyAuthScheme Value | Value to set for ProxyPassword |
| BASIC | The password associated with the proxy server user specified in ProxyUser. |
| DIGEST | The password associated with the proxy server user specified in ProxyUser. |
| NEGOTIATE | The password associated with the Windows user account specified in ProxyUser. |
| NTLM | The password associated with the Windows user account specified in ProxyUser. |
| NONE | Do not set the ProxyPassword connection property. |
For SOCKS 5 authentication or tunneling, see FirewallType.
Note: The Sync App only uses this password if ProxyAutoDetect is set to False. If ProxyAutoDetect is set to True (the default), the Sync App instead uses the password specified in your system proxy settings.
Specifies the SSL type to use when connecting to the proxy server specified in the ProxyServer connection property.
This property determines when to use SSL for the connection to the HTTP proxy specified by ProxyServer. You can set this connection property to the following values :
| AUTO | Default setting. If ProxyServer is set to an HTTPS URL, the Sync App uses the TUNNEL option. If ProxyServer is set to an HTTP URL, the component uses the NEVER option. |
| ALWAYS | The connection is always SSL enabled. |
| NEVER | The connection is not SSL enabled. |
| TUNNEL | The connection is made through a tunneling proxy. The proxy server opens a connection to the remote host and traffic flows back and forth through the proxy. |
Specifies a semicolon-separated list of destination hostnames or IPs that are exempt from connecting through the proxy server set in the ProxyServer connection property.
The ProxyServer is used for all addresses, except for addresses defined in this property. Use semicolons to separate entries.
Note: The Sync App uses the system proxy settings by default, without further configuration needed. If you want to explicitly configure proxy exceptions for this connection, set ProxyAutoDetect to False.
This section provides a complete list of the Logging properties you can configure in the connection string for this provider.
| Property | Description |
| LogModules | Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged. |
Specifies the core modules to include in the log file. Use a semicolon-separated list of module names. By default, all modules are logged.
The Sync App writes details about each operation it performs into the logfile specified by the Logfile connection property.
Each of these logged operations are assigned to a themed category called a module, and each module has a corresponding short code used to labels individual Sync App operations as belonging to that module.
When this connection property is set to a semicolon-separated list of module codes, only operations belonging to the specified modules are written to the logfile. Note that this only affects which operations are logged moving forward and doesn't retroactively alter the existing contents of the logfile. For example: INFO;EXEC;SSL;META;
By default, logged operations from all modules are included.
You can explicitly exclude a module by prefixing it with a "-". For example: -HTTP
To apply filters to submodules, identify them with the syntax <module name>.<submodule name>. For example, the following value causes the Sync App to only log actions belonging to the HTTP module, and further refines it to exclude actions belonging to the Res submodule of the HTTP module: HTTP;-HTTP.Res
Note that the logfile filtering triggered by the Verbosity connection property takes precedence over the filtering imposed by this connection property. This means that operations of a higher verbosity level than the level specified in the Verbosity connection property are not printed in the logfile, even if they belong to one of the modules specified in this connection property.
The available modules and submodules are:
| Module Name | Module Description | Submodules |
| INFO | General Information. Includes the connection string, product version (build number), and initial connection messages. |
|
| EXEC | Query Execution. Includes execution messages for user-written SQL queries, parsed SQL queries, and normalized SQL queries. Success/failure messages for queries and query pages appear here as well. |
|
| HTTP | HTTP protocol messages. Includes HTTP requests/responses (including POST messages), as well as Kerberos related messages. |
|
| WSDL | Messages pertaining to the generation of WSDL/XSD files. | — |
| SSL | SSL certificate messages. |
|
| AUTH | Authentication related failure/success messages. |
|
| SQL | Includes SQL transactions, SQL bulk transfer messages, and SQL result set messages. |
|
| META | Metadata cache and schema messages. |
|
| FUNC | Information related to executing SQL functions. |
|
| TCP | Incoming and outgoing raw bytes on TCP transport layer messages. |
|
| FTP | Messages pertaining to the File Transfer Protocol. |
|
| SFTP | Messages pertaining to the Secure File Transfer Protocol. |
|
| POP | Messages pertaining to data transferred via the Post Office Protocol. |
|
| SMTP | Messages pertaining to data transferred via the Simple Mail Transfer Protocol. |
|
| CORE | Messages relating to various internal product operations not covered by other modules. | — |
| DEMN | Messages related to SQL remoting. | — |
| CLJB | Messages about bulk data uploads (cloud job). |
|
| SRCE | Miscellaneous messages produced by the product that don't belong in any other module. | — |
| TRANCE | Advanced messages concerning low-level product operations. | — |
This section provides a complete list of the Schema properties you can configure in the connection string for this provider.
| Property | Description |
| Location | Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path. |
| BrowsableSchemas | Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC . |
| Tables | Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC . |
| Views | Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC . |
Specifies the location of a directory containing schema files that define tables, views, and stored procedures. Depending on your service's requirements, this may be expressed as either an absolute path or a relative path.
The Location property is only needed if you want to either customize definitions (for example, change a column name, ignore a column, etc.) or extend the data model with new tables, views, or stored procedures.
If left unspecified, the default location is %APPDATA%\\CData\\JIRA Data Provider\\Schema, where %APPDATA% is set to the user's configuration directory:
| Platform | %APPDATA% |
| Windows | The value of the APPDATA environment variable |
| Linux | ~/.config |
Optional setting that restricts the schemas reported to a subset of all available schemas. For example, BrowsableSchemas=SchemaA,SchemaB,SchemaC .
Listing all available database schemas can take extra time, thus degrading performance. Providing a list of schemas in the connection string saves time and improves performance.
Optional setting that restricts the tables reported to a subset of all available tables. For example, Tables=TableA,TableB,TableC .
Listing all available tables from some databases can take extra time, thus degrading performance. Providing a list of tables in the connection string saves time and improves performance.
If there are lots of tables available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those tables. To do this, specify the tables you want in a comma-separated list. Each table should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Tables=TableA,[TableB/WithSlash],WithCatalog.WithSchema.`TableC With Space`.
Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each table you want to view by its fully qualified name. This avoids ambiguity between tables that may exist in multiple catalogs or schemas.
Optional setting that restricts the views reported to a subset of the available tables. For example, Views=ViewA,ViewB,ViewC .
Listing all available views from some databases can take extra time, thus degrading performance. Providing a list of views in the connection string saves time and improves performance.
If there are lots of views available and you already know which ones you want to work with, you can use this property to restrict your viewing to only those views. To do this, specify the views you want in a comma-separated list. Each view should be a valid SQL identifier with any special characters escaped using square brackets, double-quotes or backticks. For example, Views=ViewA,[ViewB/WithSlash],WithCatalog.WithSchema.`ViewC With Space`.
Note: If you are connecting to a data source with multiple schemas or catalogs, you must specify each view you want to examine by its fully qualified name. This avoids ambiguity between views that may exist in multiple catalogs or schemas.
This section provides a complete list of the Miscellaneous properties you can configure in the connection string for this provider.
| Property | Description |
| AcceptLanguage | Set this property to send the Accept-Language request header in HTTP requests, which is used by servers to determine the preferred language for content delivery. |
| IncludeCustomFields | A Boolean property that indicates whether custom fields should be included in the column listing of the Issues table. When enabled, this option ensures that any custom fields added to the system are displayed as part of the issue metadata, providing a more comprehensive view of the issues. |
| IncludeMetadataDescription | Specifies whether custom field descriptions should be retrieved. Set this property to 'Columns' to retrieve descriptions for custom fields. |
| KeyColumnOperators | Specifies how to handle logical and comparison operators applied to Id and Key columns when constructing JQL filters. This property helps manage cases where invalid Id or Key values in JQL filters might otherwise lead to errors or unexpected results, particularly when paired with the UseJqlSearchEndpoint connection property on Jira Cloud. |
| MaxRows | Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY. |
| MaxThreads | Specifies the number of concurrent requests that can be issued simultaneously. This property allows for the execution of multiple requests at the same time, which can improve overall performance by utilizing system resources more efficiently. |
| Other | Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues. |
| Pagesize | Specifies the maximum number of records per page the provider returns when requesting data from Jira. |
| PseudoColumns | Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'. |
| ReturnHTMLValues | A Boolean property that determines whether renderable fields should return their rendered (HTML-formatted) values instead of the raw field values. |
| ReturnIssuesDetails | A Boolean property that determines whether the Comments and Attachments aggregate columns are exposed directly on the Issues table. |
| Timeout | Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error. |
| Timezone | Specifies the timezone of the Jira instance to use datetime filters effectively and retrieve results based on the specified timezone. |
| UseDefaultOrderBy | Indicates whether a default ORDER BY clause should be applied when none is specified in the query. This helps ensure consistent sorting of results and prevents duplicate records from appearing in the output. |
| UseDisplayNames | A Boolean property that determines whether the display names for custom fields should be used instead of their corresponding API names. When enabled, this option will cause the system to use user-friendly display names for custom fields in the UI or API responses, making it easier for users to interpret the data. |
| UserDefinedViews | Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file. |
| UseSimpleNames | Specifies whether or not simple names should be used for tables and columns. |
Set this property to send the Accept-Language request header in HTTP requests, which is used by servers to determine the preferred language for content delivery.
The accepted values for this property follow the IETF BCP 47 standard for language tags, which typically include a language code, and optionally, a region code. If an unknown or unsupported locale is set, it is ignored. The Accept-Language header allows the client to specify one or more preferred languages, and the server can use this to provide localized content in the specified language(s).
Example values:
A Boolean property that indicates whether custom fields should be included in the column listing of the Issues table. When enabled, this option ensures that any custom fields added to the system are displayed as part of the issue metadata, providing a more comprehensive view of the issues.
Enabling this option will include custom fields in the list of columns displayed in the Issues table. Custom fields are user-defined fields that are not part of the default issue schema but are often used to capture additional data relevant to specific workflows or business needs. By default, this property is set to 'false', meaning custom fields are not included in the Issues table.
When this option is enabled, the system may need to retrieve additional metadata to display the custom fields, which could slightly impact performance, especially if there are many custom fields or if they are large in size.
Specifies whether custom field descriptions should be retrieved. Set this property to 'Columns' to retrieve descriptions for custom fields.
This property controls whether custom field descriptions are included in the retrieved metadata. The property takes effect only if IncludeCustomFields is set to 'true'.
When this property is set to 'Columns', it attempts to retrieve the descriptions for custom fields as well, which can be useful for understanding the context or purpose of custom fields in your Jira environment. Retrieving descriptions for custom fields requires administrator access to the Jira system, as this information may be restricted for non-administrative users. Note that enabling this option results in extra API calls to be made to retrieve the custom field descriptions, which could impact performance.
If the retrieval of descriptions fails (for example, due to permission restrictions), the driver reverts to the default behavior, where descriptions are null, and the reason for the failure is logged.
The options for this property are:
Specifies how to handle logical and comparison operators applied to Id and Key columns when constructing JQL filters. This property helps manage cases where invalid Id or Key values in JQL filters might otherwise lead to errors or unexpected results, particularly when paired with the UseJqlSearchEndpoint connection property on Jira Cloud.
This property determines whether certain logical and comparison operators are processed on the server or handled client-side for Id and Key columns.
When set to Server-Side (default):
When set to Client-Side, the following operators are handled client-side rather than being included in the JQL sent to the Jira API:
This avoids inconsistencies caused by strict server-side filtering, such as entire queries failing if a single invalid key is included in an IN clause. Additionally, when using the IN operator on Id or Key, the query will be split into multiple individual requests, one per value.
For example:
SELECT * FROM Issues WHERE Id IN (111, 112, 113)
This results in three separate API calls, one for each Id, ensuring valid results are returned even if some values are invalid. However, this client-side handling may result in longer query times due to executing multiple requests when using IN or retrieving and filtering large datasets locally due to the lack of server-side filtering.
Specifies the maximum number of rows returned for queries that do not include either aggregation or GROUP BY.
The default value for this property, -1, means that no row limit is enforced unless the query explicitly includes a LIMIT clause. (When a query includes a LIMIT clause, the value specified in the query takes precedence over the MaxRows setting.)
Setting MaxRows to a whole number greater than 0 ensures that queries do not return excessively large result sets by default.
This property is useful for optimizing performance and preventing excessive resource consumption when executing queries that could otherwise return very large datasets.
Specifies the number of concurrent requests that can be issued simultaneously. This property allows for the execution of multiple requests at the same time, which can improve overall performance by utilizing system resources more efficiently.
This property allows you to issue multiple requests simultaneously, thereby improving performance. By setting a higher value, you enable the system to process more requests in parallel, which can speed up operations that involve handling many requests, such as querying large datasets or interacting with APIs. However, be mindful that setting this value too high can lead to resource contention or overload potentially affecting the system's stability. A balance should be struck depending on the hardware and network capacity to avoid excessive strain on the server.
The default value is '20', meaning up to 20 concurrent requests can be issued by the system. Adjusting this value allows fine-tuning based on specific performance needs and system capabilities.
Specifies advanced connection properties for specialized scenarios. Use this property only under the guidance of our Support team to address specific issues.
This property allows advanced users to configure hidden properties for specialized situations, with the advice of our Support team. These settings are not required for normal use cases but can address unique requirements or provide additional functionality. To define multiple properties, use a semicolon-separated list.
Note: It is strongly recommended to set these properties only when advised by the Support team to address specific scenarios or issues.
| Property | Description |
| DefaultColumnSize | Sets the default length of string fields when the data source does not provide column length in the metadata. The default value is 2000. |
| ConvertDateTimeToGMT=True | Converts date-time values to GMT, instead of the local time of the machine. The default value is False (use local time). |
| RecordToFile=filename | Records the underlying socket data transfer to the specified file. |
Specifies the maximum number of records per page the provider returns when requesting data from Jira.
When processing a query, instead of requesting all of the queried data at once from Jira, the Sync App can request the queried data in pieces called pages.
This connection property determines the maximum number of results that the Sync App requests per page.
Note: Setting large page sizes may improve overall query execution time, but doing so causes the Sync App to use more memory when executing queries and risks triggering a timeout.
Specifies the pseudocolumns to expose as table columns, expressed as a string in the format 'TableName=ColumnName;TableName=ColumnName'.
This property allows you to define which pseudocolumns the Sync App exposes as table columns.
To specify individual pseudocolumns, use the following format:
Table1=Column1;Table1=Column2;Table2=Column3
To include all pseudocolumns for all tables use:
*=*
A Boolean property that determines whether renderable fields should return their rendered (HTML-formatted) values instead of the raw field values.
This property controls whether renderable fields in the Issues and related tables return HTML-rendered values or raw field data.
A Boolean property that determines whether the Comments and Attachments aggregate columns are exposed directly on the Issues table.
This property controls the exposure and behavior of the Comments and Attachments columns on the Issues table:
Note: The data returned by these aggregate columns may be partial, as the Jira API endpoint used for this operation returns only a limited number of the earliest comments and attachments. To retrieve the complete set of comments or attachments, query the Comments and Attachments tables directly. In addition, these columns are read-only and cannot be used in INSERT or UPDATE operations.
Specifies the maximum time, in seconds, that the provider waits for a server response before throwing a timeout error.
The timeout applies to each individual communication with the server rather than the entire query or operation. For example, a query could continue running beyond 60 seconds if each paging call completes within the timeout limit.
Timeout is set to 60 seconds by default. To disable timeouts, set this property to 0.
Disabling the timeout allows operations to run indefinitely until they succeed or fail due to other conditions such as server-side timeouts, network interruptions, or resource limits on the server.
Note: Use this property cautiously to avoid long-running operations that could degrade performance or result in unresponsive behavior.
Specifies the timezone of the Jira instance to use datetime filters effectively and retrieve results based on the specified timezone.
This property ensures that all date and time-related operations are performed according to the correct timezone, helping to align data with the user's local time. An example of an IANA timezone Id is 'America/New_York'.
You can find the timezone of your Jira Cloud by navigating to Settings > System > General configuration > Default user time zone. Setting the correct timezone ensures that any datetime filters used in queries or reports are aligned with the desired time zone, preventing errors caused by time discrepancies. If this property is left unset, the default timezone is applied, and datetime filters might not be adjusted to your local time zone.
Indicates whether a default ORDER BY clause should be applied when none is specified in the query. This helps ensure consistent sorting of results and prevents duplicate records from appearing in the output.
By default, the CData Sync App applies an ORDER BY clause when none is specified in the query. This ensures that records are returned in a predictable order and helps prevent duplicate records from appearing. However, this default behavior can significantly impact performance, especially for very large tables, as it requires sorting all the results before returning them.
The use of ORDER BY can slow down queries, especially when dealing with large datasets, as sorting large numbers of records is resource-intensive. The ORDER BY clause is applied to avoid the potential issue of duplicate records, particularly when querying large datasets where primary keys might not be unique in certain cases.
If your use case can tolerate the possibility of duplicate primary keys and you want to improve query performance, you can disable this property by setting it to 'false'. This preventd the system from automatically applying the ORDER BY clause, which may lead to faster results, particularly when working with large datasets.
A Boolean property that determines whether the display names for custom fields should be used instead of their corresponding API names. When enabled, this option will cause the system to use user-friendly display names for custom fields in the UI or API responses, making it easier for users to interpret the data.
This property determines whether custom fields are referenced by their display names or their API names.
Specifies a filepath to a JSON configuration file that defines custom views. The provider automatically detects and uses the views specified in this file.
UserDefinedViews allows you to define and manage custom views through a JSON-formatted configuration file called UserDefinedViews.json. These views are automatically recognized by the Sync App and enable you to execute custom SQL queries as if they were standard database views. The JSON file defines each view as a root element with a child element called "query", which contains the SQL query for the view.
For example:
{
"MyView": {
"query": "SELECT * FROM Projects WHERE MyColumn = 'value'"
},
"MyView2": {
"query": "SELECT * FROM MyTable WHERE Id IN (1,2,3)"
}
}
You can use this property to define multiple views in a single file and specify the filepath.
For example:
UserDefinedViews=C:\Path\To\UserDefinedViews.jsonWhen you specify a view in UserDefinedViews, the Sync App only sees that view.
For further information, see User Defined Views.
Specifies whether or not simple names should be used for tables and columns.
Jira tables can include special characters in their names that are typically not allowed in standard databases. This property makes the Sync App easier to use with traditional database tools.
Setting UseSimpleNames to True simplifies the names of the columns that are returned. It enforces a naming scheme where only alphanumeric characters and underscores are valid for displayed column names.
Notes:
LZMA from 7Zip LZMA SDK
LZMA SDK is placed in the public domain.
Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original LZMA SDK code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.
LZMA2 from XZ SDK
Version 1.9 and older are in the public domain.
Xamarin.Forms
Xamarin SDK
The MIT License (MIT)
Copyright (c) .NET Foundation Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
NSIS 3.10
Copyright (C) 1999-2025 Contributors THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
1. DEFINITIONS
"Contribution" means:
a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and b) in the case of each subsequent Contributor:
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
"Program" means the Contributions distributed in accordance with this Agreement.
"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
2. GRANT OF RIGHTS
a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the Program.
Contributors may not remove or alter any copyright notices contained within the Program.
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed. In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward. IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.