{"id":15915,"date":"2026-09-08T21:29:19","date_gmt":"2026-09-08T19:29:19","guid":{"rendered":"https:\/\/almarise.com\/?page_id=15915"},"modified":"2026-09-10T15:50:48","modified_gmt":"2026-09-10T13:50:48","slug":"forge-w-praktyce-2-dni","status":"publish","type":"page","link":"https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/","title":{"rendered":"Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze"},"content":{"rendered":"<p><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-1 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-padding-top:40px;--awb-padding-bottom:40px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-flex-start fusion-flex-content-wrap\" style=\"max-width:1352px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-0 fusion_builder_column_1_1 1_1 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:100%;--awb-margin-top-large:0px;--awb-spacing-right-large:1.92%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:1.92%;--awb-width-medium:100%;--awb-order-medium:0;--awb-spacing-right-medium:1.92%;--awb-spacing-left-medium:1.92%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-flex-start fusion-content-layout-column\"><div class=\"fusion-title title fusion-title-1 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-one\" style=\"--awb-margin-top:0px;--awb-margin-bottom:18px;--awb-font-size:30px;\"><h1 class=\"fusion-title-heading title-heading-center\" style=\"margin:0;font-size:1em;line-height:1.3;\">Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze<\/h1><\/div><div class=\"fusion-title title fusion-title-2 fusion-sep-none fusion-title-center fusion-title-text fusion-title-size-three\" style=\"--awb-text-color:#2563eb;--awb-margin-top:0px;--awb-margin-bottom:20px;\"><h3 class=\"fusion-title-heading title-heading-center\" style=\"margin:0;\">Przeskocz prosto nad problemem w Jirze \u2014 pisz\u0105c w\u0142asne aplikacje w Forge.<\/h3><\/div><div class=\"fusion-text fusion-text-1 fusion-text-no-margin\" style=\"--awb-content-alignment:left;--awb-font-size:15px;--awb-line-height:1.65;--awb-margin-bottom:24px;\"><p>Szkolenie dla administrator\u00f3w Jira i JSM, kt\u00f3rym coraz trudniej m\u00f3wi\u0107 u\u017cytkownikom \u201eto si\u0119 w Jirze nie da zrobi\u0107&#8221;. T\u0119sknisz za Script Runnerem po migracji do cloud&#8217;a? Sprawd\u017a jakie mo\u017cliwo\u015bci daje platforma Forge naucz si\u0119 co potrafi\u00a0 \u2014\u00a0 jak zbudowa\u0107, wdro\u017cy\u0107 oraz realnie utrzyma\u0107 aplikacj\u0119.<\/p>\n<p><strong>Nie robimy z Was programist\u00f3w. Robimy z Was ludzi, kt\u00f3rzy potrafi\u0105 bezpiecznie \u201edoszy\u0107&#8221; brakuj\u0105cy proces.<\/strong><\/p>\n<p><strong>Format:<\/strong> 2 dni po 8h. Warsztat z demo na \u017cywo i repozytorium kodu, kt\u00f3re zabierzecie ze sob\u0105.<\/p>\n<\/div><style>\n.fw-wrapper {\n  max-width: 1100px;\n  margin: 0 auto;\n  display: grid;\n  grid-template-columns: 1fr 1fr;\n  gap: 32px;\n  font-family: \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n}\n.fw-wrapper * { box-sizing: border-box; }\n@media (max-width: 820px) {\n  .fw-wrapper { grid-template-columns: 1fr; }\n}\n.fw-day-column { display: flex; flex-direction: column; }\n.fw-day-title {\n  font-size: 18px; font-weight: 700; margin: 0 0 16px; padding-bottom: 10px;\n  border-bottom: 2px solid #e4e8f0; display: flex; align-items: baseline; gap: 8px;\n  color: #1a2333;\n}\n.fw-day-title .fw-day-sub { font-weight: 400; font-size: 13px; color: #6b7688; }\n.fw-session-card {\n  background: #ffffff; border: 1px solid #e4e8f0; border-left: 4px solid #2563eb;\n  border-radius: 10px; padding: 14px 16px; margin-bottom: 12px;\n  box-shadow: 0 1px 3px rgba(20,30,60,0.06);\n}\n.fw-track-blue { border-left-color: #2563eb; }\n.fw-track-green { border-left-color: #16a34a; }\n.fw-session-time { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }\n.fw-session-time-range { font-size: 13px; font-weight: 700; color: #1a2333; }\n.fw-session-duration { display: flex; align-items: center; gap: 4px; font-size: 12px; color: #6b7688; }\n.fw-session-duration svg { width: 13px; height: 13px; }\n.fw-session-title { font-size: 15px; font-weight: 600; line-height: 1.35; color: #1a2333; margin-bottom: 8px; }\n\n.fw-session-result {\n  display: flex;\n  align-items: flex-start;\n  gap: 6px;\n  background: #eef3ff;\n  border-radius: 6px;\n  padding: 6px 10px;\n  margin-bottom: 10px;\n  font-size: 12.5px;\n  line-height: 1.45;\n  color: #1a2333;\n}\n.fw-track-green .fw-session-result { background: #eefaf1; }\n.fw-session-result svg { width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; color: #2563eb; }\n.fw-track-green .fw-session-result svg { color: #16a34a; }\n.fw-session-result b { font-weight: 700; }\n\n.fw-session-description p { font-size: 13px; line-height: 1.55; color: #6b7688; margin: 0 0 8px; }\n.fw-session-description p:last-child { margin-bottom: 0; }\n.fw-break-card {\n  display: flex; align-items: center; gap: 10px; padding: 8px 16px; margin: 4px 0 12px;\n  border-left: 4px dashed #e4e8f0; color: #6b7688; font-size: 13px; font-style: italic;\n}\n.fw-break-card svg { width: 14px; height: 14px; flex-shrink: 0; }\n<\/style>\n\n<div class=\"fw-wrapper\">\n\n  <!-- DZIE\u0143 1 -->\n  <div class=\"fw-day-column\">\n    <div class=\"fw-day-title\">Dzie\u0144 1 <span class=\"fw-day-sub\">Od instalacji do automatycznej kwalifikacji zg\u0142oszenia<\/span><\/div>\n\n    <div class=\"fw-session-card fw-track-blue\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">09:00 - 10:00<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          60 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Instalacja narz\u0119dzi, utworzenie aplikacji, pierwszy deploy i instalacja na Jira<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> aplikacja dzia\u0142a na witrynie testowej, a uczestnik samodzielnie wdra\u017ca pierwsz\u0105 zmian\u0119<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Wsp\u00f3lnie zainstalujemy i skonfigurujemy narz\u0119dzia, zalogujemy si\u0119 do Forge CLI oraz utworzymy aplikacj\u0119 z szablonu. Przejdziemy przez struktur\u0119 projektu, podstawowe polecenia, wdro\u017cenie i instalacj\u0119 na testowej witrynie Jira. Rozwi\u0105\u017cemy napotkane problemy z uruchomieniem \u015brodowiska, a nast\u0119pnie wprowadzimy z pomoc\u0105 AI pierwsz\u0105 zmian\u0119 i ponownie j\u0105 wdro\u017cymy.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-break-card\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n      15 min przerwy\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-blue\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">10:15 - 11:15<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          60 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Diagnostyka: logi, tunnel, manifest i \u201edlaczego nie widz\u0119 zmiany?\"<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> uczestnik lokalizuje b\u0142\u0105d i odr\u00f3\u017cnia kod lokalny od wdro\u017conego<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Prze\u015bledzimy drog\u0119 od dzia\u0142ania u\u017cytkownika w interfejsie do wykonania kodu i odpowiedzi API. Sprawdzimy logi, konsol\u0119 przegl\u0105darki oraz konfiguracj\u0119 w manife\u015bcie. Uruchomimy forge tunnel i por\u00f3wnamy prac\u0119 lokaln\u0105 z dzia\u0142aniem wdro\u017conej aplikacji. Na przygotowanych usterkach prze\u0107wiczymy zbieranie informacji o b\u0142\u0119dzie i wykorzystanie AI do diagnozy, zamiast przypadkowego poprawiania kodu.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-blue\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">11:15 - 11:30<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          15 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Por\u00f3wnanie Groovy i TypeScript<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> uczestnik zna podstawowe r\u00f3\u017cnice i umie przekszta\u0142ci\u0107 prosty kod z jednego na drugi<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Przedstawiona zostanie lista najpopularniejszych r\u00f3\u017cnic w celu \u0142atwiejszego przepisywania starych skrypt\u00f3w. Przedstawione zostan\u0105 te\u017c cz\u0119ste pu\u0142apki, w kt\u00f3re mo\u017cna wpa\u015b\u0107, przechodz\u0105c z jednego na drugi.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-break-card\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n      45 min lunch\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-blue\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">12:15 - 13:00<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          45 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Przedstawienie problemu biznesowego<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> uczestnik rozumie model dzia\u0142ania i potrafi rozbi\u0107 wymaganie na ma\u0142e zmiany<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Om\u00f3wimy proces obs\u0142ugi napraw sprz\u0119tu i wybierzemy czynno\u015bci, kt\u00f3re usprawnimy za pomoc\u0105 Forge. Rozpiszemy rozwi\u0105zanie na niewielkie etapy oraz przypiszemy im odpowiednie mechanizmy platformy. Por\u00f3wnamy podej\u015bcie znane z Jira DC i ScriptRunnera z prac\u0105 w Forge. Ustalimy, jak korzysta\u0107 z dokumentacji i zleca\u0107 AI konkretne, ograniczone zmiany.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-blue\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">13:00 - 14:00<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          60 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">UI modifications - formularz zg\u0142oszenia awarii<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> formularz reaguje na wyb\u00f3r u\u017cytkownika we w\u0142a\u015bciwym kontek\u015bcie<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Dostosujemy zachowanie formularza do wybranego rodzaju awarii: dodamy podpowiedzi, ustawianie warto\u015bci i zmian\u0119 zachowania wybranych p\u00f3l. Sprawdzimy w dokumentacji dost\u0119pno\u015b\u0107 operacji dla u\u017cywanego widoku. Skonfigurujemy kontekst uruchamiania modyfikacji i przetestujemy reakcje na dzia\u0142ania u\u017cytkownika, w tym przypadek, gdy poprawny kod nie wykonuje si\u0119 z powodu niew\u0142a\u015bciwej konfiguracji.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-break-card\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n      15 min przerwy\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-blue\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">14:15 - 15:15<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          60 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Assets - odczyt, mapowanie i kontrolowana aktualizacja danych<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> aplikacja pobiera dane urz\u0105dzenia i poprawnie obs\u0142uguje ich brak<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Po\u0142\u0105czymy aplikacj\u0119 z danymi urz\u0105dze\u0144 w Assets. Pobierzemy informacje potrzebne do obs\u0142ugi naprawy, takie jak numer seryjny, gwarancja i stan sprz\u0119tu. Prze\u0107wiczymy prac\u0119 z identyfikatorami, odpowiedziami API i mapowaniem atrybut\u00f3w, a nast\u0119pnie zaktualizujemy wybrany atrybut obiektu testowego. Sprawdzimy zachowanie aplikacji przy brakuj\u0105cych danych, b\u0142\u0119dnym identyfikatorze i problemach z uprawnieniami.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-break-card\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n      15 min przerwy\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-blue\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">15:30 - 17:00<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          90 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Listenery - automatyczna reakcja na zdarzenia w Jira<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> zg\u0142oszenie jest automatycznie kwalifikowane bez zap\u0119tlania aktualizacji<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Dodamy obs\u0142ug\u0119 zdarze\u0144 uruchamiaj\u0105c\u0105 kwalifikacj\u0119 zg\u0142oszenia po utworzeniu lub zmianie istotnych danych. Po\u0142\u0105czymy j\u0105 z odczytem Assets i zapisem wyniku w Jira. Ograniczymy dzia\u0142anie do w\u0142a\u015bciwych zg\u0142osze\u0144 i zmian. Przetestujemy ponowne wykonanie, op\u00f3\u017anion\u0105 reakcj\u0119 oraz sytuacj\u0119, w kt\u00f3rej aktualizacja wykonana przez aplikacj\u0119 wywo\u0142uje kolejne zdarzenie.<\/p>\n      <\/div>\n    <\/div>\n\n  <\/div>\n\n  <!-- DZIE\u0143 2 -->\n  <div class=\"fw-day-column\">\n    <div class=\"fw-day-title\">Dzie\u0144 2 <span class=\"fw-day-sub\">W\u0142asny UI, integracje z zewn\u0119trznym \u015bwiatem i wydanie produkcyjne<\/span><\/div>\n\n    <div class=\"fw-session-card fw-track-green\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">09:00 - 10:15<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          75 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">W\u0142asny UI w JSM - panel obs\u0142ugi naprawy<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> pracownik widzi w\u0142a\u015bciwe informacje o swoim zg\u0142oszeniu<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Zbudujemy panel w szczeg\u00f3\u0142ach zg\u0142oszenia na portalu JSM, pokazuj\u0105cy urz\u0105dzenie, kwalifikacj\u0119 naprawy, numer zlecenia i jego status. Z pomoc\u0105 AI rozbudujemy przygotowany szablon Custom UI i po\u0142\u0105czymy go z backendem aplikacji. Dodamy obs\u0142ug\u0119 \u0142adowania, braku danych i b\u0142\u0119d\u00f3w. Sprawdzimy dzia\u0142anie panelu z perspektywy klienta oraz dost\u0119p do informacji o zg\u0142oszeniu.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-break-card\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n      15 min przerwy\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-green\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">10:30 - 11:30<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          60 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Integracja wychodz\u0105ca - Forge wywo\u0142uje zewn\u0119trzne REST API<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> zlecenie trafia do serwisu, a numer referencyjny wraca do Jira<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Pod\u0142\u0105czymy aplikacj\u0119 do testowego API zewn\u0119trznego serwisu. Przygotujemy dane zlecenia, skonfigurujemy adres us\u0142ugi i uwierzytelnienie, wykonamy \u017c\u0105danie oraz zapiszemy otrzymany numer referencyjny w Jira. Przetestujemy nieprawid\u0142owy token, b\u0142\u0105d us\u0142ugi i brak odpowiedzi. Om\u00f3wimy, kiedy mo\u017cna ponowi\u0107 operacj\u0119 i jak ograniczy\u0107 ryzyko utworzenia podw\u00f3jnego zlecenia.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-break-card\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n      45 min lunch\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-green\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">12:15 - 13:15<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          60 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Wdro\u017cenie produkcyjne, aktualizacje, wersjonowanie<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> uczestnik potrafi bezpiecznie wyda\u0107 zmian\u0119 i przywr\u00f3ci\u0107 poprzedni kod<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Przejdziemy przez przygotowanie wydania: konfiguracj\u0119 \u015brodowiska, deploy, aktualizacj\u0119 instalacji i test po wdro\u017ceniu. Por\u00f3wnamy zwyk\u0142\u0105 zmian\u0119 kodu ze zmian\u0105 uprawnie\u0144 lub konfiguracji aplikacji. Prze\u0107wiczymy zapisywanie dzia\u0142aj\u0105cych wersji i przywr\u00f3cenie poprzedniego kodu. Proces wdro\u017cenia produkcyjnego przeprowadzimy na testowej witrynie Jira, bez ingerencji w rzeczywiste dane produkcyjne.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-green\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">13:15 - 14:30<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          75 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Integracja przychodz\u0105ca - zewn\u0119trzny system wywo\u0142uje aplikacj\u0119 Forge<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> aplikacja przyjmuje uwierzytelnione aktualizacje statusu<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Udost\u0119pnimy endpoint aplikacji przyjmuj\u0105cy aktualizacje z systemu serwisowego i wywo\u0142amy go z zewn\u0119trznego klienta HTTP. Dodamy sprawdzanie uwierzytelnienia, poprawno\u015bci danych oraz powi\u0105zania ze zleceniem. Na podstawie odebranego statusu zaktualizujemy dane procesu. Przetestujemy brak uwierzytelnienia, nieznane zlecenie oraz ponowne przes\u0142anie tego samego zdarzenia.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-break-card\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n      15 min przerwy\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-green\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">14:45 - 15:45<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          60 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Cz\u0119ste b\u0142\u0119dy i problemy aplikacji Forge<\/div>\n      <div class=\"fw-session-result\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M9 11l3 3L22 4\"><\/path><path d=\"M21 12v7a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2h11\"><\/path><\/svg>\n        <span><b>Efekt:<\/b> uczestnik potrafi szybko zdiagnozowa\u0107 problem i okre\u015bli\u0107 \u201ewina Atlassiana\" lub \u201enie moja wina, ale naprawi\u0119\"<\/span>\n      <\/div>\n      <div class=\"fw-session-description\">\n        <p>Przeanalizujemy przygotowane awarie zwi\u0105zane z konfiguracj\u0105, uprawnieniami, wdro\u017ceniem, zdarzeniami i komunikacj\u0105 z API. Na podstawie log\u00f3w i prostych test\u00f3w b\u0119dziemy zaw\u0119\u017ca\u0107 \u017ar\u00f3d\u0142o problemu oraz oddziela\u0107 b\u0142\u0119dy aplikacji od problem\u00f3w us\u0142ug zewn\u0119trznych i platformy. Prze\u0107wiczymy przygotowanie minimalnego przypadku odtwarzaj\u0105cego b\u0142\u0105d oraz informacji potrzebnych do samodzielnej naprawy lub zg\u0142oszenia do wsparcia.<\/p>\n      <\/div>\n    <\/div>\n\n    <div class=\"fw-break-card\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n      15 min przerwy\n    <\/div>\n\n    <div class=\"fw-session-card fw-track-green\">\n      <div class=\"fw-session-time\">\n        <span class=\"fw-session-time-range\">16:00 - 17:00<\/span>\n        <span class=\"fw-session-duration\">\n          <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><polyline points=\"12 6 12 12 16 14\"><\/polyline><\/svg>\n          60 min\n        <\/span>\n      <\/div>\n      <div class=\"fw-session-title\">Podsumowanie szkolenia - prowadz\u0105cy pod ostrza\u0142em pyta\u0144<\/div>\n      <div class=\"fw-session-description\">\n        <p>Przejdziemy przez ca\u0142y proces naprawy w zbudowanej aplikacji i podsumujemy zastosowane mechanizmy. Om\u00f3wimy pytania, problemy napotkane podczas \u0107wicze\u0144 oraz pomys\u0142y uczestnik\u00f3w na w\u0142asne rozszerzenia. Odniesiemy je do do\u015bwiadcze\u0144 ze ScriptRunnerem: gdzie wykorzysta\u0107 Forge, gdzie wystarczy konfiguracja Jira lub Automation i co warto sprawdzi\u0107 przed rozpocz\u0119ciem pracy.<\/p>\n      <\/div>\n    <\/div>\n\n  <\/div>\n\n<\/div><div class=\"fusion-text fusion-text-2\" style=\"--awb-content-alignment:center;--awb-font-size:14px;--awb-margin-top:40px;\"><p><em>Po szkoleniu: dost\u0119p do repozytorium z kodem z warsztat\u00f3w, \u017ceby odtworzy\u0107 ka\u017cdy krok samodzielnie.<\/em><\/p>\n<\/div><\/div><\/div><\/div><\/div><div class=\"fusion-fullwidth fullwidth-box fusion-builder-row-2 fusion-flex-container has-pattern-background has-mask-background nonhundred-percent-fullwidth non-hundred-percent-height-scrolling\" style=\"--awb-border-radius-top-left:0px;--awb-border-radius-top-right:0px;--awb-border-radius-bottom-right:0px;--awb-border-radius-bottom-left:0px;--awb-flex-wrap:wrap;\" ><div class=\"fusion-builder-row fusion-row fusion-flex-align-items-center fusion-flex-justify-content-center fusion-flex-content-wrap\" style=\"max-width:1352px;margin-left: calc(-4% \/ 2 );margin-right: calc(-4% \/ 2 );\"><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-1 fusion_builder_column_1_2 1_2 fusion-flex-column\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\" data-scroll-devices=\"small-visibility,medium-visibility,large-visibility\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-row fusion-flex-align-items-center\"><div class=\"fusion-content-boxes content-boxes columns row fusion-columns-1 fusion-columns-total-1 fusion-content-boxes-1 content-boxes-icon-with-title content-left has-flex-alignment\" style=\"--awb-alignment:stretch;--awb-hover-accent-color:var(--awb-color4);--awb-circle-hover-accent-color:var(--awb-color4);--awb-item-margin-bottom:40px;\" data-animationOffset=\"top-into-view\"><div style=\"--awb-backgroundcolor:rgba(255,255,255,0);\" class=\"fusion-column content-box-column content-box-column content-box-column-1 col-lg-12 col-md-12 col-sm-12 fusion-content-box-hover content-box-column-last content-box-column-last-in-row\"><div class=\"col content-box-wrapper content-wrapper link-area-link-icon content-icon-wrapper-yes icon-hover-animation-fade\" data-animationOffset=\"top-into-view\"><div class=\"heading heading-with-icon icon-left\"><div class=\"icon\"><span style=\"height:42px;width:42px;line-height:22px;border-color:rgba(255,255,255,0);border-width:1px;border-style:solid;background-color:var(--awb-color8);box-sizing:content-box;border-radius:50%;\"><i style=\"border-color:var(--awb-color8);border-width:1px;background-color:var(--awb-color7);box-sizing:content-box;height:40px;width:40px;line-height:40px;border-radius:50%;position:relative;top:auto;left:auto;margin:0;border-radius:50%;font-size:20px;\" aria-hidden=\"true\" class=\"fontawesome-icon fa-tags fas circle-yes\"><\/i><\/span><\/div><h2 class=\"content-box-heading\" style=\"--h2_typography-font-size:24px;line-height:29px;\">Cena: 15 000 z\u0142 + VAT*<\/h2><\/div><div class=\"fusion-clearfix\"><\/div><div class=\"content-container\">\n<p>* dla zespo\u0142u do 8 os\u00f3b<\/p>\n<\/div><\/div><\/div><div class=\"fusion-clearfix\"><\/div><\/div><\/div><\/div><div class=\"fusion-layout-column fusion_builder_column fusion-builder-column-2 fusion_builder_column_1_2 1_2 fusion-flex-column fusion-flex-align-self-center\" style=\"--awb-bg-size:cover;--awb-width-large:50%;--awb-margin-top-large:0px;--awb-spacing-right-large:3.84%;--awb-margin-bottom-large:20px;--awb-spacing-left-large:3.84%;--awb-width-medium:50%;--awb-order-medium:0;--awb-spacing-right-medium:3.84%;--awb-spacing-left-medium:3.84%;--awb-width-small:100%;--awb-order-small:0;--awb-spacing-right-small:1.92%;--awb-spacing-left-small:1.92%;\" data-scroll-devices=\"small-visibility,medium-visibility,large-visibility\"><div class=\"fusion-column-wrapper fusion-column-has-shadow fusion-flex-justify-content-center fusion-content-layout-row fusion-flex-align-items-center\"><style>\n.fw-cta {\n  max-width: 1100px;\n  margin: 48px auto 0;\n  background: #5ca707;\n  border-radius: 16px;\n  padding: 40px 32px;\n  text-align: center;\n  font-family: \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n}\n.fw-cta-title {\n  color: #ffffff;\n  font-size: 24px;\n  font-weight: 800;\n  margin: 0 0 10px;\n}\n.fw-cta-text {\n  color: rgba(255,255,255,0.85);\n  font-size: 15px;\n  line-height: 1.6;\n  max-width: 560px;\n  margin: 0 auto 28px;\n}\n.fw-cta-contacts {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: center;\n  gap: 14px;\n}\n.fw-cta-contact {\n  display: inline-flex;\n  align-items: center;\n  gap: 10px;\n  background: #5ca707;\n  border: 2px solid #ffffff;\n  border-radius: 30px;\n  padding: 12px 22px;\n  color: #ffffff;\n  font-size: 15px;\n  font-weight: 700;\n  text-decoration: none;\n  box-shadow: 0 2px 6px rgba(0,0,0,0.12);\n  transition: background 0.15s ease, color 0.15s ease;\n}\n.fw-cta-contact:hover {\n  background: #ffffff;\n  color: #5ca707;\n}\n.fw-cta-contact i {\n  font-size: 14px;\n  color: #ffffff;\n}\n.fw-cta-contact:hover i {\n  color: #5ca707;\n}\n<\/style>\n\n<div class=\"fw-cta\">\n  <div class=\"fw-cta-title\">Zapisz zesp\u00f3\u0142 na szkolenie<\/div>\n  <p class=\"fw-cta-text\">Masz pytania o program, terminy albo dopasowanie szkolenia pod Wasz zesp\u00f3\u0142? Napisz lub zadzwo\u0144.<\/p>\n  <div class=\"fw-cta-contacts\">\n    <a class=\"fw-cta-contact\" href=\"mailto:almarise@almarise.com\">\n      <i class=\"fas fa-envelope\"><\/i>\n      almarise@almarise.com\n    <\/a>\n    <a class=\"fw-cta-contact\" href=\"tel:+48502717001\">\n      <i class=\"fas fa-phone\"><\/i>\n      +48 502 717 001\n    <\/a>\n  <\/div>\n<\/div><\/div><\/div><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"100-width.php","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-15915","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze - Almarise<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze\" \/>\n<meta property=\"og:url\" content=\"https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/\" \/>\n<meta property=\"og:site_name\" content=\"Almarise\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/CompanyAlmarise\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-10T13:50:48+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@CompanyAlmarise\" \/>\n<meta name=\"twitter:label1\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/almarise.com\\\/pl\\\/forge-w-praktyce-2-dni\\\/\",\"url\":\"https:\\\/\\\/almarise.com\\\/pl\\\/forge-w-praktyce-2-dni\\\/\",\"name\":\"Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze - Almarise\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/almarise.com\\\/pl\\\/#website\"},\"datePublished\":\"2026-09-08T19:29:19+00:00\",\"dateModified\":\"2026-09-10T13:50:48+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/almarise.com\\\/pl\\\/forge-w-praktyce-2-dni\\\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/almarise.com\\\/pl\\\/forge-w-praktyce-2-dni\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/almarise.com\\\/pl\\\/forge-w-praktyce-2-dni\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/almarise.com\\\/pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/almarise.com\\\/pl\\\/#website\",\"url\":\"https:\\\/\\\/almarise.com\\\/pl\\\/\",\"name\":\"Almarise\",\"description\":\"Your Amazing Atlassian Experts\",\"publisher\":{\"@id\":\"https:\\\/\\\/almarise.com\\\/pl\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/almarise.com\\\/pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/almarise.com\\\/pl\\\/#organization\",\"name\":\"Almarise\",\"url\":\"https:\\\/\\\/almarise.com\\\/pl\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\\\/\\\/almarise.com\\\/pl\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/almarise.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/logo-almarise-favicon.png\",\"contentUrl\":\"https:\\\/\\\/almarise.com\\\/wp-content\\\/uploads\\\/2022\\\/03\\\/logo-almarise-favicon.png\",\"width\":150,\"height\":150,\"caption\":\"Almarise\"},\"image\":{\"@id\":\"https:\\\/\\\/almarise.com\\\/pl\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/CompanyAlmarise\\\/\",\"https:\\\/\\\/x.com\\\/CompanyAlmarise\",\"https:\\\/\\\/www.youtube.com\\\/@almarisecompany\",\"https:\\\/\\\/www.instagram.com\\\/almarise_almarise\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze - Almarise","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/","og_locale":"pl_PL","og_type":"article","og_title":"Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze","og_url":"https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/","og_site_name":"Almarise","article_publisher":"https:\/\/www.facebook.com\/CompanyAlmarise\/","article_modified_time":"2026-09-10T13:50:48+00:00","twitter_card":"summary_large_image","twitter_site":"@CompanyAlmarise","twitter_misc":{"Szacowany czas czytania":"5 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/","url":"https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/","name":"Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze - Almarise","isPartOf":{"@id":"https:\/\/almarise.com\/pl\/#website"},"datePublished":"2026-09-08T19:29:19+00:00","dateModified":"2026-09-10T13:50:48+00:00","breadcrumb":{"@id":"https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/almarise.com\/pl\/forge-w-praktyce-2-dni\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/almarise.com\/pl\/"},{"@type":"ListItem","position":2,"name":"Forge w praktyce: 2 dni, po kt\u00f3rych sam napiszesz brakuj\u0105c\u0105 funkcjonalno\u015b\u0107 w Jirze"}]},{"@type":"WebSite","@id":"https:\/\/almarise.com\/pl\/#website","url":"https:\/\/almarise.com\/pl\/","name":"Almarise","description":"Your Amazing Atlassian Experts","publisher":{"@id":"https:\/\/almarise.com\/pl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/almarise.com\/pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/almarise.com\/pl\/#organization","name":"Almarise","url":"https:\/\/almarise.com\/pl\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/almarise.com\/pl\/#\/schema\/logo\/image\/","url":"https:\/\/almarise.com\/wp-content\/uploads\/2022\/03\/logo-almarise-favicon.png","contentUrl":"https:\/\/almarise.com\/wp-content\/uploads\/2022\/03\/logo-almarise-favicon.png","width":150,"height":150,"caption":"Almarise"},"image":{"@id":"https:\/\/almarise.com\/pl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/CompanyAlmarise\/","https:\/\/x.com\/CompanyAlmarise","https:\/\/www.youtube.com\/@almarisecompany","https:\/\/www.instagram.com\/almarise_almarise\/"]}]}},"_links":{"self":[{"href":"https:\/\/almarise.com\/pl\/wp-json\/wp\/v2\/pages\/15915","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/almarise.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/almarise.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/almarise.com\/pl\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/almarise.com\/pl\/wp-json\/wp\/v2\/comments?post=15915"}],"version-history":[{"count":5,"href":"https:\/\/almarise.com\/pl\/wp-json\/wp\/v2\/pages\/15915\/revisions"}],"predecessor-version":[{"id":15924,"href":"https:\/\/almarise.com\/pl\/wp-json\/wp\/v2\/pages\/15915\/revisions\/15924"}],"wp:attachment":[{"href":"https:\/\/almarise.com\/pl\/wp-json\/wp\/v2\/media?parent=15915"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}