Jira: Создание Плагинов. Возможности Фреймворка

Поздравления всем.

Эта статья поможет новичкам в области веб-программирования научиться писать плагины для JIRA. В начале работы с этой системой я сам столкнулся с тем, что, во-первых, нет ни одного достаточно подробного и русскоязычного руководства.

А во-вторых, большая часть статей рассчитана на достаточно опытных людей.

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

О настройке и установке Maven и SDK, вещах, необходимых для создания плагинов и их интеграции в IDE достаточно подробно написано на сайте.

Атласиан , поэтому я лишь кратко опишу, для чего они нужны.

Maven — это платформа, используемая для создания плагинов.

SDK (комплект для разработки программного обеспечения) Расширяет возможности Maven и упрощает процесс создания плагина, а также добавляет в Maven кучу библиотек, необходимых для работы с JIRA.



Создание плагина

Все начинается с выбора каталога для его размещения (в командной строке компакт-диск C:\ваш_каталог ), после чего создается скелет команда плагина атлас-создание-джира-плагин .

предлагается выбор настроек.

После таких простых операций, как выбор имени, версии и т. д., в итоге получаем скелет. Скелет состоит из следующих основных частей:

файл pom.xml
Расположен в корне плагина.

Этот xml-файл содержит название, версию плагина, информацию о нем (например, разработчике) и самое главное — необходимые библиотеки.

В туториалах на упомянутом выше сайте достаточно примеров, но я выделю пару проблемных мест. Если плагин собран не командой чистый пакет atlas-mvn или атлас-бег в командной строке и не отображает ошибки, связанные с синтаксисом, значит проблема в файле pom.xml. Наиболее распространенные ошибки при работе из командной строки: 1) не была раскомментирована зависимость jira-core, которая дает доступ к большинству библиотек Jira и необходима, если вы собираетесь делать хоть что-то, минимально выходящее за рамки стандартного функционала.

2) на самом деле это не ошибка в файле pom.xml, но это потратило много моего времени.

Если у вас есть прокси дома/на работе/там, где вы пишете код, очень тщательно настройте прокси в файле конфигурации Maven. Как это сделать, смотрите на сайте Atlassian. 3) не зарегистрированы нужные библиотеки.

И тут может возникнуть проблема: установка внешних библиотек в Maven описана на сайте Maven, однако если мы имеем дело с Atlassian SDK, то запускаем установка МВН: установить вам необходимо указать полный путь к файлу mvn.bat, то есть так: C:\Atlassian\atlassian-plugin-sdk\apache-maven\bin\mvn install:install. , после чего обязательно добавьте библиотеку в репозиторий Maven, который находится по адресу %Atlassian_HOME%\atlassian-plugin-sdk\repository

Файл atlassian-plugin.xml
Находится в src/main/resources. Этот файл полностью отвечает за взаимодействие системы и плагина в момент его установки.

В нем описаны модули, которые будут включены в плагин, компоненты и ресурсы, которые использует плагин (файлы локализации, javascript, css, изображения).

Все возможные модули определены Atlassian, полный список см.

то самое место .

Этих модулей вполне достаточно для реализации поставленных задач.

Также возможно переопределить некоторые классы JIRA. В этом файле также есть кое-что, что не совсем понятно новичкам: связь между Java-классами и шаблонами скорости.

Velocity — это язык шаблонов страниц, похожий на jsp. Он имеет собственный простой синтаксис, похожий на паскаль.

Основная функция — генерировать частично (в нашем случае) или полностью код страницы в зависимости от параметров, которые передаются в нее из java-классов.

В нем можно задавать различные условия, делать циклы и т. д. Более того, код скорости совместим как с html, так и с javascript, что делает его мощным инструментом.

Давайте рассмотрим пример создания модуля настраиваемого поля в atlassian-plugin.xml; он лучше всего подходит для понимания принципов построения файла atlassian-plugin.xml, а также шаблонов скорости.

Тогда у нас будет следующий код:

   

<customfield-type name="MyCF" i18n-name-key="my-first-cf" key="MyCf" class="com.example.cf"> <description key="field-desc">The new field</description> <resource name="view" type="velocity" location="/templates/view.vm"/> <resource name="edit" type="velocity" location="/templates/edit.vm"/> </customfield-type>

Давайте посмотрим на это поближе: имя — название модуля, которое вы увидите при просмотре установленного плагина i18n-имя-ключ — ключ, по которому JIRA будет искать человекочитаемое имя модуля в файле .

properties (особенно актуально для интернализации, то есть перевода плагина на несколько языков) сорт — Класс Java, определяющий поведение поля.

Некоторые методы из него выполняются каждый раз, когда вы пытаетесь просмотреть/отредактировать значение поля, некоторые — для проверки достоверности значения.

Однако это другая история.

описание — здесь все то же самое, что и с именем, только для описания И, пожалуй, самое интересное, ресурс .

Здесь для пользовательских полей всегда указываются файлы Velocity, которые будут отвечать за отображение поля в различных ситуациях, таких как редактирование поля, просмотр поля, просмотр поля в «Поиске по запросу», просмотр поля при выводе как xml и т. д.

Файлы скорости
По умолчанию в файлы скорости для пользовательского поля передаются следующие значения: $value — текущее значение, $customfiled — объект поля, $fieldLayoutItem — характеристики поля.

Внутри файла скорости есть вызов объектов #header и #footer, которые затрагиваются очень редко; обычно того, что содержится между ними, достаточно для настройки поведения.

В самых простых примерах достаточно одного html, потом может потребоваться подключение javascript. Ну а для сложных полей понадобится все вместе: передача новых параметров в скорость, условия и циклы скорости, умелое объединение вышеперечисленного с html и javascript.

файлы .

properties

Они используются, как уже упоминалось вскользь, для интернационализации своего плагина.

Достаточно указать его в списке ресурсов, сделать копии с разными окончаниями (для РФ — MyProject_ru_RU.properties), и, вуаля, в зависимости от выбранного языка интерфейс в моем примере изменится с английского на русский.



Создание плагина

Здесь все просто: команда модуль плагина atlas-create-jira позволяет добавить новый модуль в существующий проект (настраиваемое поле, остальное, вкладка проекта).

Эта команда изменяет atlassian-plugin.xml, добавляет новые классы Java и файлы скорости.

Выполняется после перехода команды на проект CD .

Осторожно , путь к шаблонам скорости не всегда прописан правильно в atlassian-plugin.xml. Обратите внимание, что не все модули можно добавить таким образом; некоторые придется добавлять вручную.



Подготовка проекта к импорту в eclipse

Я использую Eclipse в качестве рекомендуемой среды разработки Atlassian. Команда atlas-mvn eclipse:eclipse поможет вам создать файл .

project. На основе вашего pom.xml он также загружает необходимые библиотеки из репозиториев maven и atlassian. ОБНОВЛЕНИЕ: После попытки создания плагинов в Intellij IDEA я понял, что IDEA — мой выбор.

Большинство зависимостей, определенных в файлах .

pom, загружаются автоматически (без команды cmd), что существенно экономит время и нервы.



Финишная черта

И, наконец, после всего вышеперечисленного и написания кода, вы можете в командной строке написать чистый пакет atlas-mvn, который соберет для вас версию плагина, или atlas-run, который соберет плагин и запустит локальную Gira. и наслаждайтесь дальнейшим процессом разработки и тестирования.

Теги: #Jira #Плагины #руководство #веб-разработка #разработка веб-сайтов #java

Вместе с данным постом часто просматривают: