Jira Connector Smartsheet

Posted onby

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.

Smartsheet

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:

ServiceClassRegions
Logic AppsStandardAll Logic Apps regions except the following:
- Azure China regions
Power AutomatePremiumAll Power Automate regions except the following:
- US Government (GCC High)
- China Cloud operated by 21Vianet
Power AppsPremiumAll Power Apps regions except the following:
- US Government (GCC High)
- China Cloud operated by 21Vianet
Contact
NameMicrosoft
URLMicrosoft LogicApps Support
Microsoft Power Automate Support
Microsoft Power Apps Support
Connector Metadata
PublisherMicrosoft
Websitehttps://www.atlassian.com/software/jira
Privacy policyhttps://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:

DefaultRequired parameters for creating connection.All regionsNot 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.

NameTypeDescription
JIRA instancestringThe url where your JIRA instance is hosted (must support https).
Username or EmailstringYour JIRA username. For JIRA Cloud you need to use a valid email address.
API tokensecurestringYour API token (https://id.atlassian.com/manage/api-tokens).

Throttling Limits

NameCallsRenewal Period
API calls per connection10060 seconds
Frequency of trigger polls160 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.

This operation is used to create a new issue.

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.

This operation is used to retrieve a list of projects for your JIRA instance.

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

NameKeyRequiredTypeDescription
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

NameKeyRequiredTypeDescription
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

NameKeyRequiredTypeDescription
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

NameKeyRequiredTypeDescription
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

NameKeyRequiredTypeDescription
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

Software

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

NameKeyRequiredTypeDescription
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

NameKeyRequiredTypeDescription
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

NameKeyRequiredTypeDescription
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

NameKeyRequiredTypeDescription
projectKey True string

Unique key of the project to look for new issues.

Returns

Issue
FullIssue

Definitions

CreateProjectResponse

NamePathTypeDescription
id integer

Unique id of the project.

Project Key
key string

Unique key of the project.

CreateIssueResponse

NamePathTypeDescription
id string

Unique identifier of the issue.

Issue Key
key string

Unique key of the issue.

ListProjects_ResponseV2

ProjectArray

NamePathTypeDescription
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

NamePathTypeDescription
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

NamePathTypeDescription
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

NamePathTypeDescription
id string

Unique id of the comment.

Comment Body
body string

Body of the comment.

created date-time

yyyy-MM-ddTHH:mm:ss.fffZ