Fisheye Web Item locations

This page details the places in the Fisheye UI where Web Items can be added. There are also Crucible Web Items. You can control whether a Web Item is displayed using a condition.

If you find that the locations provided are not sufficient for the plugin you wish to write, please raise an issue explaining where you would like a location to be added, and we will consider providing that location in a future release.

Web Section Definition

You may choose to create your own web sections or add to Fisheye's predefined ones.

Here is a sample atlassian-plugin.xml fragment for a web section:

1
2
<web-section key="testsection" name="example.section" location="system.fisheye.file">
      <label key="System Fisheye File Section"/>
</web-section>

<web-item key="eg7" section="system.fisheye.file/example.section">
      <label key="System Fisheye File/Example Section"/>
</web-item>

The above example will creates a new section in system.fisheye.file. You can then add a web item in the section. The location of the web item in the second code block is the same as the first, but it uses the web item example.section which is defined in the first code block.

Web Items Listing and Reference

Each location has a number of Helper Objects available, which can be used to generate parts of the links and titles.

Key. Description

Helpers available

Key: system.admin

Description: Links on the admin menu. Sections: repositories, projects, users, security, global, system.

global

Key: system.admin.project.operation

Description: This item adds a link to each Project in the Projects administration page.

global, project

Key: system.admin.repo.operation

Description: Links in the Operations section of the admin Repository List

global, repository

Key: system.header.item

Description: Links in the header, separated by a pipe.

global

Key: system.fisheye.changeset

Description: This item relates to actions performed on a changeset, displayed in the tools menu next to each changeset activity item, and on the change set page.

global, changeset, repository

Key: system.fisheye.repo

Description: This item adds columns to the table of repositories displayed on the Repositories page. The plugin must supply a section which is used as the column header in the table.

global, repository

Key: system.fisheye.directory

Description: Per path (file or directory) links. Displayed in the directory tree in the left-hand navigation bar, under the Fisheye Source tab.

global, directory, repository

Key: system.fisheye.file

Per file links. Displayed in the 'Files' table on the Fisheye Source tab. The plugin must supply a section which is used as the column header in the table.

global, file, repository

Key: system.fisheye.revision

Description: Actions performed for a revision. Displayed in the header of the revision details pane, and next to each revision in the changeset view.

global, changeset, revision, repository

Key: repository.report.tab

Description: This item adds a link to the reports tab of a repository. This would usually be a link to a servlet which generates a page specifying the fisheye.report.tab decorator.

global, repository

Key: system.fisheye.directory.toolbar

Description: This item adds a link to the toolbar above a directory listing.

global, directory, repository

Key: system.search.results.header

Description: This item adds a link to the toolbar above a search results listing.

global

Visual Locations of Fisheye Web Items

system.admin

This location creates links in the left navigation bar in the Fisheye admin menu. The section controls which panel the link appears in.

Screenshot: Fisheye's system.admin Web Items

system.admin.project.operation

This item adds a link to each Project in the Projects administration page..

Screenshot: Fisheye's system.admin.project.operation Web Item

system.admin.repo.operation

This location creates links in the Operations column of the Repository List table, located in the administration console.

Screenshot: Fisheye's system.admin.repo.operation Web Item

system.header.item

This item creates a link in the header, at the top right of the screen.

Screenshot: The system.header.item Web Item

This example includes the user's login name in the link and the label.

1
2
<web-item key="test3" section="system.header.item">
  <link>/plugins/servlet/thing-servlet?name=${helper.global.user.userName}</link>
  <label key="System Header Item {0}">
     <param name="param0">${helper.global.user.userName}</param>
  </label>
</web-item>

system.fisheye.changeset

This item relates to actions performed on a changeset, displayed next to the review creation link in the Fisheye UI.

Screenshot: Fisheye's system.fisheye.changeset Web Item

system.fisheye.repo

This item adds columns to the table of repositories displayed on the Repositories page. The plugin must supply a section which is used as the column header in the table.

Sample XML:

1
2
<web-section key="repo-section" name="repoSection" location="system.fisheye.repo">-->
    <label key="System-Fisheye-Repo-(Section)" />
</web-section>
<web-item key="repo-link" section="system.fisheye.repo/repoSection">
    <link>/plugins/servlet/my-servlet?path=${helper.repository.path}</link>
    <label key="System-Fisheye-Repo-(Item)"/>
</web-item>

system.fisheye.directory

This item relates to links in the directory tree shown in the left hand navigation bar, under the Fisheye Source Tab.

Screenshot: Fisheye's system.fisheye.directory Web Item

Note that while system.fisheye.directory web items appear on both files and directories in the tree, we can suppressed the file items by using a condition:

1
2
<web-item key="directory-link" section="system.fisheye.directory">
        <link>/plugins/servlet/my-servlet?path=${helper.repository.path}</link>
        <label key="System-Fisheye-Directory"/>
        <condition class="com.atlassian.fisheye.plugin.web.conditions.IsRootOrDirectory"/>
</web-item>

system.fisheye.file

This item relates to per-file links on the Fisheye Browse Tab.

Screenshot: Fisheye's system.fisheye.file Web Item

The system.fisheye.file location needs a section to be defined, to provide the new column in the file table:

1
2
<web-section key="file-link-section" name="first-section" location="system.fisheye.file">
        <label key="System-Fisheye-File-Section" />
</web-section>
<web-item key="file-link" section="system.fisheye.file/first-section">
        <link>/plugins/servlet/my-servlet?path=${helper.repository.path}</link>
        <label key="System-Fisheye-File"/>
</web-item>

system.fisheye.revision

This item relates to actions performed for a revision in the Fisheye UI. It appears in the revision summary box at the bottom of the file history page, and next to each change set item on the change set page and activity lists.

Screenshot: Fisheye's system.fisheye.revision Web Item on File History Page

Screenshot: Fisheye's system.fisheye.revision Web Item on Change Set Page

repository.report.tab

This item adds a link to the reports tab of a repository. This would usually be a link to a servlet which generates a page specifying the fisheye.report.tab decorator.

1
2
<web-item key="test" section="repository.report.tab">
     <link>/plugins/servlet/report-servlet?name=${helper.repository.path}</link>
     <label key="Repository Report Tab {0}">
         <param name="param0">${helper.repository.repositoryData.name}</param>
     </label>
</web-item>

Screenshot: Fisheye's repository.report.tab Web Item on Reports tab

Note that system.report.tab web items also appear at this location.

system.fisheye.directory.toolbar

This item adds a link to the toolbar of a directory listing.

Screenshot: Fisheye's system.fisheye.directory.toolbar Web Item

system.search.results.header

This item adds a link to the toolbar above a search results listing.

Screenshot: Fisheye's system.search.results.header Web Item

 Looking for the Crucible web items? Click here.

Web Item Helpers

Name

Class

Example

global

GlobalHelper

${helper.global.user.userName}

project

ProjectData

${helper.project.defaultModerator}

review

ReviewData

${helper.review.creator.userName}

reviewItem

ReviewItemData

${helper.reviewItem.permId.id}

repository

RepositoryHelper

${helper.repository.path}

comment

CommentData

${helper.comment.message}

changeset

ChangesetDataFE

${helper.changeset.author}

revision

FileRevisionData

${helper.revision.path}

Rate this page: