[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-jira-chto-takoe-connect-i-chem-on-otlichaetsya-ot-forge":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},1065,"chto-takoe-connect-i-chem-on-otlichaetsya-ot-forge",27,"jira","Jira","📋","Что такое Connect и чем он отличается от Forge?","Atlassian Connect — фреймворк для разработки Cloud-приложений, где приложение хостится на собственном сервере разработчика и интегрируется с Jira через iframe и REST API.\n\n### Архитектура Connect\n\n```\n┌──────────────────┐              ┌──────────────────┐\n│   Jira Cloud     │   iframe     │  Connect App     │\n│                  │ ←──────────→ │  (ваш сервер)    │\n│  ┌────────────┐  │              │                  │\n│  │ iframe     │  │   REST API   │  Spring Boot \u002F   │\n│  │ (app UI)   │  │ ←──────────→ │  Node.js \u002F ...   │\n│  └────────────┘  │              │                  │\n│  JWT Auth        │   Webhooks   │  PostgreSQL \u002F     │\n└──────────────────┘ ────────────→│  MongoDB \u002F ...    │\n                                  └──────────────────┘\n```\n\n### Сравнение Forge vs Connect\n\n| Аспект | Forge | Connect |\n|---|---|---|\n| Хостинг | Atlassian (serverless) | Свой сервер |\n| Язык | TypeScript\u002FJavaScript | Любой |\n| БД | Forge Storage (KV, 32KB) | Любая (PostgreSQL, etc.) |\n| UI | UI Kit \u002F Custom UI (React) | iframe (любой фреймворк) |\n| Аутентификация | Автоматическая | JWT (ручная реализация) |\n| Timeout | 25 секунд | Нет (свой сервер) |\n| Сложность деплоя | Минимальная (forge deploy) | Высокая (свой CI\u002FCD) |\n| Контроль | Ограниченный | Полный |\n| Стоимость инфраструктуры | Бесплатно (до лимитов) | Свои серверы |\n\n### Lifecycle callbacks (Spring Boot)\n\n```java\n@RestController\n@RequestMapping(\"\u002Fapi\u002Flifecycle\")\npublic class LifecycleController {\n\n    private final TenantService tenantService;\n\n    @PostMapping(\"\u002Finstalled\")\n    public ResponseEntity\u003CVoid> installed(@RequestBody InstallPayload payload) {\n        tenantService.register(\n                payload.getClientKey(),\n                payload.getSharedSecret(),\n                payload.getBaseUrl(),\n                payload.getProductType()\n        );\n        return ResponseEntity.ok().build();\n    }\n\n    @PostMapping(\"\u002Funinstalled\")\n    public ResponseEntity\u003CVoid> uninstalled(@RequestBody UninstallPayload payload) {\n        tenantService.unregister(payload.getClientKey());\n        return ResponseEntity.ok().build();\n    }\n}\n```\n\n### Частые ошибки\n\n- Не реализовать lifecycle callbacks — приложение не знает о новых\u002Fудалённых инстансах\n- Хранить shared secret в plain text — компрометация даёт полный доступ к Jira-инстансу\n- Не обрабатывать мультитенантность — данные одного клиента утекают другому\n- Не проверять JWT в каждом запросе — открытый API без аутентификации\n\n### Как используется в 2026\n\n- Connect остаётся востребованным для enterprise-приложений с собственной инфраструктурой\n- Atlassian не deprecated Connect, но рекомендует Forge для новых приложений\n- Популярный стек: Spring Boot + Connect + PostgreSQL + React (в iframe)\n- Миграция Connect -> Forge возможна, но трудоёмка из-за различий в архитектуре\n\n> **На собеседовании:** покажите понимание архитектурных различий. Connect — правильный выбор, когда нужен полный контроль над стеком, собственная БД, тяжёлые вычисления. Мультитенантность — ключевой вызов: Connect-приложение обслуживает множество Jira-инстансов. JWT shared secret критически важен — хранить в Vault\u002FKMS.","","middle",[15,16,17,18,7],"jwt","spring-boot","jira-cloud","jira-connect",[],null,{"title":22,"description":23,"ogTitle":24,"ogDescription":25,"keywords":26,"schemaAnswer":35,"featuredSnippetReady":36},"Что такое Connect и чем он отличается от Forge — Gymterview","Atlassian Connect: self-hosted приложения для Jira Cloud через iframe и REST API. JWT-аутентификация, lifecycle callbacks. Сравнение Forge vs Connect.","Connect vs Forge: два фреймворка Jira Cloud — Gymterview","Atlassian Connect: self-hosted, полный контроль, JWT. Сравнение с Forge: хостинг, язык, БД, timeout, сложность деплоя.",[27,28,29,30,31,32,33,34],"Atlassian Connect","Forge vs Connect","JWT","iframe","Jira Cloud","lifecycle","мультитенантность","shared secret","Connect — фреймворк для self-hosted Cloud-приложений, интегрированных через iframe и REST API с JWT-аутентификацией. Отличия от Forge: любой язык (не только TypeScript), собственная БД (не 32KB лимит), нет timeout (не 25s), но нужен свой сервер и CI\u002FCD. Мультитенантность — ключевой вызов: данные изолированы по clientKey. Atlassian рекомендует Forge для новых, Connect для сложных enterprise-приложений.",true]