[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-jira-chto-takoe-atlassian-sdk-i-kak-sozdat-plagin":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":19,"progress":20,"seo":21},920,"chto-takoe-atlassian-sdk-i-kak-sozdat-plagin",27,"jira","Jira","📋","Что такое Atlassian SDK и как создать плагин?","Atlassian SDK — набор инструментов для разработки плагинов (P2) для продуктов Atlassian, включая Jira Data Center, основанный на Maven и предоставляющий архетипы, команды сборки и локальное окружение для разработки.\n\n### Создание проекта\n\n```bash\n# Создание нового плагина из архетипа\natlas-create-jira-plugin\n# Интерактивно: groupId, artifactId, version, package\n\n# Структура созданного проекта:\nmy-jira-plugin\u002F\n├── pom.xml                          # Maven POM с Atlassian-зависимостями\n├── src\u002F\n│   ├── main\u002F\n│   │   ├── java\u002F\n│   │   │   └── com\u002Fexample\u002Fplugin\u002F  # Java-код плагина\n│   │   └── resources\u002F\n│   │       ├── atlassian-plugin.xml # Дескриптор плагина\n│   │       ├── css\u002F\n│   │       ├── js\u002F\n│   │       └── templates\u002F           # Velocity-шаблоны\n│   └── test\u002F\n│       ├── java\u002F                    # Юнит-тесты\n│       └── resources\u002F\n└── LICENSE\n```\n\n### Ключевые команды SDK\n\n```bash\natlas-run            # Запуск Jira с плагином (полная сборка + развёртывание)\natlas-debug          # Запуск с remote debug на порту 5005\natlas-package        # Сборка JAR\u002FOBR для деплоя\natlas-mvn clean install  # Maven-сборка через обёртку SDK\natlas-unit-test      # Запуск юнит-тестов\natlas-integration-test   # Запуск интеграционных тестов\n```\n\n### pom.xml (ключевые части)\n\n\u003Cdetails>\n\u003Csummary>Конфигурация Maven\u003C\u002Fsummary>\n\n```xml\n\u003Cproject>\n    \u003Cparent>\n        \u003CgroupId>com.atlassian.pom\u003C\u002FgroupId>\n        \u003CartifactId>public-pom\u003C\u002FartifactId>\n        \u003Cversion>6.0.3\u003C\u002Fversion>\n    \u003C\u002Fparent>\n\n    \u003Cdependencies>\n        \u003Cdependency>\n            \u003CgroupId>com.atlassian.jira\u003C\u002FgroupId>\n            \u003CartifactId>jira-api\u003C\u002FartifactId>\n            \u003Cversion>${jira.version}\u003C\u002Fversion>\n            \u003Cscope>provided\u003C\u002Fscope>\n        \u003C\u002Fdependency>\n        \u003Cdependency>\n            \u003CgroupId>com.atlassian.plugin\u003C\u002FgroupId>\n            \u003CartifactId>atlassian-spring-scanner-annotation\u003C\u002FartifactId>\n            \u003Cversion>${spring.scanner.version}\u003C\u002Fversion>\n            \u003Cscope>provided\u003C\u002Fscope>\n        \u003C\u002Fdependency>\n    \u003C\u002Fdependencies>\n\n    \u003Cbuild>\n        \u003Cplugins>\n            \u003Cplugin>\n                \u003CgroupId>com.atlassian.maven.plugins\u003C\u002FgroupId>\n                \u003CartifactId>jira-maven-plugin\u003C\u002FartifactId>\n                \u003Cversion>${amps.version}\u003C\u002Fversion>\n                \u003Cconfiguration>\n                    \u003CproductVersion>${jira.version}\u003C\u002FproductVersion>\n                    \u003CproductDataVersion>${jira.version}\u003C\u002FproductDataVersion>\n                    \u003CenableQuickReload>true\u003C\u002FenableQuickReload>\n                \u003C\u002Fconfiguration>\n            \u003C\u002Fplugin>\n        \u003C\u002Fplugins>\n    \u003C\u002Fbuild>\n\u003C\u002Fproject>\n```\n\n\u003C\u002Fdetails>\n\n### OSGi основы\n\nP2-плагины — это OSGi-бандлы. Каждый плагин работает в своём загрузчике классов (ClassLoader), изолированно от других плагинов.\n\n```\n┌─────────────────────────────────────────┐\n│             Jira Application            │\n│  ┌───────────┐  ┌───────────┐          │\n│  │ Plugin A  │  │ Plugin B  │          │\n│  │ (Bundle)  │  │ (Bundle)  │          │\n│  │ Import:   │  │ Export:   │          │\n│  │  pkg.b    │  │  pkg.b    │          │\n│  └───────────┘  └───────────┘          │\n│  OSGi Framework (Felix)                 │\n└─────────────────────────────────────────┘\n```\n\n- Import-Package: пакеты, которые плагин использует из хоста или других плагинов\n- Export-Package: пакеты, которые плагин предоставляет другим\n- `@ExportAsService` — публикация компонента как OSGi-сервиса\n- `@ComponentImport` — импорт сервиса из Jira или другого плагина\n\n### Частые ошибки\n\n- Добавление зависимостей без `provided` scope — плагин тащит конфликтующие библиотеки\n- Использование библиотек, несовместимых с OSGi (например, некоторые версии Guava, Jackson)\n- Забыть `atlas-package` после изменений — QuickReload подхватывает только скомпилированный JAR\n- Разработка с версией Jira, отличной от production — API может отличаться\n\n### Как используется в 2026\n\n- Atlassian SDK продолжает поддерживаться для DC, но Atlassian не добавляет новых функций\n- AMPS (Atlassian Maven Plugin Suite) версии 8.x — актуальная версия\n- DC 9.x и 10.x — актуальные версии Jira для разработки\n- Сообщество активно использует Docker для локальной разработки как альтернативу atlas-run\n\n> **На собеседовании:** покажите знание основных команд SDK (atlas-run, atlas-debug, atlas-package) и понимание OSGi-модели. Ключевой момент: зависимости Jira API имеют scope provided, потому что они уже есть в рантайме. QuickReload ускоряет цикл разработки без перезапуска Jira.","","middle",[15,16,17,18,7],"osgi","maven","atlassian-sdk","jira-plugin",[],null,{"title":22,"description":23,"ogTitle":24,"ogDescription":25,"keywords":26,"schemaAnswer":36,"featuredSnippetReady":37},"Что такое Atlassian SDK и как создать плагин — Gymterview","Atlassian SDK: создание P2-плагина, команды atlas-run\u002Fatlas-debug, структура проекта, OSGi-бандлы, Maven конфигурация. QuickReload для ускорения разработки.","Atlassian SDK: создание плагинов Jira Data Center — Gymterview","Как создать P2-плагин для Jira DC: Atlassian SDK, команды, структура проекта, OSGi-модель, Maven конфигурация.",[27,28,29,30,31,32,33,34,35],"Atlassian SDK","atlas-run","atlas-debug","P2 плагин","OSGi","Maven","Jira DC","QuickReload","Java","Atlassian SDK — набор инструментов для разработки P2-плагинов Jira DC, основанный на Maven. Команды: atlas-create-jira-plugin (создание), atlas-run (запуск Jira с плагином), atlas-debug (с debug-портом 5005), atlas-package (сборка JAR). Плагины — OSGi-бандлы с изолированным ClassLoader. Зависимости Jira API имеют scope provided.",true]