Package hudson.scm

Class RepositoryBrowser<E extends ChangeLogSet.Entry>

All Implemented Interfaces:
ExtensionPoint, Describable<RepositoryBrowser<?>>, Serializable

@ExportedBean public abstract class RepositoryBrowser<E extends ChangeLogSet.Entry> extends AbstractDescribableImpl<RepositoryBrowser<?>> implements ExtensionPoint, Serializable
Connects Hudson to repository browsers like ViewCVS or FishEye, so that Hudson can generate links to them.

RepositoryBrowser instance is normally created as a result of job configuration, and stores immutable configuration information (such as the URL of the FishEye site).

RepositoryBrowser is persisted with SCM.

To have Hudson recognize RepositoryBrowser, put Extension on your Descriptor.

Since:
1.89
Author:
Kohsuke Kawaguchi
See Also:
  • Constructor Details

    • RepositoryBrowser

      public RepositoryBrowser()
  • Method Details

    • getChangeSetLink

      public abstract URL getChangeSetLink(E changeSet) throws IOException
      Determines the link to the given change set.
      Returns:
      null if this repository browser doesn't have any meaningful URL for a change set (for example, ViewCVS doesn't have any page for a change set, whereas FishEye does.)
      Throws:
      IOException
    • trimHeadSlash

      protected static String trimHeadSlash(String s)
      If the given string starts with '/', return a string that removes it.
    • normalizeToEndWithSlash

      protected static URL normalizeToEndWithSlash(URL url)
      Normalize the URL so that it ends with '/'.

      An attention is paid to preserve the query parameters in URL if any.

    • all

      Returns all the registered RepositoryBrowser descriptors.