Jigit is an application for Jira Server or Data Center that integrates Gerrit Code Review tools with Jira.

You can find it at Atlassian Marketplace.

Gerrit Code Review configuration

When the Gerrit is integrated with Jira using Jigit, it shows the data in the following way.

To configure Gerrit Core Review, you need to navigate to the Gerrit tab and enable the integration. Afterwards, you need to provide the details of the Gerrit server.

Gerrit settings explanation:

  • Enabled - if checked, enables Gerrit integration.

  • URL - Gerrit Server URL.

  • User - Gerrit user to access the REST APIs.

  • Password - Gerrit password to access the REST APIs.

  • Add Gerrit info into the Gerrit tab - Display Gerrit information in a separated Jira issue view tab.

  • Add Gerrit development panel - Adds status information into the development panel on the Jira issue view screen.

  • Projects to hide Gerrit - the list of Jira projects where to hide Gerrit information. If used - displays Gerrit info in all projects by this (used in combination with Projects to show Gerrit setting).

  • Projects to show Gerrit - the list of Jira projects where to show Gerrit information.

  • Search for issue in - the list of items where to search for the Jira issue key mentioned.

  • Invalidate cached item in - Gerrit information cache invalidation.

Gerrit JQL functions

gerritStatus

This function is experimental and may cause the performance issues if used with unbound scope. Please provide your feedback.

issue in gerritStatus(PROJECT_KEY, STATUS)
issue in gerritStatus(PROJECT_KEY, STATUS, CHANGES_AFTER_DATE)
CODE

CHANGES_AFTER_DATE:

after:'TIME'/since:'TIME'
Changes modified after the given 'TIME', inclusive.
 Must be in the format 2006-01-02[ 15:04:05[.890][ -0700]];
  omitting the time defaults to 00:00:00 and omitting the timezone defaults to UTC.
CODE

Samples:

issue in gerritStatus("TEST", "open")
issue in gerritStatus("TEST", "abandoned")
issue in gerritStatus("TEST", "new")
issue in gerritStatus("TEST", "merged")
issue in gerritStatus("TEST", "closed", "2022-10-25")
CODE

Where TEST is the Jira project key.

Gerrit performance

  • Gerrit information is queried when the Jira issue is rendered, and the data is placed in the Cache. Default cache invalidation is 3 minutes, it is configurable.

  • Gerrit information is not stored in the Jira database and lives only in the memory in Jira Cache.

  • Since versions 5.07.27/6.07.27, Gerrit integration uses ETags to cache the results. The current cache configuration is 1000 items of the size of each of up to 5MB.

Jira Development Panel Gerrit integration

It is possible to enable the Gerrit issue view panel, which displays the Gerrit summary. You need to enable it in the Gerrit settings.

Gerrit Circuit Breaker

With the circuit breaker, you can make Jira more stable when Gerrit is unavailable or having issues.

Below are the parameters which help you tweak the circuit breaker according to your system. We recommend starting with the default ones before your start tweaking those.

Questions and answers

Question: Most important question we have at the moment is - do you plan to continue supporting Gerrit in a long-term perspective, or are you considering deprecating this feature?

Answer: We plan to support Gerrit long-term. We just added the support in 2022.

Question: When it comes to Gitlab repositories. Is there any limit to how many repositories can be linked via this plugin?

Answer: There is no limit. We use REST APIs to access the data. So if the connection can access all repositories, our app can display those. We do recommend connecting a few repos in one connection rule.

Question: Do you have any internal test results showing the impact on Jira performance with a growing number of linked Gitlab repositories?

Answer: We have customers like Apple, Boeing, and Amadeus, as there is not much impact. We also have done Atlassian Data Center certification.

Question: Can you confirm no source code is stored on an OS level? Many other plugins clone the git repository to Jira’s home folder.

Answer: Our app does not have access to the source code; it does not clone anything. It uses REST APIs to access the commits and commits history. It results in longer initial indexation times because we have to over the commit tree.

More questions and answers related to Jigit - GitHub, Gitlab, Gerrit Jira integration application.

Proposals

Leave your feature proposals here.

Feedback

We'll be grateful if you leave feedback.

Updated: