Besedilo: Kristijan Sekereš

Konec podpore za Atlassian Connect 31. januarja 2027: selitev aplikacij Jira in Confluence po meri na Forge

Ena rdeča sestavljanka med zelenimi

Atlassian 31. januarja 2027 konča podporo za Connect, ogrodje, na katerem je bila zgrajena večina starejših aplikacij za Jira in Confluence Cloud. Od tega dne bo Atlassian, kot pravi, „v Connect odpravljal le kritične varnostne ranljivosti“, zasebna aplikacija, ki še teče na Connect, pa „ne bo več podprta in morda ne bo več delovala pravilno“.

Če so vse aplikacije na vašem spletnem mestu prišle iz Atlassian Marketplace, je to naloga vaših ponudnikov in večina jih je to že opravila: Atlassian je avgusta 2026 sporočil, da je bilo „na Forge preseljenih več kot 95 % plačanih sedežev aplikacij“.

Ta članek je za drugi primer. Vaše podjetje ima aplikacijo za Jira ali Confluence, ki jo je nekdo zgradil za vas: interni razvijalec, zunanji izvajalec, partner. Nameščena je bila prek povezave, ne kupljena. Nihče zunaj vašega podjetja je ne bo preselil, oseba, ki jo je napisala, pa morda ni več tu.

Kaj konec podpore pomeni in česa ne pomeni

Objavljenega datuma izklopa ni. Atlassian ni rekel, da aplikacije Connect 1. februarja 2027 prenehajo delovati, njegova prvotna napoved časovnice pa je navajala, da „stranke z nameščenimi aplikacijami Connect dostopa do aplikacije ne bodo izgubile“.

Tega ne berite kot varnost. Spremeni se to, da za Connect pri Atlassianu ne skrbi nihče več:

  • Odpravljene so le kritične varnostne ranljivosti. Nekritične napake ostanejo.
  • „Funkcije Connect bodo opuščene z malo vnaprejšnjega obvestila.“
  • Podpora Atlassian „ne bo mogla odpraviti težav, ki jih povzroča ta podedovana tehnologija“.
  • Po Atlassianovih lastnih besedah: „Connect po koncu podpore ne bo ostal v stabilnem stanju. Okvar bo vse več in vrzeli v združljivosti se bodo večale.“

Tveganje je torej postopno, ne prepad. Verjetna odpoved: Jira spremeni stran, plošča Connect se preneha izrisovati, nikogar pa ni, pri komer bi odprli zahtevek. Če je ta aplikacija del finančne odobritve ali službe za pomoč strankam, boste za to izvedeli od ljudi, ki so od nje odvisni.

Kaj se je že zgodilo

Januarski datum je zadnji korak zaporedja, ki se je začelo leta 2025.

  • September 2025: Marketplace je prenehal sprejemati nove aplikacije Connect.
  • 31. marec 2026: posodobitve so bile zamrznjene. Atlassianova navodila za aplikacije po meri so to povedala naravnost: po tem datumu „posodobitev aplikacij Connect ne boste več mogli objaviti“. Kodo na lastnem strežniku še vedno lahko spreminjate, to, kar aplikacija prijavlja Jiri ali Confluenci (njeni moduli, obsegi in webhooki), pa je fiksno.
  • Marec 2026: časovnica je navajala tudi, da „možnost namestitve novih zasebnih aplikacij Connect prek Connected Apps ne bo več na voljo“. Odstranitev obravnavajte kot enosmerno: zasebne aplikacije Connect ne odstranite samo zato, da bi videli, kaj se pokvari.
  • Avgust 2026: Atlassian je konec podpore premaknil z decembra 2026 na 31. januar 2027. To je en mesec več. Ne računajte na še enega.
  • Zdaj: Atlassian v Atlassian Administration uvaja opozorila, zasebne aplikacije, ki so še na Connect, pa so „označene s statusom LEGACY“.

Kako najti svoje zasebne aplikacije

Začnite v Atlassian Administration, na strani Connected Apps. Vse, kar je označeno z LEGACY, teče na Connect. Atlassianov kontrolni seznam za prepoznavanje zasebne aplikacije: če večina tega drži, jo morate preseliti vi:

  • nameščena je bila prek neposredne povezave ali v razvijalskem načinu, ne iz Marketplace;
  • v iskanju Marketplace ni vidna;
  • izvorno kodo vzdržuje vaša organizacija;
  • nima podatkov o licenci, med namestitvami pa je navedena le vaša organizacija;
  • na njeni strani Connected Apps ni stranske vrstice s povezavami (aplikacije iz Marketplace jo imajo).

Atlassian dodaja okvirno pravilo: aplikacija po meri za oblak, zgrajena pred več kot petimi leti, je verjetno aplikacija Connect, aplikacije Connect pa gostujejo zunaj Atlassiana, „običajno na storitvi, kot so Heroku, AWS, Azure ali Google Cloud Platform“. Povezava View app details pokaže, kdo je razvijalec, kolikor Atlassian to ve.

Za vsako aplikacijo zapišite pet stvari, preden se kdorkoli dotakne kode:

  1. Kaj počne in kdo jo uporablja, v stavku, ki ga poslovni lastnik prepozna.
  2. Kje je izvorna koda. Repozitorij, ki ga nadzorujete, prenosnik zunanjega izvajalca ali nikjer.
  3. Kje teče in čigav račun plačuje gostovanje. Če strežnik teče na oblačnem računu nekdanjega zunanjega izvajalca, je to tveganje danes, ne januarja.
  4. Deskriptor. Vsaka aplikacija Connect na nekem URL streže datoteko atlassian-connect.json. V njej so navedeni vsi moduli, obsegi in webhooki, ki jih aplikacija uporablja, zato je to najzanesljivejši popis, ki ga boste dobili.
  5. Katere podatke hrani in kje: v lastni bazi podatkov ali v lastnostih, shranjenih na zadevah Jira in straneh Confluence.

Odločite, preden gradite

Vsaka zasebna aplikacija si selitve ne zasluži. Atlassianov lastni nasvet je, da preverite, ali delo zdaj opravi izvorna funkcija Jire ali Confluence, in selite le tisto, kar organizacija še potrebuje. Stare aplikacije so pogosto zapolnile vrzel, ki jo je izdelek medtem zaprl.

Vsaka aplikacija dobi enega od treh odgovorov: selitev, zamenjava s podprto rešitvijo ali ukinitev. Ukinitev je legitimen izid. Atlassian priporoča, da ob opustitvi aplikacije o tem obvestite njene uporabnike in odstranitev načrtujete pred 31. januarjem 2027, namesto da jo pustite, da odpove sama.

Kaj selitev na Forge vključuje

Forge ni Connect pod novim imenom. Model gostovanja, varnostni model in model uporabniškega vmesnika so drugačni, zato Atlassian tudi lastnikom preprostih aplikacij svetuje, da zgodaj začnejo s preizkusom koncepta.

Gostovanje

Aplikacija Connect je spletna storitev, ki jo upravljate sami. Aplikacija Forge teče na Atlassianovi infrastrukturi kot funkcije s trdimi omejitvami: 25 sekund za funkcijo, ki jo sproži uporabnik, in do 900 sekund za asinhrone dogodke in načrtovane sprožilce. Aplikacija Connect, ki poganja desetminutno sinhronizacijo, medtem ko uporabnik čaka, mora to delo premakniti v asinhrone dogodke, vse, kar traja dlje od petnajstih minut, pa je treba razdeliti na korake. Omejeni so tudi odhodni klici: vsaka domena, ki ni navedena v manifestu aplikacije, je zavrnjena.

Ohranitev obstoječega zaledja

Forge Remote aplikaciji Forge omogoča klicanje storitev, ki jih gostite drugje, vašemu strežniku omogoča preveriti, ali je zahteva res prišla iz Forge, vašemu zaledju pa daje žetone za klicanje API Atlassian. Za zasebno aplikacijo z leti poslovne logike na strežniku je to pogosto krajša pot: uporabniški vmesnik in integracijske točke se preselijo na Forge, logika pa ostane, kjer je.

Kompromis: zaradi Forge Remote aplikacija morda ne bo upravičena do Atlassianovega programa Runs on Atlassian. Za notranje orodje je to manj pomembno, vaša varnostna ekipa pa naj to sprejme zavestno.

Avtentikacija in dovoljenja

Aplikacije Connect se avtenticirajo z JWT, podpisanim s skupno skrivnostjo. Forge to nadomesti z obsegi OAuth 2.0, navedenimi v manifestu, za oddaljena zaledja pa z žetonom Forge Invocation Token, ki ga vaš strežnik preveri namesto JWT.

Vsak avtenticiran klic API Jire ali Confluence se nato izvede bodisi asUser, z dovoljenji osebe, ki aplikacijo uporablja, bodisi asApp, kar po Atlassianovih besedah deluje „ne glede na to, kdo aplikacijo uporablja“. Pregled vsakega klica in namerna izbira je najpomembnejši varnostni pregled celotne selitve.

Ena razlika ekipe preseneti. Moduli Connect se privzeto izrisujejo tudi za nelicencirane in anonimne uporabnike; moduli Forge ne, razen če manifest to omogoči z unlicensedAccess. Če vaša aplikacija karkoli prikazuje strankam službe za pomoč ali anonimnim bralcem Confluence, to pot preizkusite posebej.

Uporabniški vmesnik

Strani Connect so okvirji iframe, ki z Jiro ali Confluenco komunicirajo prek Atlassianovega API za JavaScript. Forge vam daje dve možnosti:

  • UI Kit: ogrodje na osnovi Reacta, ki izrisuje izvorne komponente Atlassian. Hitro in dosledno, a gradite iz Atlassianovih komponent: HTML po meri morda ne bo deloval, edini statični viri, ki jih sprejema, pa so slike.
  • Custom UI: vaš lasten HTML, CSS in JavaScript v okvirju iframe, ki z izdelkom komunicira prek @forge/bridge.

Obstoječi vmesnik v okvirju iframe se običajno z najmanj spremembami preseli na Custom UI. Majhne plošče in zasloni z nastavitvami se pogosto hitreje znova izdelajo v UI Kit.

Podatki

Tu gredo selitve narobe. Forge ima lastno gostovano shrambo: shrambo ključ-vrednost, shrambo entitet po meri, Forge SQL in shrambo objektov v predogledu. Podatki so omejeni na posamezno namestitev in shranjeni na isti lokaciji kot gostiteljsko spletno mesto Jira ali Confluence, zato je lokacija hrambe podatkov zagotovljena brez dodatne konfiguracije.

Kaj to pomeni za zasebno aplikacijo:

  • Podatki v lastni bazi aplikacije Connect se bodisi z enkratnim selitvenim opravilom prenesejo v shrambo Forge bodisi ostanejo, kjer so, in se do njih dostopa prek Forge Remote.
  • Vse, kar je aplikacija Connect na Atlassianovi strani shranila pod svojim ključem aplikacije, izvozite, dokler stara aplikacija še teče. Zgodaj preizkusite, ali jih nova aplikacija lahko prebere; ne predpostavljajte.
  • Forge gostovane podatke hrani 28 dni po odstranitvi, ponovna namestitev pa jih ne obnovi samodejno.

Selitev napišite kot ponovljivo skripto s številkami, ki jih lahko preverite, jo vadite na testnem spletnem mestu in izvoz obdržite.

Postopna pot in zakaj verjetno ni vaša

Atlassian je za aplikacije Connect zgradil nežnejšo pot: postopno uvajanje Forge, ohranitev obstoječih namestitev, pretvorbo deskriptorja v manifest Forge in selitev po eni družini modulov naenkrat, z vgrajeno selitvijo podatkov za nekatere module, kot so makri, polja po meri in validatorji potekov dela.

Zanka je v prvem odstavku vodnika: postopno uvajanje Forge je na voljo le za aplikacije Connect za Confluence in Jira, ki so že navedene v Marketplace.

Za zasebno aplikacijo računajte na novo aplikacijo Forge. Namestite jo v produkcijsko okolje, jo delite s svojim spletnim mestom prek povezave za namestitev iz razvijalske konzole, jo poganjate ob stari aplikaciji Connect, medtem ko se podatki selijo in uporabniki testirajo, nato pa aplikacijo Connect odstranite.

Vodniki za uvajanje so vseeno uporabni zaradi preslikave modulov, prav tako seznam zmožnosti Connect, ki v Forge niso na voljo: več modulov Jira Service Management in podpora za mobilno aplikacijo sta označena kot nenačrtovana, jiraReports pa je še v obravnavi. Deskriptor s tem seznamom primerjajte v prvem tednu. Vrzel tam spremeni zasnovo.

Načrt nazaj od 31. januarja 2027

Od začetka oktobra 2026 je ostalo približno sedemnajst tednov, december pa je kratek za vse. Načrt, ki zdrži:

  1. Ta teden: naštejte vse aplikacije LEGACY s petimi zgornjimi podatki. Potrdite, kdo nadzoruje izvorno kodo in račun za gostovanje.
  2. Do sredine oktobra: za vsako aplikacijo odločite o selitvi, zamenjavi ali ukinitvi. Uporabnike vsega, kar se ukinja, obvestite.
  3. Do konca oktobra: preizkus koncepta na Forge za najtežji del najtežje aplikacije. Običajno je to modul brez neposrednega ustreznika v Forge ali tisti, ki hrani največ podatkov.
  4. November: gradnja in večkratna izvedba selitve podatkov na testnem spletnem mestu.
  5. Začetek decembra: aplikacijo Forge namestite ob aplikacijo Connect, preselite kopijo podatkov in jo dajte v preverjanje ljudem, ki jo uporabljajo vsak dan.
  6. Januar 2027: končna selitev, prenos uporabnikov in odstranitev aplikacije Connect šele, ko nova nekaj časa teče brez težav.

Ena sama plošča, ki bere podatke iz Jire in ničesar ne shranjuje, je majhno opravilo. Aplikacija z lastno bazo podatkov, pravili poteka dela in povezavami z drugimi sistemi potrebuje vsakega od teh tednov.

Če datum zamudite, nič od tega, kar je objavil Atlassian, ne pravi, da aplikacija ta dan preneha delovati. Vendar takrat poslovni proces poganjate na platformi, ki je njen lastnik ne popravlja več. Ta čas obravnavajte kot izposojen in selitev dokončajte.

Ko prvotnega razvijalca ni več

Atlassian ta primer obravnava neposredno. Če prvotnega lastnika aplikacije ne morete prepoznati ali stopiti z njim v stik ali pa nimate več razvojnih zmogljivosti, predlaga sodelovanje s partnerjem Solution Partner. Enako jasno pove, da je brez izvorne kode „morda treba aplikacijo na Forge zgraditi povsem na novo“.

Tudi brez izvorne kode ne začenjate na slepo. Deskriptor navaja vse, v kar se aplikacija vklaplja, njeno obnašanje je mogoče opazovati na testnem spletnem mestu, in če vaše podjetje plačuje strežnik, lahko vidite, kaj je dejansko nameščeno. Ponovna gradnja iz teh delov je počasnejša od prenosa, je pa znana količina.

Kje dobiti pomoč

Prevzemamo kodo, ki je ni napisal nihče iz trenutne ekipe, ugotovimo, kaj v resnici počne, in jo preselimo: pri aplikaciji Connect to pomeni branje deskriptorja in strežnika, gradnjo aplikacije Forge ter pisanje in vadbo selitve podatkov. Naše delo na vzdrževanju podedovanih sistemov je običajno izhodišče, in če imate razvijalce, a jih je premalo, kadrovska okrepitev vaši ekipi doda ljudi za čas trajanja projekta. Povejte nam, kaj aplikacija počne in kje teče: pišite na office@c9group.dev.