Поздравления всем.
Эта статья поможет новичкам в области веб-программирования научиться писать плагины для 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, а также шаблонов скорости.
Тогда у нас будет следующий код:
Давайте посмотрим на это поближе: имя — название модуля, которое вы увидите при просмотре установленного плагина i18n-имя-ключ — ключ, по которому JIRA будет искать человекочитаемое имя модуля в файле .<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>
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
-
О Газонах И Опыте
19 Oct, 24