Skip to content

Making Jira Transition IDs easier to configure

Problem to solve

Configuring the Jira project integration with GitLab requires the user to go to their Jira instance, grab those transition IDs by Viewing Source on a configuration page in that UI, and then copy/paste those IDs (which are raw integers) in to a list inside of GitLab's UI. This is, needless to say, not a great experience.

Every conversation I've had with customers and even GitLab internal users have noted that this configuration process is esoteric and easy to get wrong. The right solution should be to configure this setting through a fully-fledged UI that doesn't require them to visit their Jira instance at all.

Intended users

Anyone currently having to configure the Jira project integration or Jira service template. (And in the near future, anyone configuring Jira group-level integrations).

This could be:

  • A GitLab project, group, or instance owner
  • A Jira administrator

Further details

Making this configuration simpler will...

  • Make the configuration simpler, less painful, and faster to get running
  • Reduce the likelihood of errors in configuration, introduced by the complexity of it's use
  • Lay the groundwork for increasing the complexity with Transition IDs, such as these issues:

Proposal

  1. Determine the relevant transition automatically (by default)
    • This would be done every time we're actually closing an issue, so no configuration would be required, and we'd automatically support workflows across different projects / issue types.
    • We could use the Issue Transitions API to get the available transitions, and e.g. look for a transition where to.statusCategory.key has a value of done.
    • This update will make this part of the integration on by default
  2. Allow users to specify status names and or transition IDs
    • This would just be a text field that supports custom status names e.g., Ready for QA and will continue to support transition IDs
    • It's much easier for users to get the correct status names from the Jira UI, and more likely for the names to match across different projects / issue types.
    • This will also make this update backwards compatible for users that have already setup this feature using IDs
Proposed UI update
transition-id-update

See for #16119 (comment 495417507) for more context.

Permissions and Security

This concept should be reviewed by the Application Security team before work begins to ensure this does not open up any new attack surfaces.

Documentation

Testing

  • Ensure that all transitions are being successfully pulled from target Jira instance

What does success look like, and how can we measure that?

  • User interaction metrics should show a lower time on the Jira configuration page after this is implemented

Links / references

Original Submission

To configure Jira we have to set a transition id which is a state that Jira referenced issue will belong after a merge request gets merged.

jira_settings

Transition id is not self explanatory and it is hard to find that number in Jira. I propose we show a select box with Jira available transitions on that project after the user gives url, username and password.

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖