Tekst: Kristijan Sekereš

Kraj podrške za Atlassian Connect 31. januara 2027: prelazak prilagođenih Jira i Confluence aplikacija na Forge

Jedan crveni deo slagalice među zelenima

Atlassian 31. januara 2027. završava podršku za Connect, okvir na kome je napravljena većina starijih Jira i Confluence Cloud aplikacija. Od tog dana, kaže Atlassian, „ispravljaće samo kritične bezbednosne ranjivosti u Connectu", a privatna aplikacija koja i dalje radi na Connectu „više neće biti podržana i možda neće ispravno raditi".

Ako je svaka aplikacija na vašem sajtu došla sa Atlassian Marketplacea, ovo je posao vaših dobavljača, i većina ga je obavila: Atlassian je u avgustu 2026 objavio da je „više od 95% plaćenih mesta za aplikacije migrirano na Forge".

Ovaj tekst je za drugi slučaj. Vaša kompanija ima Jira ili Confluence aplikaciju koju je neko napravio za vas: interni programer, spoljni izvođač, partner. Instalirana je preko linka, a ne kupljena. Niko izvan vaše kompanije je neće preseliti, a osoba koja ju je napisala možda više nije tu.

Šta kraj podrške znači, a šta ne

Objavljeni datum gašenja ne postoji. Atlassian nije rekao da Connect aplikacije prestaju da rade 1. februara 2027, a njegova prvobitna najava rasporeda kaže da „kupci koji imaju instalirane Connect aplikacije neće izgubiti pristup aplikaciji".

Ne čitajte to kao sigurnost. Menja se to što o Connectu u Atlassianu više niko ne brine:

  • Ispravljaju se samo kritične bezbednosne ranjivosti. Nekritične greške ostaju.
  • „Funkcije Connecta biće uklanjane uz malo prethodnog obaveštenja."
  • Atlassian Support „neće moći da reši probleme izazvane tom nasleđenom tehnologijom".
  • Atlassianovim rečima: „Connect posle kraja podrške neće ostati u stabilnom stanju. Kvarova će biti sve više, a praznine u kompatibilnosti će se širiti."

Dakle, rizik je postepen, a ne provalija. Verovatan otkaz: Jira promeni stranicu, Connect panel prestane da se prikazuje, a nema kome da se prijavi tiket. Ako ta aplikacija stoji usred odobravanja u finansijama ili u service desku okrenutom klijentima, saznaćete za to od ljudi koji od nje zavise.

Šta se već dogodilo

Januarski datum je poslednji korak niza koji je počeo 2025.

  • Septembar 2025: Marketplace je prestao da prima nove Connect aplikacije.
  • 31. mart 2026: ažuriranja su zamrznuta. Atlassianovo uputstvo za prilagođene aplikacije to je jasno reklo: posle tog datuma „više nećete moći da šaljete ažuriranja Connect aplikacija". Kod na vašem sopstvenom serveru i dalje možete da menjate, ali ono što aplikacija prijavljuje Jiri ili Confluenceu (njeni moduli, opsezi i webhookovi) je fiksirano.
  • Mart 2026: raspored je rekao i da „mogućnost instaliranja novih privatnih Connect aplikacija preko Connected Apps postaje nedostupna". Deinstalaciju tretirajte kao jednosmernu: ne uklanjajte privatnu Connect aplikaciju samo da biste videli šta će se pokvariti.
  • Avgust 2026: Atlassian je kraj podrške pomerio sa decembra 2026. na 31. januar 2027. To je jedan mesec više. Ne računajte na još jedan.
  • Sada: Atlassian uvodi upozorenja u Atlassian Administration, gde su privatne aplikacije koje su i dalje na Connectu „označene statusom LEGACY".

Kako pronaći svoje privatne aplikacije

Počnite u Atlassian Administration, na stranici Connected Apps. Sve što je označeno kao LEGACY radi na Connectu. Atlassianova kontrolna lista za prepoznavanje privatne aplikacije: ako je većina ovoga tačna, selidba je na vama:

  • instalirana je preko direktnog linka ili u developer modu, a ne sa Marketplacea;
  • ne vidi se u pretrazi Marketplacea;
  • izvorni kod održava vaša organizacija;
  • nema podataka o licenciranju, a vaša organizacija je jedina navedena među instalacijama;
  • na njenoj stranici u Connected Apps nema bočne trake sa povezanim linkovima (Marketplace aplikacije je imaju).

Atlassian dodaje i pravilo od oka: prilagođena cloud aplikacija napravljena pre više od pet godina verovatno je Connect aplikacija, a Connect aplikacije se hostuju van Atlassiana, „obično na servisu kao što su Heroku, AWS, Azure ili Google Cloud Platform". Link View app details prikazuje ko je programer, koliko Atlassian zna.

Za svaku aplikaciju zapišite pet stvari pre nego što iko dotakne kod:

  1. Šta radi i ko je koristi, u rečenici koju bi vlasnik iz poslovanja prepoznao.
  2. Gde je izvorni kod. U repozitorijumu koji vi kontrolišete, na laptopu spoljnog izvođača ili nigde.
  3. Gde radi i čiji nalog plaća hosting. Ako je server na cloud nalogu bivšeg izvođača, to je rizik danas, a ne u januaru.
  4. Deskriptor. Svaka Connect aplikacija na nekom URL-u servira fajl atlassian-connect.json. On navodi svaki modul, opseg i webhook koji aplikacija koristi, pa je to najpouzdaniji popis koji ćete dobiti.
  5. Koje podatke čuva i gde: u sopstvenoj bazi ili u svojstvima sačuvanim na Jira zadacima i Confluence stranicama.

Odlučite pre nego što gradite

Ne zaslužuje svaka privatna aplikacija migraciju. Atlassianov savet je da proverite da li sada posao obavlja neka ugrađena funkcija Jire ili Confluencea i da migrirate samo ono što je organizaciji i dalje potrebno. Stare aplikacije često su popunjavale prazninu koju je proizvod u međuvremenu zatvorio.

Svaka aplikacija dobija jedan od tri odgovora: migracija, zamena nečim što je podržano ili gašenje. Gašenje je legitiman ishod. Atlassian preporučuje da, ako odustanete od aplikacije, o tome obavestite njene korisnike i zakažete uklanjanje pre 31. januara 2027, umesto da je pustite da sama otkaže.

Šta podrazumeva prelazak na Forge

Forge nije Connect pod novim imenom. Model hostinga, bezbednosni model i model korisničkog interfejsa se razlikuju, zbog čega Atlassian i vlasnicima jednostavnih aplikacija savetuje da rano počnu sa proof of conceptom.

Hosting

Connect aplikacija je veb servis koji vi vodite. Forge aplikacija radi na Atlassianovoj infrastrukturi kao funkcije sa čvrstim ograničenjima: 25 sekundi za funkciju koju pokreće korisnik, do 900 sekundi za asinhrone događaje i zakazane okidače. Connect aplikacija koja pokreće desetominutnu sinhronizaciju dok korisnik čeka mora taj posao da prebaci u asinhrone događaje, a sve što traje duže od petnaest minuta mora da se podeli na korake. Odlazni pozivi su takođe ograničeni: svaki domen koji nije naveden u manifestu aplikacije se odbija.

Zadržavanje postojećeg backenda

Forge Remote omogućava Forge aplikaciji da poziva servise koje hostujete drugde, omogućava vašem serveru da proveri da li je zahtev zaista stigao od Forgea i daje vašem backendu tokene za pozivanje Atlassian API-ja. Za privatnu aplikaciju sa godinama poslovne logike na serveru ovo je često kraći put: korisnički interfejs i tačke integracije prelaze na Forge, a logika ostaje gde jeste.

Cena: Forge Remote može aplikaciju da učini neprihvatljivom za Atlassianov program Runs on Atlassian. Za interni alat to je manje bitno, ali vaš bezbednosni tim treba to da prihvati svesno.

Autentifikacija i dozvole

Connect aplikacije se autentifikuju JWT-om potpisanim zajedničkom tajnom. Forge to zamenjuje OAuth 2.0 opsezima navedenim u manifestu, a za udaljene backende Forge Invocation Tokenom koji vaš server validira umesto JWT-a.

Svaki autentifikovani poziv Jira ili Confluence API-ja tada se izvršava ili kao asUser, sa dozvolama osobe koja koristi aplikaciju, ili kao asApp, koji, Atlassianovim rečima, radi „bez obzira na to ko koristi aplikaciju". Prolazak kroz svaki poziv i svesno biranje je najvažniji bezbednosni pregled u celoj migraciji.

Jedna razlika iznenadi timove. Connect moduli se podrazumevano prikazuju i nelicenciranim i anonimnim korisnicima; Forge moduli ne, osim ako manifest to ne uključi preko unlicensedAccess. Ako vaša aplikacija išta prikazuje klijentima service deska ili anonimnim čitaocima Confluencea, tu putanju testirajte zasebno.

Korisnički interfejs

Connect stranice su iframeovi koji sa Jirom ili Confluenceom komuniciraju preko Atlassianovog JavaScript API-ja. Forge nudi dve opcije:

  • UI Kit: okvir zasnovan na Reactu koji prikazuje izvorne Atlassian komponente. Brz i dosledan, ali gradite od Atlassianovih komponenti: prilagođeni HTML možda neće raditi, a jedini statički resursi koje prihvata su slike.
  • Custom UI: vaš sopstveni HTML, CSS i JavaScript u iframeu, koji sa proizvodom komunicira preko @forge/bridge.

Postojeći iframe frontend obično sa najmanje izmena prelazi na Custom UI. Male panele i ekrane sa podešavanjima često je brže ponovo napraviti u UI Kitu.

Podaci

Ovde migracije polaze naopako. Forge ima sopstveno hostovano skladište: key-value skladište, skladište prilagođenih entiteta, Forge SQL i object store u preview fazi. Podaci su ograničeni na instalaciju i čuvaju se na istoj lokaciji kao Jira ili Confluence sajt domaćin, pa rezidentnost podataka dolazi bez dodatne konfiguracije.

Šta to znači za privatnu aplikaciju:

  • Podaci u sopstvenoj bazi Connect aplikacije ili se jednokratnim poslom migracije prenose u Forge skladište, ili ostaju gde jesu i do njih se stiže preko Forge Remotea.
  • Sve što je Connect aplikacija čuvala na Atlassianovoj strani pod sopstvenim ključem aplikacije treba izvesti dok stara aplikacija još radi. Rano testirajte da li nova aplikacija može to da pročita; ne pretpostavljajte.
  • Forge hostovane podatke čuva 28 dana posle deinstalacije, ali ih ponovna instalacija ne vraća automatski.

Migraciju napišite kao skriptu koja se može ponoviti, sa brojevima koje možete da proverite, uvežbajte je na test sajtu i sačuvajte izvoz.

Postepeni put, i zašto verovatno nije vaš

Atlassian je za Connect aplikacije napravio blaži put: postepeno usvajanje Forgea, uz zadržavanje postojećih instalacija, konverziju deskriptora u Forge manifest i selidbu jedne porodice modula za drugom, sa ugrađenom migracijom podataka za neke module, kao što su makroi, prilagođena polja i validatori tokova rada.

Kvaka je u prvom pasusu vodiča: „Postepeno usvajanje Forgea dostupno je samo za Confluence i Jira Connect aplikacije koje su već izlistane na Marketplaceu."

Za privatnu aplikaciju planirajte novu Forge aplikaciju. Postavljate je u produkciono okruženje, delite je sa svojim sajtom preko instalacionog linka iz developer konzole, pokrećete je uporedo sa starom Connect aplikacijom dok se podaci migriraju i korisnici testiraju, a zatim uklanjate Connect aplikaciju.

Vodiči za usvajanje su i dalje korisni zbog mapiranja modula, kao i lista mogućnosti Connecta koje nisu dostupne u Forgeu: nekoliko modula Jira Service Managementa i podrška za mobilnu aplikaciju označeni su kao neplanirani, a jiraReports je još u razmatranju. U prvoj nedelji uporedite svoj deskriptor sa tom listom. Praznina na njoj menja dizajn.

Plan unazad od 31. januara 2027

Od početka oktobra 2026. ostalo je oko sedamnaest nedelja, a decembar je kratak za sve. Plan koji izdržava:

  1. Ove nedelje: navedite svaku LEGACY aplikaciju sa pet gore navedenih podataka. Potvrdite ko kontroliše izvorni kod i nalog za hosting.
  2. Do sredine oktobra: za svaku aplikaciju odlučite između migracije, zamene i gašenja. Obavestite korisnike svega što se gasi.
  3. Do kraja oktobra: Forge proof of concept za najteži deo najteže aplikacije. Obično je to modul bez direktnog ekvivalenta u Forgeu ili onaj koji drži najviše podataka.
  4. Novembar: izrada, i više od jednog pokretanja migracije podataka na test sajtu.
  5. Početak decembra: instalirajte Forge aplikaciju pored Connect aplikacije, migrirajte kopiju podataka i neka je provere ljudi koji je svakodnevno koriste.
  6. Januar 2027: konačna migracija, prebacivanje korisnika i uklanjanje Connect aplikacije tek kada nova neko vreme radi bez problema.

Jedan panel koji čita podatke iz Jire i ništa ne čuva je mali posao. Aplikaciji sa sopstvenom bazom, pravilima tokova rada i vezama sa drugim sistemima treba svaka od tih nedelja.

Ako propustite datum, ništa što je Atlassian objavio ne kaže da aplikacija tog dana prestaje da radi. Ali tada poslovni proces vodite na platformi koju njen vlasnik više ne popravlja. Tretirajte to vreme kao pozajmljeno i završite selidbu.

Kada prvobitnog programera više nema

Atlassian se direktno bavi ovim slučajem. Ako ne možete da utvrdite ko je prvobitni vlasnik aplikacije ili da ga kontaktirate, ili više nemate razvojne kapacitete, predlaže angažovanje Solution Partnera. Jednako je jasan da bez izvornog koda „može biti neophodno da se aplikacija izgradi na Forgeu od nule".

Čak i bez izvornog koda ne počinjete naslepo. Deskriptor navodi sve na šta se aplikacija priključuje, njeno ponašanje može da se posmatra na test sajtu, a ako vaša kompanija plaća server, možete da vidite šta je stvarno postavljeno. Ponovna izrada iz tih delova sporija je od prenosa, ali je poznata veličina.

Gde potražiti pomoć

Preuzimamo kod koji niko iz trenutnog tima nije napisao, utvrđujemo šta on zaista radi i selimo ga: za Connect aplikaciju to znači čitanje deskriptora i servera, izradu Forge aplikacije i pisanje i uvežbavanje migracije podataka. Naš rad na održavanju nasleđenih sistema je obično mesto odakle ovo počinje, a ako imate programere, ali ne dovoljno, proširenje tima dodaje ljude vašem timu za trajanje posla. Recite nam šta aplikacija radi i gde radi: pišite na office@c9group.dev.