Расширение справочных ссылок JIRA

Доступность: JIRA 6.2.5 и более поздние.

На этой странице описывается, как JIRA связывается с внешними справочными ресурсами. Эти методы позволяют JIRA использовать локаль пользователя и версию JIRA, чтобы решить, к какой документации обращаться, без необходимости жесткого кода URL. Они также позволяют разработчикам плагинов настраивать URL-адреса справки JIRA и создавать собственные URL-адреса справки.

HelpUrls и HelpUrlsParser

В Java-коде вы можете сделать что-то вроде этого.


this.helpUrls.getHelpUrl("jira101").getUrl();

На странице JavaServer (JSP) вы можете просто использовать теги Webwork, чтобы избежать необходимости добавлять геттеры к вашему действию.


<a href="<ww:help-url key='jira101'/>" title="<ww:help-title key='jira101'/>">JIRA 101</a>

Основные справочные ссылки JIRA

Этот раздел предназначен для сценаристов, использующих или изменяющих ядро URL-адресов JIRA (которые укажут на основную справочную документацию JIRA). Разработчики плагинов, желающие иметь свои собственные независимые URL-адреса, должны смотреть на использование внутри плагинов.

Чтобы использовать основные справочные ресурсы JIRA по URL-адресам , вам просто нужно ввести следующий код в свой компонент, и вы можете начать его использовать.


@Inject
HelpUrls urls;
...
return urls.getUrl("jira101").getTitle();

Названия ссылок, заголовки и URL-адреса вытягиваются из ресурсов, предоставляемых плагинами. Например, system-helppaths-plugin.xml определяет справочный ресурс help-paths.properties:

help-paths.properties


# Prefixes
url-prefix=https://docs.atlassian.com/jira/docs-${docs.version}/
url-prefix.ondemand=https://confluence.atlassian.com/display/Cloud/

# Section: JIRA 101
jira101.url=JIRA 101
jira101.url.ondemand=Get+a+feel+for+JIRA
jira101.title=JIRA 101
jira101.title.ondemand=JIRA+Cloud

Свойства, заканчивающиеся на .ondemand, используются для переопределения значений, которые используются в автономных установках (размещенных на вашем собственном сервере, а переменная docs.version соответствует версии JIRA, которая запущена. Поэтому, когда вы запрашиваете HelpUrls для jira101 вы получите одно из следующего.

Где

URL

Заголовок

Версия JIRA

Сервер

Почувствуйте JIRA

jira101

6.2.x

Облако

Облако JIRA

jira101

Не применимо

 

Плагины позволяют расширять и адаптировать URL-адреса справки, используемые в ядре JIRA. Например:

atlassian-plugin.xml


<atlassian-plugin key="example" name="Brenden's Example" plugins-version="2">
    <resource type="helpPaths" location="HelpPaths" name="help"/>
</atlassian-plugin>

help-paths_ja_JP.properties


# Prefixes
url-prefix=https://docs.atlassian.jp/jira/docs-${docs.version}/

# Section: JIRA 101
jira101.title=JIRAをはじめ
jira101.title.ondemand=JIRAのメーカーの紹介

Когда этот плагин установлен, JIRA создаст следующие URL-адреса справки:

Местонахождение пользователя- Locale.ROOT

URL BTF - рttps://docs.atlassian.com/jira/docs-062/JIRA+101

Заголовок BTF - Получите интерактивную справку о JIRA 101

URL OD - https://confluence.atlassian.com/display/AOD/JIRA+Studio+101

Заголовок OD  - Получите интерактивную справку о JIRA Studio 101

Заметки

  • Свойство url-prefix изменит URL-адрес каждого пути справки в JIRA. Это полезно для переноса документации на разные домены или на внутренний JIRA-сервер.
  • Файлы HelpPaths.properties должны быть закодированы в ISO-8859-1 с нелатинскими символами, закодированными с использованием native2ascii или какого-либо подобного инструмента. Это требование языковых пакетов JIRA.
  • У url-prefix будет $ {docs.version} или $ {doc.version} заменена текущей версией документации JIRA. Это версия, которую JIRA использует для ссылки на свою документацию (например, 6.2.1, 6.2.2, 6.2.x == 062; 6.3.1, 6.3.2, 6.3.x == 063).
  • Свойства, которые заканчиваются на .ondemand, будут видны только при запуске в экземпляре облака JIRA.
  • Заголовок URL-адреса не отображается напрямую. Он передается через перевод online.help.for.topic.

Использование в плагинах

В этом разделе рассказывается о плагинах, предоставляющих собственные URL-адреса справки независимо от основных URL-адресов поддержки JIRA. См. Основные справочные ссылки JIRA, если вы хотите использовать или настроить основные URL-адреса JIRA.

Плагин, возможно, пожелает предоставить свои собственные HelpUrls в свою собственную документацию. HelpUrlsParser принимает экземпляр Properties и возвращает HelpUrls. Например:


@Inject
HelpUrlsParser parser;
...
HelpUrls urls = parser.load(loadHelpProperties());
...
return urls.getUrl("servicedesk.intro").getTitle();

Для плагинов, которые версируются независимо от JIRA (JIRA Agile, ServiceDesk и т. д.), имеет смысл использовать ваш собственный экземпляр HelpUrls, чтобы ваши ссылки справки указывали на документацию для конкретной версии вашего плагина. Вот пример файла свойств в таком плагине.

sd-help-links.properties


# Prefixes
url-prefix=https://docs.atlassian.com/servicedesk/docs-${servicedesk.docs.version}/
url-prefix.ondemand=https://confluence.atlassian.com/display/Cloud-SD/

# Section: Intro pages
servicedesk.intro.url=ServiceDesk+Intro
servicedesk.intro.title=Introduction to ServiceDesk

Обратите внимание на использование свойства $ {serviceDesk.docs.version}, используемого для ссылки на версию плагина, которая в настоящее время запущена. Чтобы убедиться, что свойство будет заменено правильной версией плагина во время сборки, потребуется немного гимнастики Maven:

Настройте docsversion-maven-plugin в вашем pom.xml, чтобы значение свойства было правильно установлено.

pom.xml


<plugin>
    <groupId>com.atlassian.maven.plugins</groupId>
    <artifactId>docsversion-maven-plugin</artifactId>
    <version>1.0</version>
    <executions>
        <execution>
            <id>set-docs-version-property</id>
            <phase>initialize</phase>
            <goals>
                <goal>set-property</goal>
            </goals>
            <configuration>
                <!-- name of property used in sd-help-links.properties -->
                <property>servicedesk.docs.version</property>
            </configuration>
        </execution>
    </executions>
</plugin>

Включите фильтрацию ресурсов, чтобы заставить Maven интерполировать файлы ресурсов, добавив это в свой pom.xml (вы можете включить / исключить определенные файлы. См. документацию Maven по фильтрации).


<resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
</resource>

После создания этой инфраструктуры вы можете использовать свои HelpUrls для создания ссылок, которые версируются для вашего плагина. Используя приведенный выше пример, вы получите следующие справочные ссылки.

Где

URL

Заголовок

Версия JIRA

Сервер

ServiceDesk Intro

ServiceDesk Intro

1.x

Облако

ServiceDesk Intro

ServiceDesk Intro

Не применимо

 

HelpUtil

HelpUrls и HelpUrlsParser были представлены в JIRA 6.2.4. До этого класс HelpUtil предоставлял аналогичную функциональность. Например:

  • getInstance () или новый HelpUtil (): возвращает основные URL-адреса справки JIRA.
  • new HelpUtil (Свойства): возвращает URL-адреса справки в переданных свойствах.

HelpUtil теперь делегирует всю функциональность в HelpUrls и HelpUrlsParser, если это необходимо.

 

По материалам Atlassian JIRA  Server Developer Extending JIRA help links