RubyMine 2023.3 Help

Git integration with issue trackers

With RubyMine, you can connect your commit messages with a bug tracker or an issues database, and navigate from commits in your VCS log to issues related to these commits.

  1. Press Ctrl+Alt+S to open the IDE settings and then select Version Control | Issue Navigation.

  2. Use this dialog to create a list of the issue navigation patterns.

    Issue navigation settings

    An issue navigation pattern maps an issue ID pattern in commit messages with the URL addresses of the referenced issues. This enables you to navigate from committed changes to issues related to these changes. As soon as RubyMine encounters a match to the issue ID pattern in a commit message, the match is displayed as a link in the Version Control tool window Alt+9. If you mention several issues, all of them will be displayed as links. Clicking such link opens the matching issue in the default browser.

    In the Issue Navigation settings, Issue is a read-only field that shows the issue pattern. Link is a read-only field that shows the link to navigate from the issue pattern in the current row to the issue in the bug tracking system.

    Click Add to configure a list of issue navigation patterns by mapping issue patterns in commit messages with URL addresses of the referenced issues.

    • If you are using JIRA or YouTrack, click Add JIRA Pattern or Add YouTrack Pattern on the toolbar, and type the URL to the installation of the bug tracking system.

      RubyMine will automatically add a regular expression that defines the navigation pattern.

    • For other issue tracking systems, click Add Issue Navigation Link to create a new entry or click Edit to edit an existing entry. In the dialog that opens, specify the following regular expressions:

Example

The example below shows how RubyMine applies the mentioned rules to detect a reference to an issue in a commit message and compose a link to it in the issue tracking system.

Add Issue Navigation Link dialog

Issue ID

A regular expression that defines the format for issue references in commit messages.

[A-Z]+\-\d+

This regular expression matches all character strings that consist of two substrings separated by an n-dash character:

  1. Substring 1: An unlimited number of upper-case alphabetic characters.

  2. Substring 2: An unlimited number of digital characters.

A combination of the URL address of your issue tracking system and a regular expression that identifies issues in it.

http://<mytracker>/issue/$0

Here $0 indicates a back reference to the entire match. This means that as soon as RubyMine detects a match in a commit message, it is added to the URL address of the tracker as is.

Matching issue ID

RubyMine detects the following reference to an issue in the commit message of interest:

MYPROJECT-110

Composed issue link

In accordance with the above issue navigation pattern, the detected matching reference is added to the URL of the tracker as is, so the link to the referenced issue is composed as follows:

http://mytracker/issue/MYPROJECT-110
Last modified: 04 April 2024