Frequently Asked Questions

Answers to questions frequently asked by Git Integration Plugin for JIRA add-on users to help you get up and running.  Click a section tab to view related topics.  Click a topic to view its contents.

General

Git is a source code repository.  Developers keep track of their source code using Git.

Git relies heavily on branching and merging.  Branching is making a temporary copy of source code for a single purpose like adding a particular feature or fixing a bug.  Merging is safely moving the changes from one branch back to another.

This is an add-on for JIRA that mashes together data from a Git server with your JIRA server.  It let's people see code in Git in context with JIRA issues.

Git can be complicated and daunting  —  especially for non-developers.  JIRA users want this add-on so they can work with Git in the familiar JIRA interface.

In organizations with Git and JIRA, it is common to have a branch for each JIRA issue and branches for every version.

When developers put their work in Git, they can include a JIRA issue ID in the comments.  With the Git Integration Plugin for JIRA installed, JIRA will then show the changes in the issue.

It is a safe and well tested plugin.

We test this on huge Git repositories in large JIRA instances.  Over 1000 organizations in 70 countries use the Git Integration Plugin for JIRA add-on.

Some versions of the Git Integration for JIRA add-on, are compatible with specific versions of JIRA.  For example, the Git add-on v2.9.1 is compatible with JIRA Server versions 6.4 up to 7.1.9.

For a more comprehensive view, see Git Integration for JIRA add-on Version History.

In the Version History page, you can try or buy the Git add-on or download it for use with manual installation.

Developer

On every Git commit, make sure the message includes the exact issue ID at the beginning of the text. Git Integration Plugin for JIRA will automatically index new commits and associate the referenced issue.

To create a link between your Git commit and a JIRA issue, developers must include the issue key into the commit comment.

Example git commit message:
"GIT-913 - Plugin version change from 2.6.7 to 2.6.8"; where GIT-913 is the issue key that links the commit message to the JIRA issue.

If you want to enforce the commit with a hook, please install this Git commit hook script open in new tab.

Open the project summary in your browser and click on the Git Commits tab.

From "Select Version" drop-down, make sure that "All versions" is selected.

All changes that developers have submitted will be listed in reverse chronologically order.  From this view, you can audit all of the changes that developers have recently submitted.

The commit retains the association even in the new project.  The Git Integration for JIRA add-on supports history tracking.  Thus, when moving a ticket to a new project whose issue key has changed, the association will still work.

The steps below provides an outline that you can follow to verify that the issue associations with commits are retained:

  1. Associate a commit with issue (ex. TEST-1)
  2. Move the issue TEST-1 to a new project (ex. PM)
  3. New issue key for TEST-1 is PM-18
  4. Check that original commit in TEST-1 is still available in PM-18.  The commit should be there (Git Commits tab).
  5. In the Git Repositories configuration page, perform Reset and Reindex on the selected repository to make sure that the commit was in the correct location.
The Git add-on also supports multiple issue keys in a commmit message.
Yes - the Git add-on supports multiple JIRA issue keys in a multiple-line commit message.

For more information, see Smart Commits open in new tab.
Installation

No.  With Atlassian Marketplace, you can install the add-on from inside of your JIRA server using your browser.  You don't have to go to the server command line to copy files or configure XML files.

For the most common setups, the URL to your Git server and credentials to access it.  Tell your Git administrator that you need access to the Git repository just like a regular developer would have.  They will provide what you need.

A new tab is added in each issue.

A new tab is added in each project.

Atlassian has posted the following relevant information regarding Atlassian Marketplace addons and development licenses of JIRA:

https://www.atlassian.com/licensing/marketplace#licensingandpricing-4

Which points to:

Licensing and Paid via Atlassian Listings

Go to the section titled, "Can customers use developer licenses for my add-on?", which has instructions on how to get a developer license for add-ons.

In summary:
A developer license can be generated (free of charge) once the plugin has been purchased and can only be installed on a development licensed version of JIRA.
Administration

With the Git Integration for JIRA add-on, you only need to define a single ID for the JIRA server.  JIRA then lets authorized JIRA users browse Git.

Yes.  As of v2.8.3 of the Git add-on, the REST API for add, update, and delete repository is implemented.  The documentation for this feature is available at Git add-on: Hook and API Reference - Repository REST API open in new tab.

Please visit add-on config and check Git Repositories tab.  Also upgrade of JIRA may lead to changing of user account used to run service, which in turn, may result in lack of permissions.

Yes — it does support repositories supporting many projects.  That said – the associations are made by the developers when they commit code to a specific issue key (which is part of a project).  The permission that allows a user to see these commits in a JIRA project is whether they have the "View Development Tools" permission for that project (that's a JIRA setting).

The only project permissions that the Git Integration for JIRA add-on has are for the Repository Browser (Git dropdown menu).  To associate a repository with all JIRA projects or only specific projects, see Repository Browser setting open in new tab in the Connect to Git Repository wizard or edit a repository in the Git Repositories configuration page.

  1. From your JIRA Server, clone the repository manually using the git client.
  2. Example:
    cd /jira/home
    cd data/git-plugin
    git clone --mirror https://my-self-signed-repo/project.git
  3. Configure the repository to disable verification of the SSL certificate.
  4. Example:
    cd project.git
    git config http.sslVerify false
  5. From your browser, log into JIRA and add a repository via Administration > Add-ons/Applications (JIRA 7).
  6. Select Git Repositores under Git Integration for JIRA.
  7. Click Connect to Git Repository then Advanced setup.
  8. For the Display Name, enter a description of the Git repository.
  9. For the Repository Root, enter the full path to the Git repository that you have cloned.  Considering the example in step 1, it will be similar to /jira/home/data/git-plugin/project.git.
  10. Click the Detect button next to the Repository Origin.
  11. Click Add to add this repository to the Git repository configuration list.

The clone will be kept up-to-date and the SSL verifiction issues will be ignored.

Repository
  1. Change current directory to the folder where repository is located.
  2. Run pwd.
  3. Response should go to repository root field.
  4. Run git remote show origin.
  5. Find origin url in command response.
  6. Set this value for repository origin field.

The local repository is updated by the plugin (every time when GitRevisionIndexerJob runs).

You can adjust the update frequency by setting the 'delay' for this process on 'Service' tab via JIRA Administration.

The Repository Root (in settings) must be a local path for server which is used to run JIRA.

In other words, the plugin must point to a clone of the repository and this clone must run locally with JIRA.

Update/edit repository screen

There are three possible ways to do this:

  • Clone the repository outside of JIRA then connect to it via Connect to Git Repository  >  Advanced Setup.
  • Clone the repository with the standard Connect to Git Repository Wizard into the JIRA home directory.  Soon afterwards, move the cloned repository and update the settings on the repository.
  • You could symlink the {$JIRA_HOME}/data/git-plugin directory to a different volume.  The standard Connect to Git Repository Wizard will still write there, but the data will reside on the different volume.  But be aware, that the Git add-on treats anything in the Git-Plugin folder as a clone that it owns.

There's a utility that helps GitLab users export repository settings from GitLab server.  Get the JAR file and follow instructions at GitLab to TSV.  Requires Git Integration Plugin for JIRA to work.

This utility will create a TSV import file which can be imported via Bulk Change feature of the Git Integration Plugin for JIRA.

How to import a TSV file generated from this utility:

GitLab to TSV, how to

If your JIRA and Git servers are running through a firewall, configure the firewall to allow access using the URL schemes for git repositories.  For authentication issues, make sure to check first the correct port for its connection.

Below are the default ports for common git URL protocols:

Protocol Default port
ssh:// port 22
git:// port 9418
http:// port 80
https:// port 443

Test git connection and repository URL by doing the following:

  1. Install git client (or run sudo apt-get install git)
  2. Place your ssh key into ~/.ssh
  3. Clone the repository (or run git clone <your_repository_url>)
The Git Integration for JIRA will run successfully if the above connection test ran without errors.

Yes. The Git add-on definitely supports GitBlit via HTTPS authentication.  Use the Connect to Git Repository wizard to connect to your repositories.  Towards the end of the process, a username and password will be required for connection authentication.

When using Active Directory accounts for repository access, changing the password of the AD account running JIRA can cause repository authentication issues.

You need to restart JIRA to regain access to repositories.

Workspace

Open an issue in your browser and click on the Git Commits tab.

If the tab says that no Git log entries have been found, then work has not yet started on the ticket.

View JIRA issue git commits

See all Git commits associated with an issue in JIRA

Open an issue in your browser and click on the Git Commits tab.

Everyone listed in the "Author/Committer" column has worked on the issue.

Open an issue in your browser and click on the Git Commits tab.

All changes to source code are listed from newest to oldest.  The date/time in the "Date/Revision" column on the first line is the last time changes to the issue have been submitted into Git.

Open an issue in your browser and click on the Git Commits tab.

When a developer submits a change to Git, they can type a brief message that summarizes the changes.  These messages show up under the Committer/Author's name.

The files that were changed by the developer appear as clickable links. column.  Click on the file links to view the actual source code that was changed.

Open the project summary in your browser and click on the Git Commits tab.

All changes in all issues will be present.  If you use the "Version" tagging feature of JIRA, you can filter the changes by version.

View JIRA project git commits

See all Git commits associated with a version tag in JIRA

SSH

Passphrases are now supported since v2.x.x of the Git Integration Plugin for JIRA add-on.

SSH keys should be in .ssh folder located in user home (user which is used to run jira).  Note that JIRA 5 is using 'jira' user for run by default.

SSH keys with and without passphrases are supported.

Watch how to add an SSH Git repository.

The PRIVATE KEY is needed by the SSH client, which is the JIRA server, to connect to the Git server via SSH.

Configure SSH remote git repositories with Connect to Git Repository wizard as you would with any remote git repository.

  1. Go to Administration > Add-ons. (For JIRA 7, go to Administration > Applications)
  2. On the sidebar, under Git Integration Plugin for JIRA section, select Git Repositories.
  3. Click Connect to Git Repository. The Connect to Git Repository wizard appears.
  4. Enter Repository location of your SSH git server. Click Next.
  5. Upload the private key or paste it on the provided field. Click Next.
  6. Enter Passphrase (if required). Click Next.
  7. The wizard will start cloning the selected repository. When the process is complete, the Permissions dialog is displayed.
  8. Click Next.
  9. Click Finish to complete the setup. The repository is added to the repositories list.

 

Here's a video to guide you step-by-step as stated above:

Watch how to add an SSH Git repository.

Logging
JIRA Cloud does not have the Support Zip feature.

JIRA can produce a Support Zip file for diagnosing issues.  This will give our support team a better view of the issue.

You can create this file by accessing the Atlassian Support Tools in your JIRA:

  1. Go to Administration > System
  2. On the left sidebar, click Support Tools.
  3. Click the Support Zip tab.
  4. Leave all options checked (recommended) or check/uncheck required information to generate.
  5. Click Create.

Locate the generated Support Zip file and send it to support@bigbrassband.com.

The debug logging level can be set by performing the following steps:

  1. Go to    Administration  >  System.
  2. On the sidebar, under Troubleshooting and Support, select Logging & Profiling.
  3. Scroll down to the Default Loggers section, then click Configure.
  4. The following screen will appear:
    Configure logging level
  5. Enter com.xiplink.jira.git for Package Name then set Logging Level to DEBUG.
  6. Click Add to add this configuration to the Debug Loggers list.

 

The Git plugin — like most plugins — writes to the standard JIRA log. The setting you've enabled here, causes it to write more log data.

The Git logging is in with the standard JIRA log. This can change based on how JIRA was installed, which version you have, and which version you started with. Generally, start by looking at catalina.out in the JIRA Tomcat directory.

If you need to troubleshoot the installation of the Git Integration Plugin for JIRA (or any JIRA issue) the best place to turn to or check is the logs that JIRA offers.

Please follow the directions from Atlassian: Atlassian Logging and Profiling and send us the following file:

atlassian-jira.log (if Windows)

catalina.out (if Linux)

Reindex

Re-index does 2 operations:

  • Updates local repo from remote
  • Updates local indexes which contain info about every commit

In terms of kicking off the indexing based on an event, you have two options:

What other customers have done is set a high interval and then configure one of those options.

Commits won't appear immediately since synchronization is implemented as background job (GitRevisionIndexerJob).  You can reduce the job delay down to 1 minute to schedule updates more often.

You can also configure this setting via JIRA Administration > Add-ons > Git Integration Plugin for JIRA > General page:

Repository reindex interval

If you think that the Git indexes are corrupt and needed to be completely rebuilt, please do the following:

  1. Disable the Git Integration Plugin for JIRA add-on.
  2. Remove the following folders:
  3. {JIRA_HOME}/cache/indexes/plugins/jira-git-files
    {JIRA_HOME}/cache/indexes/plugins/jira-git-revisions
  4. Enable Git Integration Plugin for JIRA add-on.  The git add-on will create the above folders again.
If you have large Git repositories, please do this after prime time.

If you think that the Git caches are corrupt and needed to be removed, please do the following:

  1. Disable the Git Integration Plugin for JIRA add-on.
  2. Go to <jira_home>.
  3. Delete the index:
  4. rm -rf <jira_home>/caches/indexes/plugins/jira-git-*
  5. Delete the cache:
  6. rm <jira_home>/data/git-plugin/indexed-revisions-info-cache
  7. Enable the Git add-on.
  8. Reindex all repositories:
  9. Go to Administration > Add-ons > Sidebar: Manage Add-ons > Git Integration Plugin for JIRA: Git Repositories. Click Reindex All.
If using JIRA 7, go to Administration  > Add-ons. Select Applications on the page tab. Under Git Integration Plugin for JIRA on the sidebar, select Git Repositories. Click Reindex All.
The above solution also applies to:
Commit information that are not shown for commits having issue key(s) in its message that were already indexed .

No.  The Git Integration Plugin for JIRA add-on is designed to do a full index.

Yes  –  the following url can be used:

http://<server url>/secure/StartReindexGitRepositories.jspa?reindex=true

The reindex process won't start if reindex is already running.

Perform a Reset + Reindex of the selected repository via Git Repositories of the Git add-on. If the issue still persist, see topic, How do I clear the Git Integration Plugin for JIRA cache manually?

Uninstall/Reinstall
  1. Remove any repositories from Git Integration Plugin for JIRA add-on config.
  2. Stop JIRA, remove the old Git Integration Plugin for JIRA add-on.
  3. Start JIRA, remove the Git Integration Plugin for JIRA indexing service.
  4. Stop JIRA, remove old lucene indexes:
  5. (/var/jira/home/caches/indexes/plugins/jira-git-revisions)
  6. Install Git Integration Plugin for JIRA add-on, start JIRA, verify that plugin is enabled.
  7. Add repositories to plugin config.
  8. Verify that each JIRA ticket has 'Git Commits' tab
  9. Tab may have a note: 'There are no git log entries for this issue yet'.
  10. If you see the note, wait until revision indexer job populates the 'Git Commits' tab.

The following steps will remove the Git Integration Plugin for JIRA add-on and delete its data from JIRA:

  1. Uninstall the Git Integration Plugin for JIRA add-on from the JIRA UPM (Universal Plugin Manager).

    Go to JIRA Administration > Add-ons > Manage add-ons.  Under User-installed add-ons, select Git Integration Plugin for JIRA then click Uninstall.
  2. Git add-on for JIRA UPM uninstall
  3. Delete all repositories:
  4. rm -rf $JIRA_HOME/data/git-plugin
  5. Delete the index:
  6. rm -rf $JIRA_HOME/caches/indexes/plugins/jira-git-*
  7. Remove the Git Integration Plugin for JIRA add-on tables (all tables starting with AO_8BA09E_) from the JIRA database.
  8. Credentials are usually located in $JIRA_HOME/dbconfig.xml.  There is no standard SQL command to remove all tables by prefix.  The list of tables depends on the installed Git Integration Plugin for JIRA add-on version.  All the tables are displayed in JIRA Administration > System > Plugin Data Storage. Git plugin tables
  9. Remove the table by performing the following SQL command: DROP TABLE table_name.
Support

Starting v2.6.25 of the Git Integration Plugin for JIRA add-on, unicode characters are now supported and displayed properly.

As of v2.9.0 of the Git Integration Plugin for JIRA add-on, Atlassian JIRA 6.4 or later is supported.

Visit the version history page to view which versions of the Git add-on are compatible with the version of JIRA you are using.

Purchase

Buy the Git Integration Plugin for JIRA add-on on Atlassian Marketplace using your Atlassian account  —  the same place where you manage your JIRA license today.

Atlassian Marketplace accepts MasterCard, Visa and American Express.  You may also pay with bank transfer or mailed check.

30 Day Trial        Buy Now
Get new product notifications and feature updates from BigBrassBand LLC.