Integration with Jira

The Jira integration shows Jira tasks in the FlexiProject project schedule. Each project can pull tasks from one or several Jira projects, and the list of pulled tasks is narrowed by task types or a JQL filter. Jira tasks stay synchronized with Jira in the schedule; their fields are read-only.

An administrator switches the integration on and configures it in System settings > Jira (see System settings). Linking Jira users with FlexiProject users lets the schedule and the resource workload show the owners of Jira tasks.

Connecting to Jira

The connection key in Jira

  1. In Jira, click the avatar in the top right corner and choose Manage your account.
  2. Go to the Security tab and, in the API token section, click Create and manage API tokens.
  3. Click Create API token, enter a name (for example “FlexiProject”) and click Create.
  4. Copy the generated key. Jira shows it only once.

Switching the integration on in FlexiProject

  1. Open System settings (main menu) and go to the Jira page. The Jira integration card appears.
  2. Switch the integration to Enable.
  3. Enter the Server address — the address at which your organization’s Jira opens, for example https://name.atlassian.net.
  4. Enter the User email — the same one the user who generated the key is signed in with.
  5. Paste the copied key in the Key field.
  6. Click Save. With correct data the message Connection to Jira server is valid appears; with incorrect data, Failed to connect to Jira server or Invalid Jira server address.

The Test connection button checks the connection status at any time.

System settings, Jira tab with the server address, user e-mail and key fields and the Test connection button highlighted

Note: switching the integration off with Disable removes all links of projects with Jira and all Jira tasks from schedules. This cannot be undone, and switching it on again requires linking the projects again.

Linking Jira users

Under the connection parameters is the Users table with the columns Jira name, Jira Id and User (the linked FlexiProject user). A filter above the table narrows the list. With an active connection, FlexiProject keeps trying to link Jira users with FlexiProject users by matching e-mail addresses. When Jira shares an e-mail address and the same address exists in FlexiProject, the avatar and name of the linked user appear next to the Jira name. Whether Jira shares addresses depends on its global security settings and on the Jira user’s privacy settings.

Jira tab with the Importing Jira users button and the Users table with Jira name, Jira Id and User columns highlighted

Links created automatically update themselves. Links added manually do not: after a change of surname or e-mail address you have to correct them by hand.

Linking manually

  1. Hover over a row without a linked user and click the three-dot symbol.
  2. Choose Connect. The User link window opens.
  3. Pick the FlexiProject user and click Save.

Removing a link

  1. Hover over a row with a linked user and click the three-dot symbol.
  2. Choose Disconnect. The question Are you sure you want to remove the link? appears.
  3. Confirm with Save.

Importing the list of Jira users

  1. Generate a CSV file of users in the Atlassian administration panel (admin.atlassian.com), on the users tab, with the export command. The file must contain the fields User id, User name and email.
  2. Click Importing Jira users under the table header. The import window opens.
  3. Pick the file or drag it into the window and click Save. The list of Jira users updates, and the links found are filled in automatically.

Rows with incorrect values are skipped, and the application lists them after the import; an incorrect file ends with a message about the wrong CSV format.

Jira tasks in the project schedule

Linking a project with Jira

  1. Open the project, Schedule tab.
  2. Click Settings and choose Jira connection (the item is visible once the integration is on). The Jira integration window opens.
  3. Enter the Jira Project key. To pull tasks from several Jira projects, enter the keys separated by commas.
  4. Click Link with Jira. The Jira import window opens.
  5. Choose how to pull data in the Data download part: Type of tasks (only with one Jira project) or JQL filter (see JQL filter).
  6. For task types: tick the task types on the hierarchy levels (at least one type — otherwise the message At least one level must be marked appears), then Save. Dependencies between task types are turned into a task hierarchy in the schedule when possible.

When the download succeeds, Jira tasks appear in the project, and a Jira icon appears next to the project name; clicking it opens the Jira project in a new tab. The download can fail, for example when the user given in the connection lacks permissions or the JQL has a syntax error (Error in JQL query). The application then shows a message. A key that does not exist or that you have no access to ends with Invalid project key, project does not exist or you don’t have access to it.

Jira integration window of a project with the Project key field and the Link with Jira button highlighted

Changing how tasks are pulled

The same Jira connection command opens the Jira import window for an already linked project, where you change the task types or the JQL query.

Removing Jira tasks from a project

  1. Open the Jira import window with the Jira connection command.
  2. Click Delete and confirm in the Delete link to Jira window. The message warns that deleting the link deletes all the links on the schedule and that it is irreversible.

After deletion, Jira tasks disappear from the schedule, and the project is no longer marked as connected to Jira.

JQL filter

JQL (Jira Query Language) lets you pull into a project exactly the Jira tasks you need, also from several Jira projects at once.

  1. In Jira, prepare a filter in the Filters tool. The JQL code is visible after you switch the filter view from basic to JQL.
  2. Copy the JQL code.
  3. In FlexiProject, in the Jira import window, choose JQL filter and paste the code into the text field.
  4. Click Save.

A query with a syntax error is rejected with the message Error in JQL query. The filter only affects which tasks reach the schedule; at every synchronization, tasks outside the filter result disappear from the schedule.

Jira tasks in the schedule

Jira tasks land at the end of the schedule with their structure preserved and carry a Jira icon in the schedule. They update automatically in a periodic synchronization; the fields that come from Jira — Name, Description, Progress, Owner and the task hierarchy — are read-only. You cannot change the progress or the owners of such a task (the application says It is not possible to change the status of tasks originating from Jira and It is not possible to change the owners of tasks originating from Jira), and such tasks are not copied when a project is cloned. A Jira task cannot be a parent of FlexiProject tasks. You can reorder tasks under a Jira parent task, and Jira summary tasks with their subtasks can be inserted into the schedule structure.

For a linked project, the schedule has three extra columns: Jira Id (a click opens the task in Jira in a new tab), Jira Status and Jira Type. A task’s progress follows from the status category in Jira: to do — 0%, in progress — 50%, done — 100%.

The task owner comes from the user linking (see Linking Jira users). When a Jira user is linked with a FlexiProject user, the schedule shows their avatar and name, and the user is added to the project. Without a link you see a grey avatar icon with the Jira name. The schedule is described in Project schedule.