Автор: Kristijan Sekereš
Краят на поддръжката на Atlassian Connect на 31 януари 2027 г.: преминаване на собствените приложения за Jira и Confluence към Forge

На 31 януари 2027 г. Atlassian прекратява поддръжката на Connect, рамката, върху която са изградени повечето по-стари приложения за Jira и Confluence Cloud. От този ден, както посочва Atlassian, компанията „will only address critical security vulnerabilities in Connect", а частно приложение, което все още работи на Connect, „will no longer be supported and may stop working properly".
Ако всички приложения във вашия сайт са от Atlassian Marketplace, това е работа на доставчиците ви и повечето от тях вече са я свършили: през август 2026 г. Atlassian съобщи, че „over 95% of paid app seats have been migrated to Forge".
Тази статия е за другия случай. Вашата компания има приложение за Jira или Confluence, което някой е разработил специално за вас: вътрешен разработчик, изпълнител, партньор. То е инсталирано чрез линк, а не е купено. Никой извън компанията ви няма да го премести, а човекът, който го е написал, може вече да не е наоколо.
Какво означава краят на поддръжката и какво не означава
Няма обявена дата на изключване. Atlassian не е казала, че приложенията на Connect спират да работят на 1 февруари 2027 г., а в първоначалното ѝ съобщение за графика се казва, че „customers who have Connect apps installed won't lose access to the app".
Не приемайте това за сигурност. Променя се това, че в Atlassian вече никой не се грижи за Connect:
- Поправят се само критични уязвимости в сигурността. Некритичните грешки остават.
- „Connect feature deprecations will happen with little notice."
- Поддръжката на Atlassian „will not be able to fix issues caused by that legacy technology".
- По думите на самата Atlassian: „Connect will not remain in a steady state after end of support. Breakages will increase and compatibility gaps will widen."
Така че рискът е постепенен, а не внезапна пропаст. Правдоподобен сценарий за повреда: Jira променя дадена страница, панел на Connect спира да се показва и няма към кого да отворите заявка. Ако това приложение е част от финансово одобрение или от бюро за обслужване на клиенти, научавате за проблема от хората, които зависят от него.
Какво вече се е случило
Януарската дата е последната стъпка от поредица, започнала през 2025 г.
- Септември 2025 г.: Marketplace спря да приема нови приложения на Connect.
- 31 март 2026 г.: актуализациите бяха замразени. Насоките на Atlassian за собствени приложения го казват направо: след тази дата „you'll no longer be able to push updates to Connect apps". Кодът на собствения ви сървър все още можете да променяте, но това, което приложението декларира пред Jira или Confluence (модулите, обхватите на достъп и уебхуковете си), е фиксирано.
- Март 2026 г.: графикът посочваше също, че „the ability to install new Connect private apps via Connected Apps will become unavailable". Третирайте деинсталирането като необратимо: не премахвайте частно приложение на Connect само за да видите какво ще се счупи.
- Август 2026 г.: Atlassian премести края на поддръжката от декември 2026 г. на 31 януари 2027 г. Това е един допълнителен месец. Не разчитайте на още един.
- Сега: Atlassian въвежда предупреждения в Atlassian Administration, където частните приложения, които все още са на Connect, са „marked with the LEGACY status".
Как да намерите частните си приложения
Започнете от Atlassian Administration, страницата Connected Apps. Всичко с етикет LEGACY работи на Connect. Контролният списък на Atlassian за разпознаване на частно приложение: ако повечето от следните твърдения са верни, преместването е ваша задача:
- инсталирано е чрез директен линк или в режим за разработчици, а не от Marketplace;
- не се вижда при търсене в Marketplace;
- изходният код се поддържа от вашата организация;
- няма информация за лицензиране и вашата организация е единствената, посочена в инсталациите;
- на страницата му в Connected Apps няма странична лента със свързани линкове (приложенията от Marketplace имат такава).
Atlassian добавя и едно практическо правило: собствено облачно приложение, изградено преди повече от пет години, най-вероятно е на Connect, а приложенията на Connect се хостват извън Atlassian, „typically on a service like Heroku, AWS, Azure, or Google Cloud Platform". Линкът View app details на приложението показва кой е разработчикът, доколкото това е известно на Atlassian.
За всяко приложение запишете пет неща, преди някой да пипне кода:
- Какво прави и кой го използва, в изречение, което собственикът на бизнес процеса би разпознал.
- Къде е изходният код. В хранилище под ваш контрол, на лаптопа на изпълнител или никъде.
- Къде работи и от чий акаунт се плаща хостингът. Ако сървърът е в облачния акаунт на бивш изпълнител, това е риск още днес, а не през януари.
- Дескрипторът. Всяко приложение на Connect предоставя файл
atlassian-connect.jsonна определен URL адрес. В него са изброени всички модули, обхвати на достъп и уебхукове, които приложението използва, което го прави най-надеждния опис, който ще получите. - Какви данни съхранява и къде: в собствената си база данни или в свойства, записани към задачи в Jira и страници в Confluence.
Решете, преди да разработвате
Не всяко частно приложение заслужава миграция. Съветът на самата Atlassian е да проверите дали някоя вградена функция на Jira или Confluence вече не върши тази работа и да мигрирате само това, от което организацията все още се нуждае. Старите приложения често са запълвали празнина, която продуктът междувременно е затворил.
За всяко приложение има един от три отговора: миграция, замяна с нещо поддържано или извеждане от употреба. Извеждането от употреба е легитимен изход. Atlassian препоръчва, ако се откажете от приложение, да уведомите потребителите му и да насрочите премахването му преди 31 януари 2027 г., вместо да го оставите да спре да работи от само себе си.
Какво включва преминаването към Forge
Forge не е Connect под ново име. Моделът на хостинг, моделът на сигурност и моделът на потребителския интерфейс се различават, затова Atlassian съветва дори собствениците на прости приложения да започнат рано с доказателство за концепция.
Хостинг
Приложението на Connect е уеб услуга, която вие поддържате. Приложението на Forge работи в инфраструктурата на Atlassian като функции с твърди ограничения: 25 секунди за функция, задействана от потребител, и до 900 секунди за асинхронни събития и планирани задачи. Приложение на Connect, което изпълнява десетминутна синхронизация, докато потребителят чака, трябва да премести тази работа в асинхронни събития, а всичко, което трае повече от петнадесет минути, трябва да се раздели на стъпки. Изходящите обръщения също са ограничени: всеки домейн, който не е деклариран в манифеста на приложението, се отхвърля.
Запазване на съществуващия бекенд
Forge Remote позволява на приложение на Forge да извиква услуги, които хоствате другаде, позволява на сървъра ви да проверява дали заявката наистина идва от Forge и дава на бекенда ви токени за извикване на API на Atlassian. За частно приложение с бизнес логика, натрупана с години на сървъра му, това често е по-краткият път: потребителският интерфейс и точките на интеграция се преместват във Forge, а логиката остава на мястото си.
Цената: заради Forge Remote приложението може да не отговаря на условията на програмата Runs on Atlassian. За вътрешен инструмент това има по-малко значение, но екипът ви по сигурност трябва да го приеме съзнателно.
Удостоверяване и права
Приложенията на Connect се удостоверяват с JWT, подписан със споделена тайна. Forge заменя това с обхвати на OAuth 2.0, декларирани в манифеста, а за отдалечените бекенди с Forge Invocation Token, който сървърът ви валидира вместо JWT.
След това всяко удостоверено обръщение към API на Jira или Confluence се прави или asUser, с правата на човека, който използва приложението, или asApp, което по думите на Atlassian работи „regardless of who uses the app". Да прегледате всяко обръщение и да изберете съзнателно е най-важната проверка на сигурността в цялата миграция.
Една разлика често изненадва екипите. Модулите на Connect се показват по подразбиране и на нелицензирани и анонимни потребители; модулите на Forge не се показват, освен ако манифестът не го разреши изрично с unlicensedAccess. Ако приложението ви показва нещо на клиенти на бюрото за обслужване или на анонимни читатели в Confluence, тествайте този път отделно.
Потребителският интерфейс
Страниците на Connect са iframe елементи, които комуникират с Jira или Confluence чрез JavaScript API на Atlassian. Forge ви дава две възможности:
- UI Kit: рамка, базирана на React, която показва вградени компоненти на Atlassian. Бърза и последователна, но изграждате от компонентите на Atlassian: собствен HTML може да не работи, а единствените статични ресурси, които приема, са изображения.
- Custom UI: ваш собствен HTML, CSS и JavaScript в iframe, който комуникира с продукта чрез
@forge/bridge.
Съществуващ фронтенд в iframe обикновено преминава към Custom UI с най-малко промени. Малките панели и екраните с настройки често се преработват по-бързо в UI Kit.
Данни
Тук миграциите се провалят. Forge има собствено хоствано хранилище: хранилище тип ключ-стойност, хранилище за потребителски обекти, Forge SQL и обектно хранилище в предварителна версия. Данните са ограничени до инсталацията и се съхраняват на същото място като сайта на Jira или Confluence, така че местоположението на данните е осигурено без допълнителна конфигурация.
Какво означава това за частно приложение:
- Данните в собствената база данни на приложението на Connect или се преместват в хранилището на Forge с еднократна задача за миграция, или остават, където са, и се достъпват чрез Forge Remote.
- Всичко, което приложението на Connect е съхранявало от страната на Atlassian под собствения си ключ на приложение, трябва да се експортира, докато старото приложение още работи. Проверете рано дали новото приложение може да го чете; не го приемайте за даденост.
- Forge пази хостваните данни 28 дни след деинсталиране, но повторното инсталиране не ги възстановява автоматично.
Напишете миграцията като скрипт, който може да се изпълнява многократно, с бройки, които можете да проверите, репетирайте я на тестов сайт и запазете експорта.
Постепенният път и защо вероятно не е за вас
Atlassian изгради по-щадящ път за приложенията на Connect: постепенно възприемане на Forge, при което се запазват съществуващите инсталации, дескрипторът се преобразува в манифест на Forge и се мести по едно семейство модули наведнъж, с вградена миграция на данните за някои модули като макроси, потребителски полета и валидатори на работни процеси.
Уловката е в първия абзац на ръководството: „The incremental adoption of Forge is only available for Confluence and Jira Connect apps that are already listed on Marketplace."
За частно приложение планирайте ново приложение на Forge. Внедрявате го в продукционната среда, споделяте го със сайта си чрез линк за инсталиране от конзолата за разработчици, оставяте го да работи до старото приложение на Connect, докато данните се мигрират и потребителите тестват, и след това премахвате приложението на Connect.
Ръководствата за възприемане остават полезни заради съответствието между модулите, както и списъкът с възможности на Connect, които не са налични във Forge: няколко модула на Jira Service Management и поддръжката за мобилното приложение са отбелязани като непланирани, а jiraReports все още се обсъжда. Сверете дескриптора си с този списък през първата седмица. Празнина там променя проекта.
План в обратен ред от 31 януари 2027 г.
От началото на октомври 2026 г. остават около седемнадесет седмици, а декември е кратък за всички. План, който издържа:
- Тази седмица: опишете всяко приложение със статус LEGACY с петте факта по-горе. Потвърдете кой контролира изходния код и акаунта за хостинг.
- До средата на октомври: решете за всяко приложение дали го мигрирате, заменяте или извеждате от употреба. Уведомете потребителите на всичко, което извеждате.
- До края на октомври: доказателство за концепция във Forge за най-трудната част от най-трудното приложение. Обикновено това е модул без пряк еквивалент във Forge или този, който съдържа най-много данни.
- Ноември: разработка и неколкократно изпълнение на миграцията на данните върху тестов сайт.
- Началото на декември: инсталирайте приложението на Forge до приложението на Connect, мигрирайте копие на данните и оставете хората, които го използват всеки ден, да го проверят.
- Януари 2027 г.: окончателна миграция, прехвърляне на потребителите и премахване на приложението на Connect едва след като новото е работило безпроблемно известно време.
Един панел, който чете данни от Jira и не съхранява нищо, е малка задача. Приложение със собствена база данни, правила за работни процеси и връзки с други системи се нуждае от всяка една от тези седмици.
Ако изпуснете датата, нищо публикувано от Atlassian не казва, че приложението спира в този ден. Но тогава изпълнявате бизнес процес върху платформа, която собственикът ѝ е спрял да поправя. Приемете това време като назаем и завършете преместването.
Когато първоначалният разработчик го няма
Atlassian разглежда този случай пряко. Ако не можете да установите или да се свържете с първоначалния собственик на приложението или вече нямате капацитет за разработка, тя предлага да ангажирате Solution Partner. Също толкова ясно казва, че без изходния код „it may be necessary to rebuild on Forge from scratch".
Дори без изходен код не започвате на сляпо. Дескрипторът изброява всичко, към което приложението се свързва, поведението му може да се наблюдава на тестов сайт, а ако компанията ви плаща сървъра, можете да видите какво реално е внедрено. Изграждането наново от тези части е по-бавно от пренасянето, но е позната величина.
Откъде да потърсите помощ
Поемаме код, който никой от настоящия екип не е писал, установяваме какво всъщност прави и го преместваме: за приложение на Connect това означава да прочетем дескриптора и сървъра, да изградим приложението на Forge и да напишем и репетираме миграцията на данните. Работата ни по поддръжка на наследени системи обикновено е началото, а ако имате разработчици, но не достатъчно, разширяването на екипа добавя хора към вашия екип за времето на проекта. Кажете ни какво прави приложението и къде работи: пишете ни на office@c9group.dev.
Миграция на платформи
Нови ръководства и промени в правилата по имейл
Когато се промени правило, премести се срок или публикуваме ново ръководство, ви го изпращаме по имейл.