Integrate Lokalise with Jira issue and project tracker.

Ilya Krukowski avatar
Written by Ilya Krukowski
Updated over a week ago

This feature is available from the Essential plan and above.

Jira is a software development tool used by agile teams. In this guide you'll learn how to set up Jira Cloud and Jira Server apps, and how to manage your Jira app on Lokalise.

Enabling Jira Cloud app

To get started with the Jira Cloud app, open your Lokalise project and proceed to Apps:

Find Jira Cloud in the list, click on it and then and click Install. Click Install once again and login with your Atlassian account. Give Lokalise access to your workspace and you are good to go!

Enabling Jira Server app

To get started with the Jira on-premises app, perform the following steps:

  • Open your translation project on Lokalise and proceed to Apps.

  • Find Jira Server in the list and click Install.

  • Click Install once again. You'll see the following screen:

  • Please note that providing the Internal hostname is optional. This configuration parameter was introduced for customers that utilize some kind of proxy to isolate their Jira Server instance from the Internet. Please refer to the Note on Internal hostname option to learn more.

  • Click on the "following public key" link and download the public key to your PC.

  • Proceed to Jira, click on the Cog icon in the top right corner of the screen and choose Applications (you have to be an admin to perform this action):

  • Choose Application links from the left menu and enter https://lokalise.com in the URL text field. Once you are ready, click Create new link:

  • Enter the Application name (for example, "Lokalise") and click Continue:

  • After the application is created, click on the Pen icon next to its name:

  • Switch to the Incoming Authentication tab and enter the following info:

    • Consumer key: provide a combination of random letters and numbers. This key should then be supplied to Lokalise.

    • Consumer name: enter "lokalise"

    • Public key: paste the public key obtained from Lokalise earlier (you can view the key by opening the downloaded file with any text editor)

  • Hit Save once you are ready and return to Lokalise.

  • Enter your Jira URL and the consumer key that you provided when setting up Incoming Authentication.

  • Click Authorize and allow access for Lokalise:

Note on the Internal hostname option

The Internal hostname option should be provided only if you are using a proxy and your Jira Server instance is not accessible from the Internet.

Let's say you have a Jira Server available through VPN as jira.example.com. Lokalise cannot reach your instance because a VPN service is used. However, you can introduce a different URL, for example external.jira.example.com that proxies requests to internal instances and is available from the Internet.

But in this case you'll end up with mismatching URLs: the Site URL in Jira Server System settings is configured as jira.example.com but requests are sent to external.jira.example.com. This will result in request authorization failure. Therefore we've introduced the Internal hostname setting so that you can provide both the URL that is available from Lokalise and the originally configured URL from Jira Server system settings. Therefore, in the described scenario the URL setting should be set to external.jira.example.com and the Internal hostname — to jira.example.com.

There are two important things you should be aware of:

  • If you set the Internal hostname option then for OAuth token exchange you will be redirected to the specified host rather than to the URL specified in the first field.

  • Internal hostname configuration parameter expects users to provide just the hostname, without the http:// and the /path/to/somewhere part. Therefore the protocols in both URLs must not change between proxy and service itself. Returning to the scenario above, both jira.example.com and external.jira.example.com must be accessible only via HTTP or only via HTTPS.

Working with Jira app

Once the initial setup is completed, you'll see the following screen:

You can configure the following options:

  • Organization — your Jira organization that you would like to integrate Lokalise with.

  • Project — Jira project within the chosen organization.

  • Create a new Jira issue when — tick one or more events that should trigger creation of a new Jira issue (ticket). The created issues will be automatically linked to a trigger event.

  • Change Jira issue status when — tick one or more events that should trigger Jira issue update. Please note that this only works for the issues that were initially linked to a certain event.

  • Delete Jira issue when — tick one or more events that should trigger Jira issue deletion. Please note that this only works for the issues that were initially linked to a certain event.

  • Add comment to the Jira issue when translation task language is completed — this option applies to translation tasks only. As long as your tasks may contain multiple target languages, each language will probably be closed separately once all the corresponding items are translated. Therefore, when this option is checked the corresponding Jira issue will be updated with a brief comment mentioning which language was closed in the current task.

When enabling one of the options, you will be presented with the dropdowns to further customize the chosen options:

Please note that the elements provided in the dropdowns will highly depend on your Jira configuration.

To add another handler, click on the Add another handler button in the bottom of the page:

Here's an example of a Jira issue created for a new translation task on Lokalise:

Note on supported issue types

Please be aware that only the issue types that comply with the following requirements are available in the app.

The issue type cannot be a subtask.

The following fields must always be present in the issue type (otherwise the issue type will the skipped):

  • summary

  • issuetype

  • project

  • description

  • reporter

If the field is not one of the standard fields listed below, then it must be set to not required:

  • summary

  • issuetype

  • project

  • description

  • reporter

Did this answer your question?