A Jira instance may consists of multiple projects, each of which may have issues and each of the issues may have comments and labels.

For importing this data, it is presumed that you have:

  • an administrator account for your Curiosity application

  • an administrator account for enabling access to your Jira instance

This connector will import the projects, issues, comments and labels from Jira, including text extracted from the source issues and links to the original pages in Jira. You may search for content within these just as with any other node.

In order to retrieve information from your Jira instance, you must create an Atlassian Application that Curiosity may use to request the data via.

To do this, while logged in as a User that has administrative privileges for the Jira instance -

Click on Create app and then select OAuth 2.0 (3LO) integration.

Enter a descriptive name (such as "Curiosity Import"), tick the box to agree to the Atlassian developer terms and then click Create.

Note that the "Distributed to" status of the application is shown as "development" and that there is an option to "Make your app public" if you click on the "Distribution" open in the left hand side menu that will allow you to share it with people outside of your company. This is not required for the purposes of the Curiosity Jira Import process and so this application may remain private and "Distributed to development" indefinitely.

Click on Settings in the left hand side menu and copy the Client ID and Secret for later.

Click on the Authorization link in the left hand side menu and then click Configure for the OAuth 2.0 (3LO) line.

You need to tell the authorization process how to get back to Curiosity after a successful login, which is the purpose of the "Callback URL" value. The format of it is:

{domain}/api/atlassianimportauth/completed-login-attempt

If your application is hosted by Curiosity then it will look something like this:

https://example.curiosity.sh/api/atlassianimportauth/completed-login-attempt

If you have installed a local instance of the application with the default settings then it will look like this:

http://localhost:8080/api/atlassianimportauth/completed-login-attempt

Enter the appropriate value and click Save changes.

You will now be information that "Your app doesn't have any APIs" and there is a link to Add APIs in that message. Click it (or click the Permissions in the left hand side menu).

Click Add for the Jira platform REST API and then click the Configure button for that API. This will show a list of "scopes" for the application - these define what the application may or may not do.

Click Add for the View Jira issue data option (the View user profiles open should have been added automatically), this will allow Curiosity to read the issues but it does not require any writing permissions.

Now to configure things in the Curiosity application. Click the menu button at the top left, then click Connect Sources and then Jira.

Click + Add and enter descriptive names for the "Name" and "Source", enter the URL for the root of the Jira instance, the Client ID, and the Client Secret that you copied earlier. For this example, it may look like this:

Click Save.

Now the new task will appear in the list of Jira Tasks.

Access via the Atlassian application must be authorized. This has only become possible now that the task has been configured in its initial state. Click on the title of the task that you just created and note that there is now a red Authorize button alongside Save to click to authorize access -

This will redirect you to an Atlassian site where you should still be logged in as the User that had the admin privileges required to create the Atlassian application earlier.

Note that this page highlights that the application is in development mode and "may post a risk to your personal data". As you configured this application, you can be confident that this will not be the case. The list of permissions enabled for the application are listed needed the top as a reminder that this application can only read data from your Jira instance and not edit anything.

Click Accept.

You will be redirected back to the Curiosity system and you will see that the Authorize button has been replaced with a key icon to indicate that your account has been authorized for data to be imported into Curiosity.

The task is now ready to be run.

Click Play to trigger it immediately.

When you do so, the "Status" message at the bottom of the task container will change to indicate that has started running and when:

When the import has completed, the status text in this view will automatically be updated - indicating how long it took to run and whether any errors were encountered in the import or not.

If you want to see more details from the import - either live, as the import is occurring, or to see more details about a previously-run import, click the Logs button (the "five lines" icon to the right of the recycle bin).

If the import is still running when the logs window is open then it will be updated automatically.

Did this answer your question?