SCM Module Type

On this page:

Purpose of this Module Type

An SCM plugin module gives Crucible the ability to work with a custom version control system that is not supported out of the box.

Configuration

The root element for the SCM plugin module is scm. It allows the following attributes and child elements for configuration:

Attributes

Name

Required

Description

Default

class

(tick)

The SCM module Java class. Must implement com.atlassian.crucible.scm.SCMModule.

N/A

key

(tick)

The identifier of the SCM module.

N/A

name

The human-readable name of the SCM module.

The plugin key.

Elements

Name

Required

Description

Default

description

The description of the SCM module.

Example

Here's a complete atlassian-plugin.xml containing an SCM module.

Note that an SCM module is very likely to specify a configure.url and to contain a configuration servlet.

<atlassian-plugin key="${atlassian.plugin.key}" name="crucible-git-scm-plugin" pluginsVersion="2">
    <plugin-info>
        <description>An SCM provider for Git</description>
        <vendor name="Atlassian Software Systems" url="http://www.atlassian.com"/>
        <version>1.0-SNAPSHOT</version>
        <param name="configure.url">/plugins/servlet/gitscm</param>
    </plugin-info>

    <scm name="Git Light SCM" key="scmprovider" class="com.atlassian.crucible.plugins.scm.git.GitSCMModule">
        <description>SCM implementation for Git</description>
    </scm>

    <servlet name="Git Configuration Servlet" key="configservlet"
             class="com.atlassian.crucible.plugins.scm.git.GitConfigServlet" adminLevel="system">
        <description>Allows Configuration of Git SCM Plugin</description>
        <url-pattern>/gitscm</url-pattern>
    </servlet>
</atlassian-plugin>

Notes

See the Crucible SCM Plugin Tutorial to learn how to develop an SCM module plugin.

Was this page helpful?

Have a question about this article?

See questions about this article

Powered by Confluence and Scroll Viewport