Skip to end of metadata
Go to start of metadata

This page describes how to use FishEye's native repository access to connect to a Git repository. The process for doing this depends on where the Git repository is hosted – connecting to a Git repo that is hosted in Atlassian Stash is much easier.

FishEye interacts with Git repositories by executing the Git command in a separate process. Hence, the server running FishEye needs to have Git installed. FishEye indexes Git repositories by making a private, bare clone of your repository within FishEye's cache area. It uses this private clone for most Git operations.


On this page:

Git repositories hosted in Stash

When Atlassian Stash is integrated with FishEye:

  • You can easily add Git repositories to FishEye. The repository behaves just like a native repository in FishEye, so your team gets all the benefits of FishEye indexing, browsing and searching. 
  • The repository becomes available to Crucible (when integrated), so you can perform in-depth code reviews for changes in the repository. 
  • When you add a Stash repository to FishEye, a push to the repository will by default automatically trigger FishEye to run an incremental index. No further configuration is required – you don't have to configure polling for new commits, or set up dedicated FishEye web hooks in your Stash instance.

You'll need to have an account in the Stash instance, as well as permission to view the repository that you want to add.

  1. Click the 'cog' menu in the FishEye header, and choose Administration (you'll need to be logged in as an administrator to see this link).
  2. Click Repositories (under 'Repository Settings').
  3. Click the Stash repositories tab, and authenticate with the Stash server if necessary.
  4. If multiple instances of Stash are connected to FishEye, use the Stash server list to choose the instance of Stash that hosts the repository you wish to add.
  5. Optionally, type a filter pattern to restrict the list of displayed repositories to those with a matching name, key or project.
  6. Click Add for each repository that you wish to add to FishEye.

When you add a Stash repository:

  • FishEye creates a read-only SSH key and adds that as an access key to the repository in Stash. If this operation fails, the key will be added as a user key to your profile in Stash. You can check if an access key was added by viewing the repository's settings in Stash. See Using SSH keys to secure Git operations in the Stash documentation for more information.

Git repositories hosted elsewhere

When adding or managing a Git repository, you can do the following:

To add an external Git repository to FishEye:

  1. Click the 'cog' menu in the FishEye header, and choose Administration (you'll need to be logged in as an administrator to see this link).
  2. Click Repositories (under 'Repository Settings').
  3. Click Native repository access, and then Add repository.
  4. Complete the wizard:

Step 1



Repository Type

Select Git.


Enter a name for this repository. The name may contain alphanumeric, underscore, '-' or '.' characters. This will be repository name in FishEye.


Enter a short description of this repository.

Step 2



Repository Location

Enter the URL describing the Git repository location. FishEye will clone this repository for indexing purposes. You can use any URL recognised by Git itself. Fisheye recognizes the following URL's:


Do not use spaces in your URL.


(optional) Enter the path within the Git repository that you want FishEye to index. This lets you limit FishEye to indexing a subset of the complete Git repository.

Block Size

(optional) Enter how many commits you want FishEye to process in one batch. Larger values require more memory and increase the amount of work FishEye commits to the database in a single operation. The default is 400. The minimum being 1. This field only accepts positive whole numbers. Requires a repository restart.

Command Timeout

(optional) Enter the time that a single Git command is allowed to take to execute. Any command that exceeds this time is terminated and the operation will fail.

Rename Detection

(optional) Select which Git rename detection strategy FishEye will use to detect copy and move operations within the repository. Please refer to the Git documentation for more information.

Step 3



Store Diff Info

Tick this checkbox, if you want FishEye to cache information about file diffs in its database. This is required for some FishEye features. See Configuring Repository Details for more information on this setting.

Enable Repository After Adding

Tick this checkbox, to enable the repository after adding (i.e. when you click the 'Add' button).



Indexing of a Git repository can be slow when new branches are pushed. Performance in such cases can be improved by setting a command line option for FishEye. See this KB page for more information.

  • No labels


  1. Anonymous

    Does fisheye also detect 


    like it is being displayed for repositories at

  2. now that TFS (2013) supports Git. I am wondering if it is possible to add tfs git repository (https) to fisheye

    for example, I created a project using git on tfs online: and git location is: 

    After I enabled alternate credential in tfs with username/password, then set git executable path ("C:\Program Files (x86)\Git\bin\git.exe"). I am unable to connect to this repository from fisheye Can you give us an example how to do this? thank you!

  3. Isn't there any "start revision" like for SVN repos? We have migrated from cvs (long time ago) to svn to git (stash) but now our license limit is exceeded in the fisheye starter license (because there are now user names in CVS, SVN and Git fashion for the commits). Any idea how to overcome this problem?

    1. We have used a git .mailmap file to map all old authors to a dummy-user. After reindexing everything worked well (smile).

  4. Is there is any report generation Plugin for Fisheye ?

  5. I just spent couple of hours trying to connect to a Bitbucket git repository and found out that having '#' in the password causes authentication failure. Not sure if this is limoted to Bitbucket or git, but keep it in mind.

  6. Is it possible to connect our entire Git instance to FishEye, or must I keep adding every individual repository one at a time?

    1. Hi Paul,

      You must add each repo individually as FishEye can't figure this out on its own. We don't suggest that users modify config.xml directly but if you define one repo you can probably copy and paste the XML with minor modification to add the remaining repos. Make sure you stop the application before editing this file.

    2. Hi Paul,

      You can also use the REST api (/rest-service-fecru/admin/repositories) to trigger repository creation, as soon as a new git repository is added to your git hosting server.

      Alternatively if the repositories are on a filesystem that's reachable from the FishEye instance you might consider using the Repository synchronization plugin.

    • FishEye prefixes the Stash project key to the name of the newly added repository, to help you identify the origin of the repository.

    It does?  I am not seeing it and I was not given a choice to edit it when I added it.   The repo I just added went in simply as "Tools" and the project key "SPWB" is nowhere to be seen (at least visually).   This will be problematic if more than one of the projects on the stash instance uses a repo called tools which is very likely.  Or should another stash server be set up for another group and they call a repo Tools.. what will happen?


    1. Thanks Jeff Louwerse.  Indeed the behaviour is slightly different, repository name in FishEye is not actually prefixed with the Stash repository name at the moment.  If you think it should, feel free to vote on and watch  FE-5264 - Stash repository integration custom naming Open  issue.

      1. thanks.  I don't agree that this is an improvement but it is in fact a bug.   Furthermore if your documentation states a behaviour and it doesn't behave that way, that is a bug!

        in 3.7.0 I am not asked to give it a new name if a repository with the same name already exists.  I am simply given an error and until this issue is fixed I can't add the repository to Fisheye...


             Problem communicating with Stash

             Repository 'enter_name_here' already exists.