« Table of Contents

General Settings

Open the General settings page in the Jira Apps Management (Applications page in Jira 7 and up) to enable/disable features of the Git Integration for Jira Server/Data Center app.

The General settings configuration page can be accessed thru the following locations:

Jira Server Jira Data Center
  • Jira dashboard > Administration > Applications > Git Integration for Jira (sidebar) > General.
  • Jira dashboard > Git menu > Manage repositories > Git Integration for Jira (sidebar) > General.
Jira Cloud
  • Jira dashboard Git menu > Apps > Git > General settings (sidebar).
  • Jira dashboard > Jira settings > Apps > General settings (sidebar).

If you're using Jira Cloud, we strongly suggest to view this page instead.

Git Roll Up Issue Tab
Do not display  –  This tab is not displayed on the Issue screen for all Jira projects.
Show for all projects  –  This tab will be displayed on the issue screen for all Jira projects.
Show for selected projects  –  This tab will only be displayed on selected projects.  Define one or more required projects into the textbox.
Git Commits Issue and Project Tabs
Do not display  –  This tab is not displayed on the Issue and Project screens for all Jira projects.
Show for all projects  –  This tab will be displayed on the issue and project screens for all Jira projects.
Show for selected projects  –  This tab will only be displayed on the issue and project screens on selected projects.  Define one or more required projects into the textbox.
Reverse commit tab sort order  –  Turn this setting to ON to sort commits in the Git Commits tab from newest (top) to oldest (bottom).  Set this to off to sort commits from oldest (top) to newest (bottom).  This setting is ON by default.  On app upgrade, it defaults to ON.
This only sets the default sorting of commits when opening/loading the Git Commits tab.
Git Integration Features
JIRA ISSUE UPDATES 
Enable/disable the setting to allow new commits to change the Last Updated field.  Default is enabled.  For more information about this setting, see section Reindexing – Reindex and updatedDate Filter.
Disabling this setting will improve Jira performance.
ISSUE GIT INTEGRATION PANEL
Show Git integration panel on issue pages  –  Enable/disable this setting to have Git Integration for Jira app show/hide the Git Integration section on the Jira issue developer panel.
Disabling this setting will improve Jira performance.
Calculate and show Git tags in the Git integration panel  –  Enable/disable the setting to have Git Integration for Jira app calculate and show the Git tags in the Git Integration panel.
For more information, see Git Tags.
Disabling this setting will improve Jira performance.
JQL SEARCHING 
Introduced  v2.12.0+
Enables/disables the ability to use the JQL functions within the Git Integration for Jira app.
The default state for new Git for Jira app installation is Enabled. This setting will be automatically enabled when doing an upgrade from previous versions of the Git Integration for Jira app.
Disabling this setting will improve Jira performance.
GIT ACTIVITY STREAM
Enable/disable the setting whether to show git commits in the Jira activity stream (Issue page or dashboard widget) or not.
For in-place upgrade of the Git Integration for Jira app, this setting is turned off by default.  For new installation, the default state is enabled.
Only the commits that are linked to Jira issues will show on the Jira Activity Stream (not all commits in repositories).
Disabling this setting will improve Jira performance.
Git Integration Options  Introduced v2.13.1+
These settings will take effect at integration level for projects with connected GitLab/GitHub git hosts.  The default state for each setting is enabled.
  • Enable branch creation  –  shows or hides the function for creating of branches.  The ability to delete selected branches from the Jira developer panel is dependent on this setting.
  • Enable pull/merge request creation  –  shows or hides the function for creating pull/merge requests from the Jira developer panel.
  • Branch Name Template  –  see below.
  • Branch Name Templates Inner Separator  –  set which inner word separator to use for the branch name template.  The default setting is "-" (dash).
  • Max Branch Name Length  –  specify the maximum character length for branch names. The default value is 250 chars.
Set the Branch Name Template using the supported variables. Use the template to generate a default name for newly-created branches.
Use the following template variables:
Description and Usage
${issuekey}
Issue Key. The Issue key is used in upper case.
${summary}
Issue Summary. The Summary is used and will be in lowercase; spaces are substituted by "-".
The Git Integration for Jira app default is:
${issuekey}-${summary}
This generates the string format like "PRJ-123-add-more-logging" as a default value for the Create Branch and Pull/Merge Request dialogs.  Where PRJ-123 is the issue key followed by a hyphen then the summary text of the active issue page (in hyphenated lowercase form).
${projectkey}
Project Key. The Project key is used and will be in uppercase.
${username}
The username is used when logging into Jira (e.g. johnsmith). The username will be in lowercase.
${username} is deprecated as Atlassian is no longer making usernames available.
${issuetype}
Introduced v2.19.0
Issue Type. The Issue type is used to map a custom issue type as part of the template. The mapping pattern should look like this:
${issuetype:type0,subsitute0[,type1,substitute1,...,typeN,substituteN][,defaultsubstitute]}
  • typeN - is the nth issue type string to match.
  • substituteN - is the substitution string to use for typeN.
  • defaultsubstitute - is the substitution string to use if typeN's match is not found. If defaultsubstitute is blank, the lowercase version of the defined issue type is used.
Some examples:
Example 1:
${issuetype}/${issuekey}-${summary}
This generates the string format like "newfeature/PRJ-123-add-more-logging" as a default value for the branch names.  Where newfeature is the actual issue type of the active Jira issue; in lowercase and trimmed of whitespaces, PRJ-123 is the issue key followed by a hyphen then the summary text of the active issue page (in hyphenated lowercase form).
Example 2:
${issuetype:New Feature,feature,Bug Fix,bug}/${issuekey}-${summary}
This generates the string format like "feature/PRJ-123-add-more-logging" as a default value for the branch names. This example uses a Jira issue which has the New Feature issue type -- where feature is the substituted to issuetype since type0 matches the active Jira issue type; PRJ-123 is the issue key followed by a hyphen then the summary text of the active issue page (in hyphenated lowercase form).
Example 3:
${issuetype:Old Issue,old,Bug Fix,bug,branch}/${issuekey}-${summary}
This generates the string format like "branch/PRJ-123-add-more-logging" as a default value for the branch names. This example uses a Jira issue which has the New Feature issue type -- where branch is substituted to issuetype since type0..typeN does not match the active Jira issue type; PRJ-123 is the issue key followed by a hyphen then the summary text of the active issue page (in hyphenated lowercase form).
Email Settings
SEND COMMIT NOTIFICATION EMAILS    
Enable/disable the setting to allow sending of email notifications when a commit is made.  This setting defaults to OFF for our app upgrades and ON for new installations of the Git Integration for Jira app.  This setting also enables/disables email notifications related to smart commits.
In the provided box, enter a regular expression to send e-mail only to addresses that matches this pattern.  Leave this field blank to disable this filter.
No notifications are sent when this setting is off, if the provided regex box is blank, or regular expression doesn't have a match.
For more information, see Commit Email Notifications.
To avoid the possibility to set invalid regular expressions in the provided regex box, the To address must match the regex pattern.
Disabling this setting will improve Jira performance.
Scheduled Jobs
Jira Server Data Center
Scheduling jobs gives administrators control over when jobs run.  These jobs can be scheduled in two ways:
  • Scanning interval – where jobs are scheduled on regular interval in minutes.
  • Cron expression – where jobs are scheduled via cron expression to run at specific timetables.
We recommend that scheduled jobs be given sufficient time to run completely on a regular basis.
Look at the Git Integration app job names in Jira AdministrationSystemScheduler details:
  1. com.bigbrassband.jira.git.jiraservices.jobs.GarbageCollectionJob
  2. com.bigbrassband.jira.git.jiraservices.jobs.RevisionIndexJob
Expand them to observe schedule, duration, last run, duration, and next run.
SCHEDULED JOBS

v3.7+  Repository reindexing and Garbage collection and revision validation checkers settings are now moved into the Scheduled Jobs group.

REPOSITORY REINDEXING 
Reindex interval  –  Set the automatic reindex interval frequency value in minutes as required.  Default value is 5 minutes.
Configuration of the scheduler jobs are no longer accessible in the Jira administration page.  For this case, the Git for Jira app offers Jira administrators this capability via the General screen.  Minimum value is 1.  Maximum value is 76,861,433,640,456.  Only whole numbers are allowed.
GARBAGE COLLECTION AND REVISION VALIDATION CHECKERS
Job interval  –  Set the number of minutes that will elapse before a repository is checked to see if it should be garbage collected.  The default value is 1440 minutes.
Repository Settings
REPOSITORIES (Max open pack files count) 

Introduced v2.13.5+

Max Open Pack Files count  –  Set the maximum number of open files the Git Integration for Jira app uses.  The default value for new Git for Jira app install or upgrade is 16.  This is the recommended value.  You may set this value higher but not exceeding the maximum number of open files allowed in the system.
For systems that has a lot of connected repositories, increasing this value to a higher setting may improve the performance of the Git Integration for Jira app such as during repository browsing. This is also applicable to very busy systems that has large repository connections. Configure the maximum open files allowed by the system accordingly.
Repositories Garbage Collection Checker
These settings control Git repositories garbage collection.  Garbage collection process will prune all loose objects, pack loose references and repack all reachable objects into new pack files and remove the old ones.
REPOSITORIES GARBAGE COLLECTION CHECKER 
Max loose objects count  –  Set the maximum number of loose objects that will be checked before the garbage collection is triggered. The garbage collection is activated if the number of loose objects exceeds this setting. Loose objects are single items that are not compressed into a Git pack file. The default value is 2000.
Max packed files count  –  Set the maximum number of packed files that will be checked before the garbage collection is triggered. If the number of packed files count exceeds this setting, the garbage collection is activated. The default value is 30.
Maximum Diff Line Count 
Max Diff Line Count  –  Set the maximum size of diffs that is allowed to be displayed in the diff dialog.  Setting this option to a higher value will affect diff display performance.
File encoding  Introduced v2.13.1
While the Git for Jira app uses default Jira System Encoding (utf-8) to deliver source files and diffs of repository, this setting is for those who have several repositories with source files encoded under different encodings.
For now, the diff encoding option accepts only one encoding type (utf-8).  Several encodings aren't supported yet.
Discard cloned files in Jira Home Directory  Beta feature  Introduced  v2.12.0
This feature will reduce Jira server storage by deleting files from cloned git repositories after indexing.  Discarding files can save disk space but may limit some features such as displaying diffs of files.
There are three options to choose from:
  • Keep all cloned binary files. No storage savings. All features available  This option will leave all cloned repositories intact.
  • Discard all files that match the mask below. Some features limited.  This option will delete all files in the cloned repositories matching the declared file extensions.
  • Discard all files EXCEPT those that match the mask below. Some features limited.  This option will delete all other files in the cloned repositories except those files with extensions declared.
Select any option with the discard label to enable editing of the file mask field.
Whenever the setting is changed, BigBrassBand recommends to perform a manual reclone of the repositories to ensure an error-free operation.
Git Operations Timeout  Introduced  v2.12.0
Timeout  –  Set the git operations timeout value in seconds.  The default value is 60 seconds.  This setting affects how long will Git Integration for Jira app waits for connections performed during git clone and git fetch.
Smart Commits
Jira Server Only   Jira Data Center Only
Max commit age  –  Set a limit (in days) for Smart Commit processing.  Commits older than the Max commit age can be associated to the Jira issue but any Smart Commit commands will not be processed.  This protects against cases where old commits are merged into a new repository.
Cache Sizes

Revision Cache Size  –  Required.  This is the number of revisions that will be kept as cache in memory for quick retrieval.  The default value for this setting is 130,000.

Branch Cache Size  –  Required.  This is the number of branches that will be kept as cache in memory for quick retrieval.  The default value for this setting is 35,000.

Tag Cache Size  –  Required.  This is the number of tags that will be kept in cache memory for quick retrieval.  The default value for this setting is 20,000.

The above settings are the sizes of their respective memory cache.  Higher values can affect the performance of the retrieved revisions from Git.

Click Save to apply the changes.

The higher the change rate of the repository, the more often it would benefit from garbage collection.
Every git installation has global config file and .git/config file in every git repository. All settings at the global level can be overridden at the repository level. Therefore, different email addresses can be set for every git repository.
For more details on git configuration, see Customizing Git: Git Configuration open in new tab.

« Table of Contents