This documentation relates to an earlier version of FishEye.
View this page in the current documentation or visit the current documentation home.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Corrected links that should have been relative instead of absolute.

Introduction

This page contains the basic information to guide plugin developers in coding and building a plugin for FishEye. There is also Crucible documentation on this topic, if you wish to also access Crucible with your plugin.

FishEye uses the standard Atlassian Plugins framework, so many of the tasks involved in developing a plugin for FishEye are the same as for other Atlassian products.

The differences are:

  • The set of plugin types available.
  • The API available for plugins to interact with the FishEye application.

Building a FishEye Plugin

The simplest way to build a FishEye plugin is via Maven.

Atlassian provides an Archetype for Fisheye/Crucible plugins.

You can create a Maven 2 project containing a sample Servlet Plugin Module with the following command:

Code Block
mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create \
  -DarchetypeGroupId=com.atlassian.maven.archetypes \
  -DarchetypeArtifactId=crucible-plugin-archetype \
  -DarchetypeVersion=1-SNAPSHOT \
  -DremoteRepositories=https://maven.atlassian.com/repository/public/ \
  -DgroupId=com.foo -DartifactId=foo-crucible-plugin

This will create your project in a subdirectory of your current directory named foo-crucible-plugin. Change into that directory (cd foo-crucible-plugin). You can create the plugin jar with the command mvn package, and install it in a running Fisheye or Crucible instance by copying target/foo-crucible-plugin-1.0-SNAPSHOT.jar to the var/plugins/user directory of your Fisheye/Crucible instance.

FishEye Plugin Module Types

FishEye supports several different kinds of plugin modules, listed below.

FishEye Web Items

Web UI plugin modules allow you to add links, tabs and sections of links to the Fisheye user interface. See FishEye Web Items for more details.

Servlet Plugin Modules

Create a servlet which is deployed to the same web application context as Fisheye/Crucible. See Servlet Plugin Modules for more details.

Spring Component Plugin Modules

Create a plugin that makes use of Spring components. See Spring Component Plugin Modules for more details.

The FishEye API

Your plugin will need to use The FishEye Remote API to retrieve data from FishEye and to perform operations on it, such as retrieving a changeset.

Debugging your plugin

You can start FishEye in debug mode with the environment variable setting:

export FISHEYE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"

This allows you to connect your IDE to the debugger listening on port 5005.

See the following pages for code from example plugins:

Further Information