Skip to end of metadata
Go to start of metadata
Download FishEye



Release Notes

Keep up to date with the latest release notes for FishEye.

FishEye Plugin for JIRA

Realtime linking between your source code repository and issue tracker.

<strong><span class="image-wrap" style=""><img src="/download/attachments/184549775/confluence_48_white.png?version=1&amp;modificationDate=1240471003062" style="border: 0px solid black" /></span></strong>
  <strong>Contact Us</strong>
We're always happy to help. Feel free to email or call us with any questions you have.
 
FishEye - Evaluator Guide

Please note, this page is now deprecated.
Evaluating FishEye for the first time? See the FishEye 101 document.

Thanks for taking the time to try FishEye. To help you make the most of your time, we've taken the liberty of compiling some easy instructions for configuring and using FishEye. 

Software Developers are the intended audience for this document.

Setup Tips

1. Install

First things first, if you haven't already got FishEye up and running carry out the following steps:

  (click to expand)
  1. Download FishEye from the Atlassian Download Center
  2. Unzip the downloaded package to the desired installation directory.
  3. Launch FishEye from the command line, typing run.bat (under Windows) or run.sh (under Linux). A FishEye console window will appear, listing the startup progress. Give it a few minutes to complete its process.
  4. Open your web browser, type http://localhost:8060/ into the address bar and press Enter. FishEye's web interface should load, allowing you to start using it straight away. You will be prompted to set the admin password.

For more help on the technical procedures in this section, click this link.

If the installation process takes more than 15-20 minutes, contact our support team.

2. Scan

  (click to expand)

Once installed, FishEye needs to do an initial index, where it accesses, indexes and organizes your entire repository (including all historical items) back to the earliest commit. Use the FishEye web interface to add a repository by clicking 'Administration' from the footer bar, or entering http://localhost:8060/admin/ into your web browser address bar and pressing Enter. Next, click 'Add Repository'.

When adding your repository it may seem like there are dozens of options to fill in, but most can be safely left at the default setting (unless you know what they do or specifically need them). We strongly recommend that you just index one part of your repository — one project or branch, for example — rather than everything. This will ensure a timely initial scan so that you can smoothly continue your evaluation. To do this, simply point FishEye at a branch of your repository rather than the trunk. Click the following for detailed documentation on each SCM type:

The default indexing settings can have challenges digesting custom SCM configurations. If the initial index appears to hang, please call support as this is a problem situation that benefits greatly from a support engineer.

3. Add Users

  (click to expand)

FishEye was designed for to improve team communication through sharing SCM artifacts, so you will want to configure it for your colleagues to participate in the evaluation.  There are a few approaches that you can take to get others involved in your evaluation:

  1. Leave FishEye in anonymous mode - there are two downsides here, anyone on your LAN can see all the source and you won't be able to use email watches or save preferences.
  2. Built in users with "public sign up" - you still don't have security but you can use the email watch functionality
  3. Built in users - security but you have to manually create accounts for your colleagues
  4. External authentication such as LDAP, Active Directory and so on
    1. Atlassian Crowd - if you already have a Crowd server, this is a snap to set up .(If not, why not give it a try?)
    2. Host/PAM Authentication - you can use the local accounts from the physical machine FishEye is running on (warning: not all operating systems are supported equally, your mileage may vary)
    3. LDAP/Active Directory - finally, you can just point FishEye at your existing corporate directory. If you are familiar with LDAP, this should be easy.

If you opt for accounts, be sure to make yourself and other relevant users FishEye administrators. You may also be interested in pre loading users from LDAP/Crowd and setting repository level access control based on groups.

4. Configure Mail

  (click to expand)

FishEye can deliver email feeds based on user configured parameters; like watching the contributions of a specific colleague or changes to a branch of code you care about.  To take advantage of this feature, you will need to tell FishEye about your SMTP server.

5. Setup Complete!

  Your FishEye instance is now established. (click to expand)

Congratulations!  Our support records indicate that over 80% of support calls happen during this installation phase.  Once you have made it this far, the rest of the evaluation is a breeze.


Mastering The Basics

  (click to expand)

FishEye exposes pretty much everything in your SCM as a web page, so it is easy to link to. Take time to play with constraints, watches, and hacking URLs in your freshly indexed repository.

6. Browse your Repository

  (click to expand)

First click on the Browse tab on the upper right hand corner of the browser.  The upper left hand section of this page has a series of constraint boxes to refine your view of your SCM.  This is a useful way to see the repository in a particular state or find something by a particular person.

Here are examples of ways to test out the constraints:

  1. An author constraint - see what the new guy has been doing
  2. Combine a Branch & Date constraint - what happened on the maintenance branch last month
  3. The tag for your last release - find out what shipped without checking out.

(info) Note that as you click around, the constraint stays in effect until you turn it off.

7. Subscribe to SCM updates

  (click to expand)

Every user can keep an eye on changes from RSS Feeds and Email Watches to the source directories that interest them or even individual files. The idea is to encourage people to subscribe to the level of notifications that suits them so the signal isn't lost in the noise.  Here are two ways to test this out:

  1. Set up a customized feed by going navigating to the changelog page.  On the upper right hand corner of the changelog box, click on the Customized Feed URL.  Fill in the feed attributes and use the constraints to get data about a specific users contributions to a specific branch of code.  Select to subscribe either as an RSS feed or an email watch.  For fun, you can comment on their code the moment they commit until they can't take it anymore. (wink)
  2. Simulate a spontaneous watch request by surfing through the directories.  Once you find an interesting contribution, hit the RSS button on the upper right hand corner of the changelog box to get updated on that particular file.   

8. Send Links to your code

  (click to expand)

Everything in FishEye can be linked. A changeset, a diff, a specific line in a specific revision. You'll find a lot of stuff is underlined. Keep this in mind as you evaluate FishEye, there are plenty of links that are crying out to be copied to clipboard and sent on to your team mates via instant messaging.

If you look at the URL structure, you'll see that FishEye URLs are very predictable and hence can be easily generated by hand. There are also some extra wrinkles that are great for bookmarks.

Useful Hacks...

  • Every line in an annotation is a permalink to that line, clicking the revision number in the gutter takes you to that line in the revision it was last changed (even when the line number is different) Add a post commit hook in your SCM that gives developers the FishEye link as soon as they commit
  • Using the keyword HEAD will give you the latest version of file
  • Use branch or tag names in place of revision numbers in diffs.


Eye candy

9. Baby line charts

  (click to expand)

The ubiquitous chart in FishEye plots net lines of code (that's just lines not NLOC for those who are interested) on the top and commit volume (the number of files committed) on the bottom. Note that this chart is generated on the fly based on what you are looking at, from the root down to individual files. On the changelog page the green bar shows you the period that is covered by the changesets on the page you are viewing. Clicking on the chart takes you to that point in time in your changelog.

10. Annotations & Branch Diagrams

  (click to expand)

Make a point of finding files with a lot of history, then checking out their file level visualizations. A good file to try if you are using Apache Ant is build.xml, but any oft changed long standing file will do the trick. You will see a clickable branch diagram on the file history page (that's the page you get by clicking on any path link), you may have to click the "logical" link if you use SVN to see all your branches. Go to the annotation for a recent revision and try the different annotation modes, note how the colors in the chart match up to the color coding in the gutters.

11. Serious Charts

  (click to expand)

To start using the more complex charts, click on the Chart tab on the right of the header, or "jump to detailed chart" on any of the baby charts. There is a lot of really cool stuff in these charts.

Some things to try:

  • Find out who your biggest contributors are - select "Show by Author" as a Pie chart
  • See what file types you have committed - select "Show by Extension" then select your user ID as in the Author field
  • See who has been changing the most lines in the last month - clear your selections and select "Show by Author" and a date a month prior in the "Start Date" field. If you have a lot of source the chart will probably be flat. If so, change the chart type to "Change", this will zero the line count at the start date
  • Compare your changes against another person - pick yourself and another author (hold the 'control' key to select multiple) in the author list. This isn't very useful but can be a bit of fun!

(info) Note that the committer gets a line for each line they add or change. The previous owner of a modified or deleted line loses one. Currently any change, even whitespace, counts.


Searching

12. Quick Search

  (click to expand)

The box in the top right corner of every page can be used to quickly search the repository. You can use syntax like author:anna to immediately return results which have anna in the author field.

13. Regular Search

  (click to expand)

Clicking 'Search' on the top navigation bar opens the Simple Search screen. Here, you have access to a wide range of powerful searching functionality including file content searching, and grouping results by changeset, revision, file or directory.

14. Advanced Search

  (click to expand)

Sometimes, you need data from your repository retrieved and sorted in ways that are unique to your own situation, beyond what the pre-fab GUI can give you. From the Simple Search screen, click 'Switch to Advanced Search'. Here, you can build searches using FishEye's powerful embedded query language, called EyeQL.


Advanced Features to Try

15. CSV Exports

  (click to expand)

When you need to extract repository data for a report, you can export the results of FishEye searches to a CSV (comma-separated values) file which imports directly into spreadsheets and other office applications. Simply select the radio buttons at the bottom of the Simple Search dialog and the CSV file will be generated automatically, prompting you to save the file.

16. API

  (click to expand)

With its own API (Application Programming Interface), FishEye is extensible. If you need FishEye to do more than it ships with and you've got programming chops of your own, the API allows you to build extensions to the program to suit your needs.

17. Linkers & JIRA

  (click to expand)

One small, but extremely handy feature in FishEye is the ability to link keywords to external systems. For instance, if you are using an issue tracker like JIRA, you probably include bug IDs in your comments. You can link anything that can be identified with a regular expression to anything with a URI (Uniform Resource Identifier). This feature is called "Linkers" and can be setup globally or per repository. Check out the documentation for more information.

If you are using JIRA, we have good news for you. On top of seamlessly switching from FishEye to JIRA, you can get FishEye data inside JIRA and navigate back to FishEye. Recent versions of JIRA come with the FishEye plugin pre-installed, all you have to do is configure it. Though, if you aren't running a really recent version of JIRA you probably want to get the latest FishEye plugin for JIRA.

A lot of applications can generate ViewCVS (now ViewVC) style URLs. Just set your FishEye instance as your ViewCVS host, enable ViewCVS compatibility URLs and FishEye will take you to the right place — directly from those apps.

18. Advanced Configuration Options

  (click to expand)

FishEye has bucketloads of configuration options. We try and set sensible defaults so that everything "just works" in most situations. However, if you are a power user, there are lots of knobs to twiddle. Check out the documentation to learn about the nitty gritty.
Advanced features you might want to try:



Thank you for evaluating.

Thanks for taking the time to evaluate FishEye.

Labels: