Allow configuration of custom issue tracker ID patterns

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Release notes

Organizations/users wanting to use the custom issue tracker integration with a system that uses issue IDs in formats other than "#" number can now customize both the leading delimiter and "number" pattern.

Problem to solve

Currently, the custom issue tracker integration only works with systems that have numerical issue IDs and delimit those IDs with a leading # character. One option in such cases is to implement a custom integration. However, that is costly for both the party writing the initial implementation (code, tests, docs, review) and the eventual maintainer.

Even simple integrations that merely customize the issue pattern require a lot of accompanying tests and boilerplate documentation.See !120732 (diffs) for an illustrative example.

Our immediate motivation for filing this issue is to support our installation of Phorge (the fork/successor of Phabricator) which uses a "T" number pattern to identify its Maniphest tasks.

Proposal

Provide fields in the custom issue tracker integration settings that allow users to specify both the leading delimiter and the identifier for the issue reference pattern. To avoid security and performance concerns, allow only short strings (1-10 characters for the delimiter, and some predefined pattern (e.g. alpha, number, alphanum) for the identifier. No raw user-provided regexes should be allowed.

Note there are currently three existing integrations that merely implement a different reference pattern for issues.

  • IBM Engineering Workflow Management
  • ClickUp
  • Youtrack

Intended users

  • Developers, Product Teams, Technology Teams
Edited by 🤖 GitLab Bot 🤖