Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Note

The General Settings page is only accessible to Jira Administrators.

The Git Integration for Jira app introduces the General Settings page which contains configuration options for performance and features.

Getting Started

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.

...

Info

If you're using Jira Cloud, view this page instead.

Settings index

...

...

Git pull/merge requests

Enable pull/merge request creation  –  shows or hides the function for creating pull/merge requests from the Jira developer panel. This setting is ON by default.

Enable indexing pull/merge requests via API  –  This setting will index PR/MRs that are associated to Jira issues based on pull/merge request title which includes the Jira issue key. This setting is ON by default.

Enable indexing pull/merge requests by commits  –   This setting will index PR/MRs that are associated to Jira issues based on commits related to pull/merge requests with commit message containing a Jira issue key. This setting is OFF by default. Users will not be able to toggle this setting to ON/OFF if the Enable indexing pull/requests via API is switched OFF.

Info

When switched to ON, the Enable indexing pull/merge requests via API setting completely activates the feature of indexing of PRs/MRs. This also allows users to use the toggle control for the Enable indexing pull/merge requests by commits setting, which provides an additional way of indexing when switched to ON.

For detailed information on this feature, see Associate Pull/Merge Requests in Jira Issue at our Confluence.

...

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.

Note

To avoid the possibility to set invalid regular expressions in the provided regex box, the To address must match the regex pattern.

Tip

Disabling this setting will improve Jira performance.

...

Scheduled jobs

...

Status
colourBlue
titleJira server
Status
colourPurple
titledata 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.

Tip

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 Administration ➜ System ➜ Scheduler 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

Status
colourGreen
titleVERSION 3.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

...

Max open pack files count

Status
colourGreen
titleintroduced 2.13.5+

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.

Tip

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.

...

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.

...

Diff

...

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

Status
colourGreen
titleintroduced 2.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.

Info

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

...

Status
colourPurple
titlebeta feature
Status
colourGreen
titleintroduced 2.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.

Note

Whenever the setting is changed, BigBrassBand recommends to perform a manual reclone of the repositories to ensure an error-free operation.

...

Git operations timeout

...

Status
colourGreen
titleintroduced 2.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

...

Status
colourBlue
titlejira server only
Status
colourPurple
titlejira 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

...

Note

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

...

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.

...

Tags 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.

...

Table of Contentscontentbylabel
minLevelshowLabels2

...

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.

Tip

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.

...

Tip

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.

Tip

Disabling this setting will improve Jira performance.

...

JQL searching

Status
colourGreen
titleINTRODUCED 2.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.

Tip

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).

Tip

Disabling this setting will improve Jira performance.

...

Branch and pull request settings (formerly Git Integration Options)

...

Status
colourGreen
titleINTRODUCED 2.13.1+

...

Git branches

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 create/delete branch in Jira issues  –  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.

  • 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:

${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 "-".

Tip

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.

Warning

${username} is deprecated as Atlassian is no longer making usernames available.

${issuetype}

Status
colourGreen
titleintroduced 2.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:

Code Block
${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).

false
max20
sortcreation
cqllabel = "general-settings" and space = currentSpace ( )

After making changes to the configuration settings, click Save to apply the changes.

...