Jira Connector Smartsheet
This article provides server and firewall requirements that will need to be in place, prior to configuring a self-hosted server on the Smartsheet for Jira Connector. If you are not using a firewall and are looking for Jira Connector setup instructions, please view our Jira Cloud and Self-Hosted Setup article in the Help Center.
There's also a live data connector for connecting smartsheet data to analytics programs such as Tableau, Excel, Qlik, and Spotfire. You can also add Jira and Salesforce connectors for an additional.
I'm new using the JIRA Smartsheet and we are trying to connect a Kanban JIRA Board with our own Smartsheet. On this process, I'd got the following message in my sheet: 'Filtered Out by Connector—Not Synced'. This is causing that those rows are not longer syncing issues in JIRA. On that idea, as a context there are happening two scenarios. Smartsheet for Jira Connector: Admin Setup (Cloud and Self-Hosted) Use the Smartsheet for Jira Connector to create workflows to sync information between Smartsheet and one or more Jira instances.
Before You Begin: Requirements
To ensure a successful setup of the Smartsheet for Jira Connector, your Self-Hosted Jira server must meet the following requirements:
- Jira version 7.2 or higher for Self-Hosted Jira servers.
- Your Jira server must be configured to allow Smartsheet to connect to it from the Internet: A secure (https) connection is required.
NOTE: Smartsheet supports a specific set of standard CA (certificate authority) certificates that come with Java. - Expired or incomplete certificate authorities will be considered invalid. Inquire with your primary Smartsheet contact before or during purchase.
- If you’re using a firewall, please also review Configuring the Firewall below for additional requirements.
Configure Your Firewall to Work with the Connector
You may need to change firewall settings to enable communication between your Self-Hosted Jira server and the cloud-based Smartsheet for Jira Connector. Keep the following in mind:
- The Smartsheet for Jira Connector runs in the cloud and needs to be able to connect to your Jira server. If your Jira server is protected by a firewall, your organization’s IT Administrator may need to modify the firewall configuration to enable Smartsheet to connect to your Jira server's REST API from the Internet.
- By default, Jira uses port 8080 or port 443. However, since it is possible for a Jira Administrator to change the port Jira uses, it is necessary to confirm with your Jira Administrator which port your Jira server uses.
- The server must support https connections (to ensure security, http without https is not supported).
- The certificate used to enable https connections to the server must be valid and must be issued by a well-known certificate authority.
Is it necessary to open my firewall to use the Smartsheet for Jira Connector?
Yes—since Smartsheet for Jira runs on the Internet, it must be possible for connections from the Internet to reach the Jira server’s REST API. You have the following options for exposing your Jira server to Smartsheet over the Internet:
Option 1: Allow Connections to Jira
The Jira REST API is a custom port on the Apache Tomcat host that Jira was deployed on. Since the REST API endpoints are on a separate path from the Jira User Interface and login pages, you do not need to permit access to the Jira server’s UI or login screens from the Internet.
You can restrict incoming connections to your Jira server to only be able to connect to the following paths on your Jira server:
- https://<yourJirahost.com>/<context>/rest/*
- https://<yourJirahost.com>/<context>/auth/*
- https://<yourJirahost.com>/<context>/plugins/*
You can restrict and prevent Internet connections to all other paths on your Jira server.
Option 2: Reverse Proxy
If you are using a reverse proxy in your firewall, Jira must be aware of the proxy to ensure that the correct addresses and URLs are sent back to the client. If you receive an OAuth Signature Rejected error while setting up a connection, or for more information on how to correctly configure Jira when a proxy server is being used see Atlassian's documentation at https://confluence.atlassian.com/display/APPLINKS/OAuth+troubleshooting+guide#OAuthtroubleshootingguide-OAuthsignaturerejected
Atlassian provides the following recommended resource how to secure Jira, even when it’s publicly exposed to the Internet:
How can I verify that the connection to my Jira server is from Smartsheet and is secure?
We take the following measures to ensure the security and authentication of the Smartsheet for Jira Connector and your Jira server.
Allowing HTTPS/TLS Traffic
Your Jira server must allow connections over HTTPS/TLS using a certificate issued from a well-known credible certificate authority. This measure ensures the following:
- Since your certificate is private and only available to you, when Smartsheet for Jira connects to your Jira server, our system knows that Smartsheet is connecting to your Jira server and hasn’t been redirected by an attacker to another server and that there is no man-in-the-middle (MITM) attack in progress.
- By using HTTPS/TLS, all traffic between Smartsheet for Jira and your Jira server is encrypted.
Jira Application Link Authentication
When the Jira Administrator sets up their connection between the Smartsheet for Jira Connector and their Jira server, Smartsheet generates a RSA Public/Consumer key pair that is unique to each organization instance and the Jira server that is registered with Smartsheet for Jira.
- The Jira Connector Admin will paste the public key into their Jira server to set up the 'Application Link'. In every request/call that Smartsheet for Jira makes to the organization’s Jira server, Smartsheet for Jira signs the request with Smartsheet’s Consumer key, which Jira verifies using the public key copied when registering the Application Link.
- Use of RSA Public/Consumer keys ensures that only Smartsheet for Jira is making connections to the Jira server. This is because no other system has the Consumer key corresponding to the Public key, which is used to authenticate every API request sent to Jira. This ensures that no other person or system on the Internet will be able to have authenticated access to your Jira server’s REST API.
Are there IP addresses used with Jira that I can add to the Allowlist in our firewall?
The measures taken to ensure security between the Smartsheet and Jira applications are outlined above (How to Allow Connections to Jira and Security Detail) and we believe that adding the IP address to the Allowlist, or a range of IP Addresses, of incoming connections does not offer any meaningful improvement to security. Smartsheet publishes a DNS A record at aws.relay.smartsheet.com which can be added to the Allowlist in your firewall. The DNS A record will resolve to the Jira Connector's outgoing IP Address.
We do not recommend that you resolve this DNS A record to the underlying IP address and add the IP addresses to the Allowlist because if we change it, which is possible to occur, then Smartsheet will no longer be able to connect to your Jira server. By adding the DNS A record to your Allowlist, your firewall rules will continue to permit Smartsheet for Jira to connect when the underlying IP addresses change.
Troubleshooting Self-Hosted Connection Error Messages
Error: Connection refused by Jira host. Please verify that the Jira host URL is correct and accessible.
You’ll receive this error message if the Connector is unable to access your Jira server, or the Public Key and Consumer Key have been entered incorrectly. Since Smartsheet for Jira is on the Internet, it must be possible for connections from the Internet to reach the Jira server’s REST API. You will need to ensure that you are using a Port which allows for HTTPS (e.g. 8080 or 443), as HTTP is not supported.
Error: Unable to find a valid SSL certificate on the Jira host. Please have your Jira Administrator install a valid certificate (note that expired certificates are considered invalid).
In order to use the Smartsheet for Jira Connector with a Self-Hosted server, you will need to use a certificate from a trusted certificate authority, and the certificate must be valid. Some examples of when a certificate authority will be considered invalid are:
The certificate is not installed correctly.
The intermediate certificate chain is missing.
- Certificate is from a trusted authority, but may be signed by an untrusted authority.
If your Jira server is publicly available, or your firewall is temporarily open, you can use a third-party SSL test tool (for example, SSL/TLS server assessment service provided by Qualys SSL Labs (www.ssllabs.com)) to check if your certificate has been installed correctly. If you notice any errors specifying the certificate is incomplete, you may need to contact the certificate supplier directly for assistance in resolving common errors, or for information on where to download missing or incomplete certificates.
IMPORTANT: Although your certificate may be installed correctly, it still may not be a certificate that is supported by Smartsheet. If you still receive the above error after you’ve checked your certificates, please reach out to Smartsheet Support.
SMARTSHEET IS NOT RESPONSIBLE OR LIABLE FOR THE AVAILABILITY, ACCURACY, FUNCTIONALITY, ADHERENCE TO THIRD PARTY POLICIES, OR LEGALITY OF ANY THIRD PARTY SERVICES, WEBSITES OR OTHER RESOURCES REFERENCED IN THIS ARTICLE, AND SMARTSHEET DOES NOT ENDORSE ANY SUCH SERVICES, WEBSITES OR RESOURCES, OR THE CONTENT, PRODUCTS OR SERVICES AVAILABLE THEREFROM. YOU ASSUME ALL RISK ARISING FROM YOUR USE OF ANY SUCH THIRD PARTY SERVICES, WEBSITES OR RESOURCES, AND YOU ARE SOLELY RESPONSIBLE FOR COMPLIANCE WITH ANY APPLICABLE TERMS OF USE.
-->JIRA is a software development tool for agile teams to plan, track, and release world-class software. Connecting JIRA issues to the rest of your tools helps break down barriers and unleash the potential of your team.
This connector is available in the following products and regions:
Service | Class | Regions |
---|---|---|
Logic Apps | Standard | All Logic Apps regions except the following: - Azure China regions |
Power Automate | Premium | All Power Automate regions except the following: - US Government (GCC High) - China Cloud operated by 21Vianet |
Power Apps | Premium | All Power Apps regions except the following: - US Government (GCC High) - China Cloud operated by 21Vianet |
Contact | |
---|---|
Name | Microsoft |
URL | Microsoft LogicApps Support Microsoft Power Automate Support Microsoft Power Apps Support |
Connector Metadata | |
---|---|
Publisher | Microsoft |
Website | https://www.atlassian.com/software/jira |
Privacy policy | https://www.atlassian.com/legal/privacy-policy |
To use this integration, you will need a Jira account.
Known Issues and Limitations
- For authentication, you need to use an API token. To get a token, go to this link.
- Basic authentication with passwords is deprecated. For more information, see jira API documentation.
- JIRA Server behind a firewall or with REST API disabled is not supported.
- When creating a connection to JIRA Cloud, you need to use a valid email address for username. Otherwise, the connection will not be established, although it looks like it's successful.
- Usernames in JIRA Cloud are deprecated and cannot be used anymore for fields such as Reporter. For more information, see Atlassian Cloud documentation.
- As per the Jira API documentation, jira API returns maximum 50 projects, so top 50 projects will be listed under dropdown in actions/triggers.
- Pagination was implemented on
Get projects
. It will return all projects. - The
Create a new issue (V2)
action supports only simple types such as string, number, date, and datetime in the dynamic schema. If there are complex fields, the operation will fail with the following error: 'EXPECTED502: Field '{key}' of type '{type}' is not supported.'.
Creating a connection
The connector supports the following authentication types:
Default | Required parameters for creating connection. | All regions | Not shareable |
Default
Applicable: All regions
Required parameters for creating connection.
This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.
Name | Type | Description |
---|---|---|
JIRA instance | string | The url where your JIRA instance is hosted (must support https). |
Username or Email | string | Your JIRA username. For JIRA Cloud you need to use a valid email address. |
API token | securestring | Your API token (https://id.atlassian.com/manage/api-tokens). |
Throttling Limits
Name | Calls | Renewal Period |
---|---|---|
API calls per connection | 100 | 60 seconds |
Frequency of trigger polls | 1 | 60 seconds |
Actions
Add comment | This operation is used to add a comment to an existing JIRA issue. |
Create a new issue (V2) | This operation is used to create a new issue. |
Create a new issue [DEPRECATED] | This action has been deprecated. Please use Create a new issue (V2) instead.
|
Create a new project | This operation is used to create a new JIRA project. |
Get issue by key | This operation is used to retrieve the issue object for a given issue Key. |
Get projects | This operation is used to retrieve a list of projects for your JIRA instance. |
Get projects [DEPRECATED] | This action has been deprecated. Please use Get projects instead.
|
List users by project | This operation is used to retrieve a list of all users associated with a project. |
Add comment
This operation is used to add a comment to an existing JIRA issue.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
issueKey | True | string | Unique Key of the issue to add a comment to. | |
Comment | body | True | string | Body of the comment. |
Returns
Create a new issue (V2)
This operation is used to create a new issue.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
projectKey | True | string | Pick a project to create the issue in. | |
Issue Type Id | issueTypeIds | True | string | Pick an issue type. |
item | dynamic | Item |
Returns
- Body
- CreateIssueResponse
Create a new issue [DEPRECATED]
This action has been deprecated. Please use Create a new issue (V2) instead.
This operation is used to create a new issue.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
projectKey | True | string | Pick a project to create the issue in. | |
Issue Type Id | id | True | string | Pick an issue type. |
summary | True | string | Brief description of the issue. | |
Components | components | string | A system field that is multiple values addressed by 'name' (e.g. Active Directory, Network Switch). | |
id | string | Person reporting the issue. | ||
Description | description | string | A detailed description of the issue. | |
id | string | Pick a priority for the issue. | ||
Labels | labels | string | Enter a comma separated list of labels | |
id | string | Agent the issue is assigned to. | ||
Parent Issue Id | id | string | Set the parent for a sub-task. | |
customfield_10119 | string | Epic name is required for epic issue type. This field matches 'customfield_10011' field on JIRA server. |
Returns
- Body
- CreateIssueResponse
Create a new project
This operation is used to create a new JIRA project.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
key | True | string | The unique key, starts with a capital letter. | |
Name | name | True | string | Title of the project. |
projectTypeKey | True | string | Project type key. | |
Lead Id | leadAccountId | True | string | Id of Project lead. |
description | string | Verbose description of the project. |
Returns
- Body
- CreateProjectResponse
Get issue by key
This operation is used to retrieve the issue object for a given issue Key.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
issueKey | True | string | Unique Key of the issue. |
Returns
- Issue
- FullIssue
Get projects
This operation is used to retrieve a list of projects for your JIRA instance.
Returns

Get projects [DEPRECATED]
This action has been deprecated. Please use Get projects instead.
This operation is used to retrieve a list of projects for your JIRA instance.
Returns
Smartsheet For Jira
List users by project
This operation is used to retrieve a list of all users associated with a project.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
projectKey | True | string | Unique key of the project. |
Returns
- Items
- UserList
Triggers
When a new issue is created | This operation triggers when a new issue is added to the given project. |
When a new issue is returned by a JQL query | This operation triggers when a new issue appears in the latest 100 results of a JQL query. |
When an issue is closed | This operation triggers when an existing issue is closed in the given project. |
When a new issue is created
This operation triggers when a new issue is added to the given project.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
projectKey | True | string | Unique key of the project to look for new issues. |
Returns
- Issue
- FullIssue
When a new issue is returned by a JQL query
This operation triggers when a new issue appears in the latest 100 results of a JQL query.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
jql | True | string | Query to use. |
Returns
- Issue
- FullIssue
When an issue is closed
This operation triggers when an existing issue is closed in the given project.
Parameters
Name | Key | Required | Type | Description |
---|---|---|---|---|
projectKey | True | string | Unique key of the project to look for new issues. |
Returns
- Issue
- FullIssue
Definitions
CreateProjectResponse
Name | Path | Type | Description |
---|---|---|---|
id | integer | Unique id of the project. | |
Project Key | key | string | Unique key of the project. |
CreateIssueResponse
Name | Path | Type | Description |
---|---|---|---|
id | string | Unique identifier of the issue. | |
Issue Key | key | string | Unique key of the issue. |
ListProjects_ResponseV2
ProjectArray
Name | Path | Type | Description |
---|---|---|---|
id | string | The unique Id of the project. | |
Project Key | key | string | The unique key of the project. |
name | string | Name of the project. | |
Project Type Key | projectTypeKey | string | The unique key of the project type. |
Jira Connector Smartsheet Template
FullIssue
Name | Path | Type | Description |
---|---|---|---|
id | string | Unique id of the issue. | |
Issue Key | key | string | Unique key of the issue. |
self | string | Browse to the issue using this URL. | |
Issue Type Id | fields.issuetype.id | string | Unique id of the issue type. |
fields.issuetype.description | string | Verbose title of the issue type. | |
Issue Type Icon URL | fields.issuetype.iconUrl | string | Icon associated with the issue type. |
fields.issuetype.name | string | Title of the issue type. | |
Time Spent | fields.timespent | integer | The time spent on an issue |
fields.project.id | string | The unique id of the project. | |
Project Key | fields.project.key | string | The unique key of the project. |
fields.project.name | string | Title of the project. | |
Project Type Key | fields.project.projectTypeKey | string | Unique key of the project type. |
fields.aggregatetimespent | integer | The aggregate time spent on sub-tasks. | |
URL of the issue resolution | fields.resolution.self | string | |
fields.resolution.id | string | ||
Description of the issue resolution | fields.resolution.description | string | |
fields.resolution.name | string | ||
Resolution Date | fields.resolutiondate | date-time | yyyy-MM-ddTHH:mm:ss.fffZ |
fields.workratio | integer | The percentage of work logged vs the issue estimate. | |
Created Date | fields.created | date-time | yyyy-MM-ddTHH:mm:ss.fffZ |
fields.priority.iconUrl | string | Icon associated with the issue priority. | |
Priority Name | fields.priority.name | string | Title of the priority. |
fields.priority.id | string | Id of the issue priority. | |
Time Estimate | fields.timeestimate | integer | Time remaining estimated time in seconds. |
fields.aggregatetimeoriginalestimate | integer | The original sum of all sub-task time estimates in seconds. | |
Assignee Id | fields.assignee.accountId | string | Person a issue is assigned to. |
fields.assignee.key | string | User key of the person issue is assigned to. | |
Assignee Email | fields.assignee.emailAddress | string | Email of the person issue is assigned to. |
fields.assignee.displayName | string | Display name of the person issue is assigned to. | |
Updated Date-Time | fields.updated | date-time | yyyy-MM-ddTHH:mm:ss.fffZ |
fields.status.description | string | Issue status. | |
Status Icon URL | fields.status.iconUrl | string | Issue status. |
fields.status.name | string | Issue status. | |
Status Id | fields.status.id | string | Issue status. |
fields.status.statusCategory.id | integer | Issue status category. | |
Status Category Key | fields.status.statusCategory.key | string | Issue status category. |
fields.status.statusCategory.colorName | string | Issue status category. | |
Status Category Name | fields.status.statusCategory.name | string | Issue status category. |
fields.timeoriginalestimate | integer | The original time estimate in seconds. | |
Description | fields.description | string | Issue description. |
fields.aggregatetimeestimate | integer | Time sum of all sub-tasks remaining estimated time in seconds. | |
Summary | fields.summary | string | Title of the issue. |
fields.components | array of object | A system field that is multiple values addressed by 'name' (e.g. Active Directory, Network Switch). | |
Component Id | fields.components.id | string | |
fields.components.name | string | ||
Creator Id | fields.creator.accountId | string | User who created the issue. |
fields.creator.key | string | Unique key of the user who created the issue. | |
Creator Email | fields.creator.emailAddress | string | Email of the user who created the issue. |
fields.creator.displayName | string | Name of the user who created the issue. | |
Reporter Id | fields.reporter.accountId | string | User who reported the issue. |
fields.reporter.key | string | Unique key of the user who reported the issue. | |
Reporter Email | fields.reporter.emailAddress | string | Email of the user who reported the issue. |
fields.reporter.displayName | string | Display name of the user who reported the issue. | |
Aggregate Progress Completed | fields.aggregateprogress.progress | integer | The total progress completed of all sub-tasks in seconds. |
fields.aggregateprogress.total | integer | The total sum of all estimated sub-task effort. | |
Aggregate Progress Percent | fields.aggregateprogress.percent | integer | The percent of aggregate completed progress in relation to estimated effort. |
fields.duedate | date-time | yyyy-MM-ddTHH:mm:ss.fffZ | |
Progress Completed | fields.progress.progress | integer | The progress complete in seconds. |
fields.progress.total | integer | The estimated effort. | |
Progress Percent | fields.progress.percent | integer | The percent of completed progress in relation to estimated effort. |
fields.customfield_10119 | Epic name is required for epic issue type. This field matches 'customfield_10011' field on JIRA server. |
UserList
Name | Path | Type | Description |
---|---|---|---|
accountId | string | Id of the project member. | |
Key | key | string | Unique key associated with the user. |
emailAddress | string | Email address of the user. | |
Display Name | displayName | string | Full name of the user. |
CommentResponse
Name | Path | Type | Description |
---|---|---|---|
id | string | Unique id of the comment. | |
Comment Body | body | string | Body of the comment. |
created | date-time | yyyy-MM-ddTHH:mm:ss.fffZ |