Добавление пунктов меню в Jira

Применимость

Jira 7.0.0 и более поздних версий.

Уровень опыта

Начинающий. Это хороший учебник, чтобы попробовать, если вы никогда не разрабатывали приложение раньше.

Сроки:

Для завершения этого урока вам потребуется примерно полчаса.

 

Обзор учебника

В этом учебном пособии показано, как написать простое приложение, которое добавляет новое меню в заголовок Jira. Меню включает в себя два пункта меню, которые ссылаются на внешние веб-страницы. Это приложение просто, но полезно. Используя это приложение, вы можете ссылаться на заголовок Jira на веб-сайты, которые важны для вашей организации, такие как интранет вашей компании или внешний веб-сайт.

Вы можете добавить элементы интерфейса в Jira, добавив определения модулей в дескриптор приложения. В этом уроке вы добавите следующие модули:

  • Веб-раздел для определения новой вкладки (раздела) в верхней панели навигации Jira.
  • Несколько веб-элементов для добавления ссылок и пунктов меню в новый раздел.

Ваше завершенное приложение будет состоять из следующих компонентов:

  • Дескриптор приложения, чтобы включить приложение в Jira.
  • Необходимые модули плагинов, которые определяют новый раздел меню и пункты меню.

Это приложение не нуждается в каком-либо Java-коде, потому что модули плагинов, предоставляемые платформой Atlassian Plugin Framework, обеспечивают всю необходимую функциональность.

Об этих инструкциях

Вы можете использовать любую поддерживаемую комбинацию операционной системы и IDE для создания этого приложения. Эти инструкции были написаны с использованием IntelliJ IDEA 2017.3 на macOS Sierra. Если вы используете другую операционную систему или комбинацию IDE, вы должны использовать эквивалентные операции для своей конкретной среды.

 

Этот учебник был последний раз проверен с помощью Jira 7.7.1 с использованием Atlassian SDK 6.3.10.

Прежде чем вы начнете

Чтобы завершить этот учебник, вам необходимо знать следующее:

  1. Основы разработки Java: классы, интерфейсы, методы, использование компилятора и т. д.
  2. Как создать проект Atlassian plugin с помощью Atlassian Plugin SDK.
  3. Основы использования и управления Jira.

Источник приложения

Мы рекомендуем вам проработать этот учебник. Если вы хотите пропустить или проверить свою работу, когда закончите, вы можете найти исходный код приложения на Atlassian Bitbucket.

Чтобы клонировать репозиторий, выполните следующую команду:


git clone https://bitbucket.org/atlassian_tutorial/jira-menu-items-plugin.git

Кроме того, вы можете скачать исходный код в виде ZIP-архива

 

Шаг 1. Создайте проект приложения

На этом этапе вы будете использовать команду atlas- для создания кода-заглушки для вашего приложения.

  1. Настройте SDK Atlassian Plugin и создайте проект, если вы этого еще не сделали.
  2. Откройте терминал и перейдите в каталог, в котором вы хотите сохранить код проекта.
  3. Чтобы создать скелет приложения, выполните следующую команду:

atlas-create-jira-plugin

  1. Чтобы определить ваше приложение, введите следующую информацию при появлении запроса.

group-id

com.atlassian.plugins.tutorial

artifact-id

jira-menu-items

version

1.0-SNAPSHOT

package

com.atlassian.plugins.tutorial

  1. Подтвердите свои записи при появлении запроса. SDK создает исходные файлы проекта приложения в каталоге с именем jira-menu-items.

 

  1. Перейдите в каталог, созданный на предыдущем шаге.
  2. Удалите тестовые каталоги.

 

Настройка тестирования для вашего приложения не входит в этот учебник. Чтобы удалить сгенерированный тестовый скелет, выполните следующие команды:


rm -rf ./src/test/java
rm -rf ./src/test/resources/

  1. Удалите ненужные файлы классов Java.

rm -rf ./src/main/java/com/atlassian/plugins/tutorial/*

  1. Импортируйте проект в свою избранную среду IDE.

Шаг 2. Просмотрите и настройте сгенерированный код заглушки

Рекомендуется ознакомиться с файлом конфигурации проекта, известным как POM (то есть, файл определения объектной модели проекта).

На этом этапе вы просмотрите и настроите файл pom.xml.

POM находится в корне вашего проекта и объявляет зависимости проекта и другую информацию.

  1. Перейдите в корневую папку вашего приложения и откройте файл pom.xml.
  2. Добавьте название вашей компании или организации и URL вашего веб-сайта к элементу organization (следующие блоки кода показывают, как это выглядит в виде обычного текста):

<organization>
    <name>Example Company</name>
    <url>http://www.example.com/</url>
</organization>

  1. Чтобы добавить осмысленное описание для вашего приложения, обновите элемент description проекта. Например:

<description> Этот плагин добавляет ссылки компании в новое меню в заголовке JIRA. </ description>

  1. Сохраните файл.
  2. Ваш код заглушки содержит файл дескриптора приложения, называемый atlassian-plugin.xml. Это XML-файл, который идентифицирует приложение для хост-приложения (то есть Jira) и определяет требуемые функциональные возможности приложения.

Откройте файл atlassian-plugin.xml.

 

Вы должны увидеть что-то вроде этого (комментарии удалены):


<?xml version="1.0" encoding="UTF-8"?>
<atlassian-plugin key="${atlassian.plugin.key}" 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}"/>
        <param name="plugin-icon">images/pluginIcon.png</param>
        <param name="plugin-logo">images/pluginLogo.png</param>
    </plugin-info>
    <!-- add our i18n resource -->
    <resource type="i18n" name="i18n" location="jira-menu-items"/>
    <!-- add our web resources -->
    <web-resource key="jira-menu-items-resources" name="jira-menu-items Web Resources">
        <dependency>com.atlassian.auiplugin:ajs</dependency>
        <resource type="download" name="jira-menu-items.css" location="/css/jira-menu-items.css"/>
        <resource type="download" name="jira-menu-items.js" location="/js/jira-menu-items.js"/>
        <resource type="download" name="images/" location="/images"/>
        <context>jira-menu-items</context>
    </web-resource>
</atlassian-plugin>

Шаг 3. Запустите экземпляр Jira

На этом этапе вы запустите Jira и посмотрите, что у нас есть.

  1. В окне терминала перейдите в каталог jira-menu-items, созданный SDK.
  2. Выполните следующую команду SDK:

atlas-run

Эта команда запускает экземпляр Jira и загружает ваше приложение. На выходе найдите строку, которая выглядит примерно так:


[INFO] jira started successfully in 134s at http://localhost:2990/jira

 

Он сообщает вам, что экземпляр Jira запущен и показывает URL-адрес домашней страницы Jira.

 

  1. В браузере перейдите на домашнюю страницу Jira, указанную в выводе терминала.
  2. Войдите в систему, используя комбинацию имени пользователя и пароля admin / admin.
  3. При запросе типа создаваемого проекта создайте проект или нажмите «Отмена». Jira предлагает создать такой новый проект как этот, только когда вы запустите новый экземпляр.
  4. В правом верхнем углу страницы щелкните значок cog icon> Add-ons.
  5. Нажмите «Управление надстройками» в меню слева.
  6. В списке установленных пользователем надстроек найдите созданное вами -элементы-меню-приложения jira. Кроме того, введите имя в поле фильтра, чтобы быстро найти его.
  7. Нажмите приложение в списке, чтобы развернуть его представление сведений.Появятся сведения о вашем приложении.

РИСУНОК

Приложение заработало, но пока это мало что делает. Вы улучшите его в следующих шагах.

Оставьте Jira запущенной сейчас в браузере.

Шаг 4. Добавьте модули плагина в дескриптор приложения

На этом этапе вы добавите новый раздел и пункты меню в дескриптор приложения следующим образом.

  1. Перейдите в src / main / resources / и откройте файл atlassian-plugin.xml.
  2. Добавьте следующий веб-раздел в качестве дочернего элемента в atlassian-plugin:

<web-section name="My Links Main Section" i18n-name-key="my-links-main-section.name" key="my_links_section"
                 location="my_links_link" weight="10"/>

Это определяет раздел верхнего уровня, где вы будете размещать все пункты меню и ссылки.

Атрибут weight определяет порядок отображения веб-элементов. Элементы отображаются сверху вниз или слева направо в порядке возрастания веса. Самый легкий вес отображается первым, самые тяжелые грузы опускаются на дно.

Веса для большинства разделов системы приложений начинаются от 100, а веса для ссылок обычно начинаются с 10. Вес увеличивается на 10 для каждого в последовательности, чтобы было достаточно места для вставки ваших собственных разделов и ссылок.

  1. Добавьте следующий веб-элемент web-item:

<web-item key="my_links_link" name="Link on My Links Main Section" section="system.top.navigation.bar" weight="47">
    <label>My Company</label>
    <link linkId="my_links_link">http://www.atlassian.com</link>
</web-item>

Это определяет ссылку в разделе верхнего уровня с текстом «Моя компания». Мы указали ссылку на веб-сайте компании. LinkId требуется и должен быть таким же, как элемент местоположения веб-раздела. Он также предоставляет XML-идентификатор для создаваемой ссылки.

 

  1. Добавьте следующий веб-элемент web-item:

<web-item key="website_link" name="Company Web Site" section="my_links_link/my_links_section" weight="10">
    <label>Web Site</label>
    <link linkId="website_link">http://www.atlassian.com</link>
</web-item>

Это создает единый элемент меню с текстом «Веб-сайт», который ссылается на ваш веб-сайт компании.

 

  1. Добавьте следующий веб-элемент web-item:

<web-item key="documentation_link" name="Documentation Web Site" section="my_links_link/my_links_section" weight="10">
    <label>Documentation</label>
    <link linkId="documentation_link">http://confluence.atlassian.com</link>
</web-item>

Это создает пункт меню с надписью «Документация», который ссылается на ваш сайт документации.

  1. Сохраните файл.

Ваш файл atlassian-plugin.xml должен выглядеть примерно так:


                          <web-resource key="jira-menu-items-resources" name="jira-menu-items Web Resources">
        <dependency>com.atlassian.auiplugin:ajs</dependency>
        <resource type="download" name="jira-menu-items.css" location="/css/jira-menu-items.css"/>
        <resource type="download" name="jira-menu-items.js" location="/js/jira-menu-items.js"/>
        <resource type="download" name="images/" location="/images"/>
        <context>jira-menu-items</context>
    </web-resource>
    <web-section name="My Links Main Section" i18n-name-key="my-links-main-section.name" key="my_links_section"
                 location="my_links_link" weight="10"/>
    <web-item key="my_links_link" name="Link on My Links Main Section" section="system.top.navigation.bar" weight="47">
        <label>My Company</label>
        <link linkId="my_links_link">http://www.atlassian.com</link>
    </web-item>
    <web-item key="website_link" name="Company Web Site" section="my_links_link/my_links_section" weight="10">
        <label>Web Site</label>
        <link linkId="website_link">http://www.atlassian.com</link>
    </web-item>
    <web-item key="documentation_link" name="Documentation Web Site" section="my_links_link/my_links_section"
              weight="10">
        <label>Documentation</label>
        <link linkId="documentation_link">http://confluence.atlassian.com</link>
    </web-item>
</atlassian-plugin>

Шаг 5. Перезагрузите приложение и протестируйте его.

  1. В окне терминала запустите команду atlas-package, которая запускает QuickReload.
  2. Подождите, пока Jira не переустановит ваше приложение. В выводе терминала вы увидите много строк, заканчивающихся следующим:

[INFO] [talledLocalContainer]     Quick Reload Finished (791 ms)

  1. Обновите страницу своего браузера, чтобы увидеть изменения.
  2. Обратите внимание на новое меню в заголовке. Нажатие на записи приведет вас к введенным URL-адресам.

РИСУНОК

Поздравляю, вот и все!

Имейте удовольствие!

Следующие шаги

Когда вы закончите разработку и тестирование своего приложения, вы можете установить его в экземпляр Jira вашей компании, чтобы новые пункты меню были доступны для других людей.

 

Ваш JAR-файл приложения находится в target \ jira-menu-items-1.0.jar. Вы можете установить приложение, используя Universal Plugin Manager.

Похожие темы

  • Веб-фрагменты
  • Модуль плагина Web Section
  • Модуль плагина Web Item
  • Действия Jira Webwork

 

По материалам Atlassian JIRA  Server Developer Adding menu items to Jira