stash-hipchat / src / main / resources / atlassian-plugin.xml

<?xml version="1.0" encoding="UTF-8"?>

<atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">
    <plugin-info>
        <description>${project.description}</description>
        <version>${project.version}</version>
        <vendor name="${project.organization.name}" url="${project.organization.url}"/>
    </plugin-info>

    <resource type="i18n" name="i18n" location="com.jonmort.stash.hipchat.stash-hipchat"/>

    <rest name="Configuration Resource" i18n-name-key="configuration-resource.name" key="configuration-resource"
          path="/stash-hipchat" version="1.0">
        <description>Rest resourcs for configuration</description>
    </rest>

    <component key="notification-manager" class="com.jonmort.stash.hipchat.RoomNotificationManager"/>

    <component-import key="requestFactory" interface="com.atlassian.sal.api.net.RequestFactory"/>
    <component-import key="soyTemplateRenderer" interface="com.atlassian.soy.renderer.SoyTemplateRenderer"/>
    <component-import key="applicationPropertiesService"
                      interface="com.atlassian.stash.server.ApplicationPropertiesService"/>
    <component-import key="pluginSettingsFactory"
                      interface="com.atlassian.sal.api.pluginsettings.PluginSettingsFactory"/>

    <web-item key="repo-config" name="Repository Config Link" section="stash.repository.settings.action" weight="10">
        <condition class="com.jonmort.stash.hipchat.HipChatConfiguredCondition"/>
        <description>Link to the repository configuration</description>
        <label key="jonmort.hipchat-stash.repo-config.link"/>
        <link/>
        <styleClass>hipchat-repo-config-link</styleClass>
    </web-item>

    <web-item key="hipchat-config" name="HipChat Config Link" section="atl.admin/admin-plugins-section" weight="500">
        <description>Link to the HipChat configuration</description>
        <label key="jonmort.hipchat-stash.hipchat-config.link"/>
        <link/>
        <styleClass>hipchat-config-link</styleClass>
    </web-item>

    <stash-resource key="hipchat-admin-soy" name="Admin Soy Templates">
        <directory location="/views/hipchat/admin/">
            <exclude>/**/*-min.*</exclude>
        </directory>
        <context>internal.layout.admin</context>
        <context>atl.admin</context>
    </stash-resource>

    <stash-resource key="hipchat-room-soy" name="Room Config Soy Templates">
        <directory location="/views/hipchat/room/">
            <exclude>/**/*-min.*</exclude>
        </directory>
        <context>atl.general</context>
    </stash-resource>

    <stash-resource key="hipchat-message-soy" name="Message Soy Templates">
        <directory location="/views/hipchat/message/">
            <exclude>/**/*-min.*</exclude>
        </directory>
        <dependency>com.atlassian.stash.stash-web-plugin:base-layout</dependency>
    </stash-resource>

    <web-resource key="admin-resources" name="Admin Resources">
        <resource type="download" name="hipchat-admin.js" location="js/hipchat-admin.js"/>
        <context>internal.layout.admin</context>
        <context>atl.admin</context>
        <dependency>com.atlassian.auiplugin:ajs</dependency>
        <dependency>${project.groupId}.${project.artifactId}:hipchat-admin-soy</dependency>
    </web-resource>

    <web-resource key="room-resources" name="Room Config Resources">
        <resource type="download" name="hipchat-rooms.js" location="js/hipchat-rooms.js"/>
        <context>atl.general</context>
        <dependency>com.atlassian.auiplugin:ajs</dependency>
        <dependency>${project.groupId}.${project.artifactId}:hipchat-room-soy</dependency>
    </web-resource>


    <web-panel key="aui-message-area" weight="10" location="stash.notification.banner.header">
        <resource name="view" type="velocity">
            <![CDATA[
                <div id="hipchat-stash-aui-message-bar"></div>
            ]]>
        </resource>
    </web-panel>
</atlassian-plugin>
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.