CINXE.COM
Connect apps will gain new extensibility features through Forge - Work Life by Atlassian
<!doctype html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="http://gmpg.org/xfn/11"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <!-- This site is optimized with the Yoast SEO plugin v24.0 - https://yoast.com/wordpress/plugins/seo/ --> <link media="all" href="https://atlassianblog.wpengine.com/wp-content/cache/autoptimize/css/autoptimize_a1cdea9306e49eba9c3b4e6bca7f85b2.css" rel="stylesheet"><title>Connect apps will gain new extensibility features through Forge - Work Life by Atlassian</title> <meta name="description" content="The migration path from Connect to Forge is now generally available. Atlassian will deliver all new platform extensibility features only through Forge." /> <link rel="canonical" href="https://www.atlassian.com/blog/developer/connect-forge-ga" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="Connect apps will gain new extensibility features through Forge - Work Life by Atlassian" /> <meta property="og:description" content="The migration path from Connect to Forge is now generally available. Atlassian will deliver all new platform extensibility features only through Forge." /> <meta property="og:url" content="https://www.atlassian.com/blog/developer/connect-forge-ga" /> <meta property="og:site_name" content="Work Life by Atlassian" /> <meta property="article:publisher" content="https://www.facebook.com/Atlassian" /> <meta property="article:published_time" content="2024-10-28T18:16:47+00:00" /> <meta property="article:modified_time" content="2024-10-28T18:16:49+00:00" /> <meta name="author" content="Sean Bourke" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@Atlassian" /> <meta name="twitter:site" content="@Atlassian" /> <meta name="twitter:label1" content="Written by" /> <meta name="twitter:data1" content="Sean Bourke" /> <meta name="twitter:label2" content="Est. reading time" /> <meta name="twitter:data2" content="5 minutes" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"WebPage","@id":"https://www.atlassian.com/blog/developer/connect-forge-ga","url":"https://www.atlassian.com/blog/developer/connect-forge-ga","name":"Connect apps will gain new extensibility features through Forge - Work Life by Atlassian","isPartOf":{"@id":"https://www.atlassian.com/blog/#website"},"datePublished":"2024-10-28T18:16:47+00:00","dateModified":"2024-10-28T18:16:49+00:00","author":{"@id":"https://www.atlassian.com/blog/#/schema/person/2a24bc9b6327a80eb3ff9cdaef352c39"},"description":"The migration path from Connect to Forge is now generally available. Atlassian will deliver all new platform extensibility features only through Forge.","breadcrumb":{"@id":"https://www.atlassian.com/blog/developer/connect-forge-ga#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https://www.atlassian.com/blog/developer/connect-forge-ga"]}]},{"@type":"BreadcrumbList","@id":"https://www.atlassian.com/blog/developer/connect-forge-ga#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://www.atlassian.com/blog"},{"@type":"ListItem","position":2,"name":"Connect apps will gain new extensibility features through Forge"}]},{"@type":"WebSite","@id":"https://www.atlassian.com/blog/#website","url":"https://www.atlassian.com/blog/","name":"Work Life by Atlassian","description":"Unleashing the potential of all teams with tips, tools, and practices","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://www.atlassian.com/blog/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https://www.atlassian.com/blog/#/schema/person/2a24bc9b6327a80eb3ff9cdaef352c39","name":"Atlassian","url":"https://www.atlassian.com/blog/author/atlassian"}]}</script> <!-- / Yoast SEO plugin. --> <link rel='dns-prefetch' href='//atl-global.atlassian.com' /> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel="alternate" type="application/rss+xml" title="Work Life by Atlassian » Feed" href="https://www.atlassian.com/blog/feed" /> <link rel="alternate" type="application/rss+xml" title="Work Life by Atlassian » Comments Feed" href="https://www.atlassian.com/blog/comments/feed" /> <link rel="alternate" type="application/rss+xml" title="Work Life by Atlassian » Connect apps will gain new extensibility features through Forge Comments Feed" href="https://www.atlassian.com/blog/developer/connect-forge-ga/feed" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/atlassianblog.wpengine.com\/wp-includes\/js\/wp-emoji-release.min.js"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <script type="text/javascript" id="jetpack_related-posts-js-extra"> /* <![CDATA[ */ var related_posts_js_options = {"post_heading":"h4"}; /* ]]> */ </script> <link rel="https://api.w.org/" href="https://atlassianblog.wpengine.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://atlassianblog.wpengine.com/wp-json/wp/v2/posts/63021" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://atlassianblog.wpengine.com/xmlrpc.php?rsd" /> <link rel='shortlink' href='https://wp.me/pgkE99-got' /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://atlassianblog.wpengine.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.atlassian.com%2Fblog%2Fdeveloper%2Fconnect-forge-ga" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://atlassianblog.wpengine.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.atlassian.com%2Fblog%2Fdeveloper%2Fconnect-forge-ga&format=xml" /> <!-- Stream WordPress user activity plugin v4.0.2 --> <script src="https://atl-onetrust-wrapper.atlassian.com/assets/atl-onetrust-wrapper.min.js" data-domain="ed42d30f-c9f0-408c-b65a-cd77205ecdf5" data-test="false" data-geofence="false" data-sync="false" ></script> <meta name="google-site-verification" content="HNNnCkeVQ-w56fqPpX2TTEMRmta5QJ-bDunwoaUep-o" /> <meta name="google-site-verification" content="ayWGqoaWJhTnahPSpfLcla5clD7xdAgDPBxf8r9CXJ0" /> <!-- OneTrust Cookies Consent Notice (Production CDN, www.atlassian.com, en-GB) start --> <script> function OptanonWrapper() {} </script> <!-- OneTrust Cookies Consent Notice (Production CDN, www.atlassian.com, en-GB) end --> <link rel="amphtml" href="https://www.atlassian.com/blog/developer/connect-forge-ga/amp"><link rel="preload" as="style" href="https://atlassianblog.wpengine.com/wp-content/plugins/code-prettify/prettify/prettify.css" /><link rel="icon" href="https://atlassianblog.wpengine.com/wp-content/uploads/2017/10/android-chrome-256x256-96x96.png" sizes="32x32" /> <link rel="icon" href="https://atlassianblog.wpengine.com/wp-content/uploads/2017/10/android-chrome-256x256.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://atlassianblog.wpengine.com/wp-content/uploads/2017/10/android-chrome-256x256.png" /> <meta name="msapplication-TileImage" content="https://atlassianblog.wpengine.com/wp-content/uploads/2017/10/android-chrome-256x256.png" /> </head> <body class="post-template-default single single-post postid-63021 single-format-standard group-blog"> <div id="page" class="site"> <a href="#content" class="skip-link screen-reader-text"data-event-container="skipToContentLink"data-event-component="link"data-label="Skip to main content"data-uuid="2335d4db1ab0b27c90e41ea660a98f94"data-event="clicked"data-schema-version="1" >Skip to main content</a> <header id="masthead" class="site-header product-news-header" role="banner"> <div class="top-bar"> <div class="container"> <div class="site-branding"> <p class="site-title"><a class="site-title__link" href="https://www.atlassian.com/"><span class="screen-reader-text">Atlassian</span></a></p> </div> <nav class="top-bar__menu"><ul id="main-top-nav" class="menu"><li id="menu-item-50464" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-50464"><a href="https://www.atlassian.com/blog" data-event-container="top-bar-blue-menu" data-event-component="link" data-label="Work Life" data-uuid="2be34ea2b466d57d286057a3d7d4462d" data-event="clicked" data-schema-version="1">Work Life</a> <div class="top-bar__description"> </div> </li> <li id="menu-item-50465" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-50465"><a href="https://www.atlassian.com/blog/product-news" data-event-container="top-bar-blue-menu" data-event-component="link" data-label="Products & news" data-uuid="8a33a553749344705bfbaf63182236bb" data-event="clicked" data-schema-version="1">Products & news</a> <div class="top-bar__description"> </div> </li> <li id="menu-item-50466" class="top-bar__menu-item-hover-arrow menu-item menu-item-type-custom menu-item-object-custom menu-item-50466"><a target="_blank" href="https://www.atlassian.com/team-playbook" data-event-container="top-bar-blue-menu" data-event-component="link" data-label="Team Playbook" data-uuid="e0ef38224bbbc252de5b5e3c6ee7d28a" data-event="clicked" data-schema-version="1">Team Playbook</a> <div class="top-bar__description"> </div> </li> <li id="menu-item-50467" class="top-bar__menu-item-hover-arrow menu-item menu-item-type-custom menu-item-object-custom menu-item-50467"><a target="_blank" href="https://atlassian.com/community" data-event-container="top-bar-blue-menu" data-event-component="link" data-label="Community" data-uuid="859a71bf49ae9e23fd1b0bf47f4cebcf" data-event="clicked" data-schema-version="1">Community</a> <div class="top-bar__description"> </div> </li> </ul></nav> <div class="top-bar__mobile"> <button class="top-bar__toggle"> More from Atlassian </button> </div> </div> </div> <div class="main-bar"> <div class="container"> <div class="site-header__home site-header__phoenix-product-news"> <a href="https://www.atlassian.com/blog/product-news" class="site-header__phoenix" rel="home"> <span>Products & news</span> </a> </div> <div class="site-header__nav"> <div class="menu-product-news-container"><ul id="main-nav" class="product-news main-nav"><li class="closed menu-item-has-slider menu-slider-type-li menu-slider-count-3 slide-of-four menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children"><a href="https://www.atlassian.com/blog/product-news" class="nav-menu-item-title"><span>Products</span></a><div class="sub-menu"><div class="sub-menu__list-wrapper"><ul><li class="atlassian-apps-blue menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/add-ons" class=""><span>Apps</span></a></li><li class="atlassian-access menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/access" class=""><span>Atlassian Guard</span></a></li><li class="atlassian-bamboo menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/bamboo" class=""><span>Bamboo</span></a></li><li class="atlassian-bitbucket menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/bitbucket" class=""><span>Bitbucket</span></a></li><li class="atlassian-confluence menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/confluence" class=""><span>Confluence</span></a></li><li class="atlassian-crowd menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/crowd" class=""><span>Crowd</span></a></li><li class="atlassian-crucible menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/crucible" class=""><span>Crucible</span></a></li><li class="atlassian-fisheye menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/fisheye" class=""><span>Fisheye</span></a></li><li class="atlassian-halp menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/halp" class=""><span>Halp</span></a></li><li class="atlassian-jira menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/jira" class=""><span>Jira</span></a></li><li class="atlassian-jira-align menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/jira-align" class=""><span>Jira Align</span></a></li><li class="atlassian-jira-service menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/jira-service-management" class=""><span>Jira Service Management</span></a></li><li class="atlassian-opsgenie menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/opsgenie" class=""><span>Opsgenie</span></a></li><li class="atlassian-sourcetree menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/sourcetree" class=""><span>Sourcetree</span></a></li><li class="atlassian-statuspage menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/statuspage" class=""><span>Statuspage</span></a></li><li class="atlassian-trello menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/trello" class=""><span>Trello</span></a></li></ul></div></div></li><li class="closed menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children"><a href="#" class="nav-menu-item-title"><span>Topics</span></a><div class="sub-menu"><div class="sub-menu__list-wrapper"><ul><li class="topic-ai menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/artificial-intelligence" class=""><span>AI</span></a></li><li class="topic-agile menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/agile" class=""><span>Agile</span></a></li><li class="topic-engineering menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/atlassian-engineering" class=""><span>How we build</span></a></li><li class="topic-continuous-delivery menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/continuous-delivery" class=""><span>Continuous Delivery</span></a></li><li class="topic-design menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/design" class=""><span>Design</span></a></li><li class="topic-developers menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent"><a href="https://www.atlassian.com/blog/developer" class=""><span>Developers</span></a></li><li class="topic-devops menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/devops" class=""><span>DevOps</span></a></li><li class="topic-enterprise menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/enterprise" class=""><span>Enterprise</span></a></li><li class="topic-git menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/git" class=""><span>Git</span></a></li><li class="topic-it-service-management menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/it-service-management" class=""><span>IT Service Management</span></a></li><li class="topic-inside-atlassian menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/inside-atlassian" class=""><span>Inside Atlassian</span></a></li><li class="topic-project-management menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/project-management" class=""><span>Project Management</span></a></li><li class="topic-work-management menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/work-management" class=""><span>Work Management</span></a></li></ul></div></div></li><li class="topic-company-news menu-item menu-item-type-taxonomy menu-item-object-category"><a href="https://www.atlassian.com/blog/announcements" class="nav-menu-item-title"><span>Company News</span></a></li></ul></div> </div> <div class="site__subscribe"> <div class="menu-subscribe-container"><ul id="subscribe-menu" class="menu"><li id="menu-item-42251" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-42251"><a href="#" data-toggle="modal" data-target="#atlassian-modal" data-event-container="subscribe" data-event-component="link" data-label="Subscribe" data-uuid="ad96f4fde8863234742f428d8a544f6b" data-event="clicked" data-schema-version="1">Subscribe</a></li> </ul></div> </div> <div class="site__search"> <button class="search-toggle"> <i class="icon-search"></i> <span class="screen-reader-text">Search</span> </button> </div> <div class="site-header__menu-toggle"> <button class="hamburger menu-toggle" type="button" aria-controls="primary-menu" aria-expanded="false"> <span class="screen-reader-text">Primary Menu</span> <span class="hamburger-box"> <span></span> <span></span> <span></span> </span> </button> </div> </div> </div> <div class="search-wrapper"> <form class="search-form" action="https://www.atlassian.com/blog/" method="get"> <label class="screen-reader-text" for="search">Search in https://www.atlassian.com/blog/</label> <div class="search-row row"> <div class="col-10"> <input type="text" class="search-input" name="s" id="search" placeholder="Search for something" value="" /> </div> <div class="col-1 offset-1"> <button class="search-submit" type="submit" data-event-container="searchForm" data-event-component="button" data-label="Search" data-uuid="37eb57a28d5b7f62ec52c63351f74e55" > <i class="icon-search" aria-hidden="true"></i> <span class="screen-reader-text">Search</span> </button> </div> </div> </form> </div> <nav id="site-navigation" class="main-navigation mobile-main-menu main-nav-mobile" role="navigation"> <div class="menu-products-news-mobile-container"><ul id="menu-products-news-mobile" class="mobile-nav"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-42255"><a href="#"><span>Products</span></a><div class='sub-menu__mobile'><ul><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-42477"><a href="https://www.atlassian.com/blog/product-news"><span>All Products</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42257"><a href="https://www.atlassian.com/blog/add-ons"><span>Apps</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42709"><a href="https://www.atlassian.com/blog/access"><span>Atlassian Guard</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42258"><a href="https://www.atlassian.com/blog/bamboo"><span>Bamboo</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42259"><a href="https://www.atlassian.com/blog/bitbucket"><span>Bitbucket</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42260"><a href="https://www.atlassian.com/blog/confluence"><span>Confluence</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42261"><a href="https://www.atlassian.com/blog/crowd"><span>Crowd</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42262"><a href="https://www.atlassian.com/blog/crucible"><span>Crucible</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42263"><a href="https://www.atlassian.com/blog/fisheye"><span>Fisheye</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-47068"><a href="https://www.atlassian.com/blog/halp"><span>Halp</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-62328"><a href="https://www.atlassian.com/blog/jira"><span>Jira</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-44717"><a href="https://www.atlassian.com/blog/jira-align"><span>Jira Align</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-47569"><a href="https://www.atlassian.com/blog/jira-service-management"><span>Jira Service Management</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42300"><a href="https://www.atlassian.com/blog/opsgenie"><span>Opsgenie</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42268"><a href="https://www.atlassian.com/blog/sourcetree"><span>Sourcetree</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42269"><a href="https://www.atlassian.com/blog/statuspage"><span>Statuspage</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-59774"><a href="https://www.atlassian.com/blog/trello"><span>Trello</span></a></li></ul></div></li><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-42256"><a href="#"><span>Topics</span></a><div class='sub-menu__mobile'><ul><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-61663"><a href="https://www.atlassian.com/blog/artificial-intelligence"><span>AI</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42270"><a href="https://www.atlassian.com/blog/agile"><span>Agile</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42272"><a href="https://www.atlassian.com/blog/continuous-delivery"><span>Continuous Delivery</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-item-61615"><a href="https://www.atlassian.com/blog/developer"><span>Developer</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42273"><a href="https://www.atlassian.com/blog/devops"><span>DevOps</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42274"><a href="https://www.atlassian.com/blog/enterprise"><span>Enterprise</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42275"><a href="https://www.atlassian.com/blog/git"><span>Git</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42277"><a href="https://www.atlassian.com/blog/it-service-management"><span>IT Service Management</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42276"><a href="https://www.atlassian.com/blog/inside-atlassian"><span>Inside Atlassian</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-59775"><a href="https://www.atlassian.com/blog/project-management"><span>Project Management</span></a></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-62329"><a href="https://www.atlassian.com/blog/work-management"><span>Work Management</span></a></li></ul></div></li><li class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-42271"><a href="https://www.atlassian.com/blog/announcements"><span>Company News</span></a></li><li class="product-news menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-42478"><a href="https://www.atlassian.com/blog/"><span>Blog</span></a></li></ul></div> </nav> </header> <div id="content" class="site-content"> <div id="primary" class="content-area"> <main id="main" class="site-main" role="main"> <article id="post-63021" class="post-63021 post type-post status-publish format-standard hentry category-developer"> <header class="post-hero hero-small"> <div class="container"> <div class="post-wrapper"> <div class="post-info"> <div class="d-lg-none"> <div class="post-date">Published October 28, 2024 in <a href="https://www.atlassian.com/blog/developer" data-event-container="postMeta" data-event-component="link" data-label="Developer" data-uuid="3e13142dd86b29417e4030b9f4b0c4fc" data-event="clicked" data-schema-version="1">Developer</a></div> </div> <div class="post-hero-body"> <h1 class="post-title">Connect apps will gain new extensibility features through Forge</h1> </div> <div class="post-meta"> <div class="post-date">Published <time class="entry-date published updated" datetime="2024-10-28T11:16:47-07:00">October 28, 2024</time> in <a href="https://www.atlassian.com/blog/developer" data-event-container="postMeta" data-event-component="link" data-label="Developer" data-uuid="3e13142dd86b29417e4030b9f4b0c4fc" data-event="clicked" data-schema-version="1">Developer</a></div><div class="post-author-card"><div class="post-author-image"><img src="https://atlassianblog.wpengine.com/wp-content/uploads/2024/06/ee8hja7rs-u04eydk9h9u-00e32ff5b5f3-512-1-400x400.jpg" alt="Sean Bourke" class="rounded-circle" /></div><div class="post-author-info"><span class="post-author-link"><a href="https://www.atlassian.com/blog/author/sean-bourke">Sean Bourke</a></span><p class="post-author-meta"></p></div></div> </div> </div> </div> </div> </header> <div class="container"> <div class="row"> <div class="col-lg-8"> <div class="entry-content"> <p>Each new extensibility feature is an opportunity for partners to build innovative apps that solve previously unsolvable use cases for customers. In recent months, we’ve released multiple new ways for developers to add value to Atlassian products, including Forge modules to create <a href="https://developer.atlassian.com/platform/forge/manifest-reference/modules/rovo-index/">custom Rovo agent actions</a>. Forge already provides extensibility features developers can’t get anywhere else, including Atlassian-hosted storage, automatic data residency, and custom fields.</p> <div class="card related-post sidebar"> <div class="card-inner"> <div class="related-label"> <span>Related Article</span> </div> <div class="card-body"> <h4 class="card-title"><a href="https://www.atlassian.com/blog/developer/answering-your-questions-about-adopting-forge-from-connect">Answering your questions about adopting Forge from Connect</a></h4> </div> <div class="card-footer"> <span class="author post-author vcard "> By <a href="https://www.atlassian.com/blog/author/sean-bourke">Sean Bourke</a> </span> <span class="post-category "> In <a href="https://www.atlassian.com/blog/developer">Developer</a> </span> </div> </div> </div> <p>While Forge features are great news for new apps, there are many existing apps on Connect that customers rely on. To ensure all apps benefit from new features on Forge, we’ve <a href="https://developer.atlassian.com/platform/adopting-forge-from-connect/">developed a pathway</a> for existing Connect apps to adopt Forge modules and capabilities, and this pathway is <strong>now generally available</strong>.</p> <p>This means Connect apps can use features that are available through the Forge platform today, like custom fields, UI modifications, hosted storage, and Forge data residency. It also ensures Connect apps continue to get the best that the Atlassian developer platform has to offer as new Forge features become available.</p> <p>We will follow through on existing Connect roadmap commitments, including data residency and app editions, and Connect will continue to receive security updates. However, Atlassian will deliver <strong>all new platform extensibility features only through Forge</strong>. Consolidating on one platform accelerates delivery of new features, allowing Atlassian and our partners to build once, adopt everywhere, with the latest Atlassian Cloud capabilities.</p> <h2 class="wp-block-heading" id="Progress-leading-up-to-GA">Progress leading up to GA</h2> <p>General availability marks several key developments in the Connect to Forge pathway, including mass eligibility, production readiness, and improvements shipped in Forge. All Connect apps, with the exception of those supporting data residency, can adopt Forge today, and over 50 Marketplace apps have converted their Connect descriptor to a Forge manifest. Of those, nearly all have already begun adding new Forge modules to adopt Forge-only features or replace Connect modules with the Forge equivalent.</p> <p>Forge itself has seen substantial progress since we <a href="https://www.atlassian.com/blog/it-teams/try-it-out-adding-forge-features-to-your-connect-app">announced the Preview release</a> of Connect to Forge migration in February 2024. UI kit has reached general availability, Forge remote <a href="https://developer.atlassian.com/platform/forge/remote/#using-forge-remote">supports multi-directional communication between Forge and remote services</a>, and Forge license testing is now available for former Connect apps. With Rovo agent-enabled apps on the horizon and improvements to Forge storage, like SQL databases, on the roadmap, there’s lots of goodness in the works for partners building on Forge.</p> <div class="card related-post sidebar"> <div class="card-image"> <img decoding="async" src="https://atlassianblog.wpengine.com/wp-content/uploads/2024/05/csd-9526_developer-blog-header_ecosystem_900x444_2x-600x480.png" alt="Bringing Forge-Powered Features to Connect Apps"> </div> <div class="card-inner"> <div class="related-label"> <span>Related Article</span> </div> <div class="card-body"> <h4 class="card-title"><a href="https://www.atlassian.com/blog/it-teams/try-it-out-adding-forge-features-to-your-connect-app">Bringing Forge-Powered Features to Connect Apps</a></h4> </div> <div class="card-footer"> <span class="author post-author vcard "> By <a href="https://www.atlassian.com/blog/author/sean-bourke">Sean Bourke</a> </span> <span class="post-category "> In <a href="https://www.atlassian.com/blog/developer">Developer</a> </span> </div> </div> </div> <h2 class="wp-block-heading" id="Leveraging-Forge,-step-by-step">Leveraging Forge, step by step</h2> <p>Over 170 apps have taken steps to port Connect apps to the Forge platform allowing partners to gradually incorporate Forge features into their apps without a complete re-write.</p> <p>Many former Connect apps are now in production as Forge apps, installed and used by Marketplace customers. One partner who has taken the leap is Tobias Binna, founder of Toolplus. Currently, the app’s architecture is split, with some functionality provided by Forge and some remaining on Connect. This gives the Toolsplus development team the flexibility to decide which parts to migrate and when.</p> <p>“My goal is to go all the way,” Tobias says. “I’m a small partner, so I see certain benefits in Forge. I don’t mind giving up the infrastructure, and being more focused on the app certainly helps.” However, there are a few parts of his app Tobias isn’t ready to move completely to Forge. Taking an incremental approach means partners can start exploring Forge while maintaining the Connect parts of the app until Forge provides a better replacement.</p> <p>Likewise, David Pinn, founder of ProjectBalm, is also in the process of moving a 7-year-old Connect app to Forge: Risk Register. “Our focus has been on re-implementing the modules as Forge modules,” David says.</p> <h2 class="wp-block-heading" id="Life-post-migration">Life post-migration</h2> <p>As the first cohort of former Connect apps have begun moving to Forge, partners have tested new deployment workflows, ensuring they can continue to reliably ship updates to the app’s hybrid architecture.</p> <p>David Pinn of Projectbalm describes the new workflow: “We have a Bitbucket pipeline that now has a couple of extra things to do with Forge, but the deployment looks pretty much the same for the developers. Maintenance has been pretty smooth to be honest.”</p> <p>This mirrors the experience Atlassian engineers have seen while dogfooding the migration process, porting Atlassian Labs apps like My Reminders to Forge. Robert Massaioli is an Atlassian engineering manager and the developer of the My Reminders app. With the goal of shifting storage to Forge (and gaining data residency in the process), Robert migrated the app to a half-Connect, half-Forge state. During this phase, Robert decided which data to retain, as well as implementing usage limits, improving the overall health of the app. Robert ran two different builds for each side to deploy the app, always Connect-first since the Connect app is considered a Forge remote. Later, when the Connect backend was decommissioned, the development loop became very simple, with far less maintenance than before. “I’m very happy that I made the switch,” Robert added.</p> <h2 class="wp-block-heading" id="Looking-to-Forge-for-enterprise-features-and-lower-overhead">Looking to Forge for enterprise features and lower overhead</h2> <p>Echoing Tobias Binna, Projectbalm’s goal is to migrate Risk Register entirely to Forge. “Our working hypothesis is to go all the way and get Forge hosted storage, in order to get automatic data residency,” David says. This is a common motivation, given the complexity and cost of implementing data residency for a Connect app, and the increasing demand from enterprise customers.</p> <p>Forge’s built-in infrastructure and observability are also attractive. “We just want fewer moving parts,” David says. “We have our app server and database server and all the monitoring that goes into that. I’d rather go to the dev console.”</p> <h2 class="wp-block-heading" id="Conclusion:-A-single-path-forward-for-extensibility">Conclusion: A single path forward for extensibility</h2> <p>As the Atlassian ecosystem continues to coalesce around Forge, partners can expect greater momentum bringing new extensibility features to market. Forge is the future, and all <strong>new</strong> extensibility features will be delivered Forge-only.</p> <p>To ensure partners continue to receive the latest and best platform features, we recommend beginning to explore using Forge with existing Connect apps. Automated tooling is available, and the process of converting a Connect app to Forge and adding a new module takes less than an hour. Resources are available in the <a href="https://developer.atlassian.com/platform/adopting-forge-from-connect/">developer documentation</a>, as well as on YouTube, and in our FAQ. Partners can <a href="https://community.developer.atlassian.com/c/forge/adopting-forge-from-connect/126">ask questions in the developer community</a>, and we’ll be standing by to help.</p> <p>We’re excited to take this major step towards ensuring all cloud apps can benefit from the investments we are making in Forge. Follow the <a href="https://developer.atlassian.com/platform/forge/changelog/">Forge changelog</a> to stay up to date on the latest developments.</p> </div><!-- .entry-content --> </div> <div class="col-lg-4"> </div> </div> </div> <footer class="entry-footer"> <div class="container"> <div class="post-footer"> <div class="row"> <div class="col-lg-4"> <div class="post-footer-meta"> <span class="post-footer-label">About this Article</span> <div class="post-date-artist-credit"> <div class="post-date large-date">Published October 28, 2024</div> </div> <span class="post-footer-label">About the Author</span> <div class="post-author-footer"> <p> <span class="post-author-link">Sean Bourke</span> <span class="author-info"></span> </p> </div> <ul class="social-media-list"> <li> <a data-event-container="postFootersocialMediaList" data-event-component="image" data-label="Facebook" data-uuid="a6e9f9eff7b4d5647f71f8d83a9695e0" data-event="clicked" data-schema-version="1" href="https://www.facebook.com/sharer/sharer.php?u=https://www.atlassian.com/blog/developer/connect-forge-ga" class="social-popup social-icon facebook" > <span class="screen-reader-text">Facebook</span> </a> </li> <li> <a data-event-container="postFootersocialMediaList" data-event-component="image" data-label="Twitter" data-uuid="bfd1eb33d0c7e5e47e847cac402909e3" data-event="clicked" data-schema-version="1" href="https://twitter.com/intent/tweet?text=https://www.atlassian.com/blog/developer/connect-forge-ga" class="social-popup social-icon twitter" > <span class="screen-reader-text">Twitter</span> </a> </li> <li> <a data-event-container="postFootersocialMediaList" data-event-component="image" data-label="Linkedin" data-uuid="8a0f53b4df7dc27ea3006c7288d7a280" data-event="clicked" data-schema-version="1" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.atlassian.com/blog/developer/connect-forge-ga&title=Connect%20apps%20will%20gain%20new%20extensibility%20features%20through%20Forge" class="social-popup social-icon linkedin" > <span class="screen-reader-text">Linkedin</span> </a> </li> <li> <a data-event-container="postFootersocialMediaList" data-event-component="image" data-label="Pocket" data-uuid="2be974c3484c4bbcc3cec6f03f768f04" data-event="clicked" data-schema-version="1" href="https://getpocket.com/save?url=https://www.atlassian.com/blog/developer/connect-forge-ga&title=Connect%20apps%20will%20gain%20new%20extensibility%20features%20through%20Forge" class="social-popup social-icon pocket" > <span class="screen-reader-text">Pocket</span> </a> </li> <li> <a data-event-container="postFootersocialMediaList" data-event-component="image" data-label="Email" data-uuid="aa1a21c0ae2d8e9f817b4a59d26f211b" data-event="clicked" data-schema-version="1" href="mailto:someone@example.com?subject=I%20thought%20you'd%20like%20this%20article%20by%20Atlassian&body=Connect%20apps%20will%20gain%20new%20extensibility%20features%20through%20Forge%0D%0Ahttps://www.atlassian.com/blog/developer/connect-forge-ga" class="social-icon email" > <span class="screen-reader-text">Email</span> </a> </li> </ul> </div> </div> <div class="col-lg-8"> <div class="post-footer-related"> <span class="post-footer-label">Related Content</span> <h3>More in <span class="post-footer-term">Developer</span></h3> <section class="group-grid grid-count-4 "> <div class="row section-posts-row"> <div class="grid-column col-md-6"> <article id="post-66756-footer-related" class="card card-300x118 h-100 post-66756 post type-post status-publish format-standard has-post-thumbnail hentry category-developer"> <div class="card-image" > <a data-event-container="postCardThumbnail" data-event-component="image" data-label="Post Thumbnail" data-uuid="f678598732f7fea1e7ef407dcd9dede4" data-event="clicked" data-schema-version="1" aria-label="Highlights from Atlas Camp 2025 🚀" href="https://www.atlassian.com/blog/developer/highlights-from-atlas-camp-2025-%f0%9f%9a%80" > <img width="192" height="192" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/02/img_0650-192x192.jpg" class="card-img-top wp-post-image" alt="Developer at the Atlas Camp Keynote" decoding="async" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/02/img_0650-192x192.jpg 192w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/02/img_0650-400x400.jpg 400w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/02/img_0650-760x760.jpg 760w" sizes="(max-width: 192px) 100vw, 192px" /> </a> </div> <div class="card-body"> <div class="entry-category"> <span class="post-category "> <a href="https://www.atlassian.com/blog/developer" data-event-container="postCategory" data-event-component="link" data-label="Developer" data-uuid="13071" data-event="clicked" data-schema-version="1">Developer</a> </span> </div> <h4 class="entry-title card-title "> <a data-event-container="postTitle" data-event-component="link" data-label="Highlights from Atlas Camp 2025 🚀" data-uuid="9e97ae44b57f33120f456d8eca3b7278" data-event="clicked" data-schema-version="1" href="https://www.atlassian.com/blog/developer/highlights-from-atlas-camp-2025-%f0%9f%9a%80" rel="bookmark" > Highlights from Atlas Camp 2025 🚀 </a> </h4> </div> </article><!-- #post-66756 --> </div><!-- .grid-column --> <div class="grid-column col-md-6"> <article id="post-66067-footer-related" class="card card-300x118 h-100 post-66067 post type-post status-publish format-standard hentry category-bitbucket category-continuous-delivery category-developer category-devops category-software-teams tag-bitbucket-cloud tag-bitbucket-pipelines"> <div class="card-body"> <div class="entry-category"> <span class="post-category "> <a href="https://www.atlassian.com/blog/bitbucket" data-event-container="postCategory" data-event-component="link" data-label="Bitbucket" data-uuid="11880" data-event="clicked" data-schema-version="1">Bitbucket</a> </span> </div> <h4 class="entry-title card-title "> <a data-event-container="postTitle" data-event-component="link" data-label="Announcing ARM builds in cloud for Bitbucket Pipelines" data-uuid="4aaa02092037d61dceb631331c9047f1" data-event="clicked" data-schema-version="1" href="https://www.atlassian.com/blog/bitbucket/announcing-arm-builds-in-cloud-for-bitbucket-pipelines" rel="bookmark" > Announcing ARM builds in cloud for Bitbucket Pipelines </a> </h4> </div> </article><!-- #post-66067 --> </div><!-- .grid-column --> <div class="grid-column col-md-6"> <article id="post-66061-footer-related" class="card card-300x118 h-100 post-66061 post type-post status-publish format-standard hentry category-bitbucket category-continuous-delivery category-developer category-devops category-software-teams tag-bitbucket-cloud tag-bitbucket-pipelines tag-devops tag-pipelines"> <div class="card-body"> <div class="entry-category"> <span class="post-category "> <a href="https://www.atlassian.com/blog/bitbucket" data-event-container="postCategory" data-event-component="link" data-label="Bitbucket" data-uuid="11880" data-event="clicked" data-schema-version="1">Bitbucket</a> </span> </div> <h4 class="entry-title card-title "> <a data-event-container="postTitle" data-event-component="link" data-label="Introducing step failure strategies in Bitbucket Pipelines" data-uuid="807b30b3dad72d850716fd55fdc35617" data-event="clicked" data-schema-version="1" href="https://www.atlassian.com/blog/bitbucket/introducing-step-failure-strategies-in-bitbucket-pipelines" rel="bookmark" > Introducing step failure strategies in Bitbucket Pipelines </a> </h4> </div> </article><!-- #post-66061 --> </div><!-- .grid-column --> <div class="grid-column col-md-6"> <article id="post-65838-footer-related" class="card card-300x118 h-100 post-65838 post type-post status-publish format-standard has-post-thumbnail hentry category-developer"> <div class="card-image" > <a data-event-container="postCardThumbnail" data-event-component="image" data-label="Post Thumbnail" data-uuid="2e6ca0b3dbdb2afa565c2c9b67d827a6" data-event="clicked" data-schema-version="1" aria-label="The wait is over! Let the celebration begin for Codegeist 2024 winners 🎉" href="https://www.atlassian.com/blog/developer/codegeist-2024-winners" > <img width="192" height="192" src="https://atlassianblog.wpengine.com/wp-content/uploads/2025/01/csd-12775_fy25codegeist_blog_2_winners_1120x545-2x-1-192x192.jpg" class="card-img-top wp-post-image" alt="" decoding="async" srcset="https://atlassianblog.wpengine.com/wp-content/uploads/2025/01/csd-12775_fy25codegeist_blog_2_winners_1120x545-2x-1-192x192.jpg 192w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/01/csd-12775_fy25codegeist_blog_2_winners_1120x545-2x-1-400x400.jpg 400w, https://atlassianblog.wpengine.com/wp-content/uploads/2025/01/csd-12775_fy25codegeist_blog_2_winners_1120x545-2x-1-760x760.jpg 760w" sizes="(max-width: 192px) 100vw, 192px" /> </a> </div> <div class="card-body"> <div class="entry-category"> <span class="post-category "> <a href="https://www.atlassian.com/blog/developer" data-event-container="postCategory" data-event-component="link" data-label="Developer" data-uuid="13071" data-event="clicked" data-schema-version="1">Developer</a> </span> </div> <h4 class="entry-title card-title "> <a data-event-container="postTitle" data-event-component="link" data-label="The wait is over! Let the celebration begin for Codegeist 2024 winners 🎉" data-uuid="435cb0896d88faffc35c0c97c42aca7b" data-event="clicked" data-schema-version="1" href="https://www.atlassian.com/blog/developer/codegeist-2024-winners" rel="bookmark" > The wait is over! Let the celebration begin for Codegeist 2024 winners 🎉 </a> </h4> </div> </article><!-- #post-65838 --> </div><!-- .grid-column --> </div> </section> </div> </div> </div> </div> </div> <div class="more-collections"> <div class="container"> <div class="row"> <div class="col"> <h4 class="post-footer-label">More Collections</h4> </div> </div> </div> <section class="group-collections-grid"> <div class="container"> <div class="row"> <div class="col-12"> <div class="group-collections-carousel owl-carousel"> <div class="grid-item item"> <div class="card rich collection h-100 has-image post-63021 post type-post status-publish format-standard hentry category-developer" style="background-image: url( https://atlassianblog.wpengine.com/wp-content/uploads/2023/01/a-new-formula-for-finding-happiness-within-yourself_320x320-1-600x640.jpg );"> <a aria-labelledby="entry_cat67be39bc41b2d card_title67be39bc41b2e" aria-describedby="collection_text67be39bc41b2f" data-event-container="collectionCard" data-event-component="link" data-label="Wellbeing | Well-doing" data-uuid="12970" data-event="clicked" data-schema-version="1" class="collection-link" href="https://www.atlassian.com/blog/collections/wellbeing-at-work" > <div class="card-body"> <div class="entry-category"> <span class="collection-label" aria-hidden="true"> Collection </span> </div> <h3 class="card-title collection-title h2"> Wellbeing | Well-doing </h3> <p class="collection-text">Strategies for individuals and leaders to cultivate a flexible, balanced, and inclusive work life.</p> </div> <div class="card-footer" aria-hidden="true"> View Collection </div> </a> </div><!-- #collection-12970 --> </div> <div class="grid-item item"> <div class="card rich collection h-100 has-image post-63021 post type-post status-publish format-standard hentry category-developer" style="background-image: url( https://atlassianblog.wpengine.com/wp-content/uploads/2023/01/team-tour-kit-of-parts-1201x1002-7969be6-600x960.jpg );"> <a aria-labelledby="entry_cat67be39bc41daa card_title67be39bc41dab" aria-describedby="collection_text67be39bc41dac" data-event-container="collectionCard" data-event-component="link" data-label="Ways of Working" data-uuid="12971" data-event="clicked" data-schema-version="1" class="collection-link" href="https://www.atlassian.com/blog/collections/ways-of-working" > <div class="card-body"> <div class="entry-category"> <span class="collection-label" aria-hidden="true"> Collection </span> </div> <h3 class="card-title collection-title h2"> Ways of Working </h3> <p class="collection-text">How you work is just as important as the work you're doing.</p> </div> <div class="card-footer" aria-hidden="true"> View Collection </div> </a> </div><!-- #collection-12971 --> </div> <div class="grid-item item"> <div class="card rich collection h-100 has-image post-63021 post type-post status-publish format-standard hentry category-developer" style="background-image: url( https://atlassianblog.wpengine.com/wp-content/uploads/2023/01/mb-personalities_320x320@2x-600x641.png );"> <a aria-labelledby="entry_cat67be39bc4201e card_title67be39bc4201f" aria-describedby="collection_text67be39bc42020" data-event-container="collectionCard" data-event-component="link" data-label="Your Personality at Work" data-uuid="12972" data-event="clicked" data-schema-version="1" class="collection-link" href="https://www.atlassian.com/blog/collections/personality-at-work" > <div class="card-body"> <div class="entry-category"> <span class="collection-label" aria-hidden="true"> Collection </span> </div> <h3 class="card-title collection-title h2"> Your Personality at Work </h3> <p class="collection-text">Navigating and celebrating the complexities of our individuality.</p> </div> <div class="card-footer" aria-hidden="true"> View Collection </div> </a> </div><!-- #collection-12972 --> </div> </div> </div> </div> </div> </section> </div> </footer><!-- .entry-footer --> <div class="post-header-scrolled"> <progress aria-hidden="true" class="post-progress" value="0"></progress> <div class="post-header-scrolled-grid"> <div class="post-header-title"> <h4>Connect apps will gain new extensibility features through Forge</h4> </div> <div class="post-header-subscribe"> <div class="menu-subscribe-container"><ul id="subscribe-menu-post" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-42251"><a href="#" data-toggle="modal" data-target="#atlassian-modal" data-event-container="subscribe" data-event-component="link" data-label="Subscribe" data-uuid="ad96f4fde8863234742f428d8a544f6b" data-event="clicked" data-schema-version="1">Subscribe</a></li> </ul></div> </div> <div class="post-header-social"> <ul class="social-media-list"> <li> <a data-event-container="postHeadersocialMediaList" data-event-component="image" data-label="Facebook" data-uuid="7f55e7e4233989aca74556cd54eaf4c3" data-event="clicked" data-schema-version="1" href="https://www.facebook.com/sharer/sharer.php?u=https://www.atlassian.com/blog/developer/connect-forge-ga" class="social-popup social-icon facebook" > <span class="screen-reader-text">Facebook</span> </a> </li> <li> <a data-event-container="postHeadersocialMediaList" data-event-component="image" data-label="Twitter" data-uuid="122496119cd573fd21cfb0f8570933a8" data-event="clicked" data-schema-version="1" href="https://twitter.com/intent/tweet?text=https://www.atlassian.com/blog/developer/connect-forge-ga" class="social-popup social-icon twitter" > <span class="screen-reader-text">Twitter</span> </a> </li> <li> <a data-event-container="postHeadersocialMediaList" data-event-component="image" data-label="Linkedin" data-uuid="df31f65e3bc1afe30900e5bfea202e5a" data-event="clicked" data-schema-version="1" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.atlassian.com/blog/developer/connect-forge-ga&title=Connect%20apps%20will%20gain%20new%20extensibility%20features%20through%20Forge" class="social-popup social-icon linkedin" > <span class="screen-reader-text">Linkedin</span> </a> </li> <li> <a data-event-container="postHeadersocialMediaList" data-event-component="image" data-label="Pocket" data-uuid="1e8b1daa0793d75435f288d3cbf26759" data-event="clicked" data-schema-version="1" href="https://getpocket.com/save?url=https://www.atlassian.com/blog/developer/connect-forge-ga&title=Connect%20apps%20will%20gain%20new%20extensibility%20features%20through%20Forge" class="social-popup social-icon pocket" > <span class="screen-reader-text">Pocket</span> </a> </li> <li> <a data-event-container="postHeadersocialMediaList" data-event-component="image" data-label="Email" data-uuid="aa1a21c0ae2d8e9f817b4a59d26f211b" data-event="clicked" data-schema-version="1" href="mailto:someone@example.com?subject=I%20thought%20you'd%20like%20this%20article%20by%20Atlassian&body=Connect%20apps%20will%20gain%20new%20extensibility%20features%20through%20Forge%0D%0Ahttps://www.atlassian.com/blog/developer/connect-forge-ga" class="social-icon email" > <span class="screen-reader-text">Email</span> </a> </li> </ul> </div> </div> </div> </article><!-- #post-63021 --> </main><!-- #main --> </div><!-- #primary --> </div><!-- #content --> <footer class="footer-main"> <div class="container"> <div class="footer-top"> <div id="atlassian_subscribe_widget-4" class="widget atlassian-subscribe-widget"> <div class="subscribe-widget"> <div class="card-body"> <header class="subscribe-widget-header"> <span class="subscribe-label">Join over 150,000 working professionals</span> <img class="subscribe-image" src="https://atlassianblog.wpengine.com/wp-content/themes/atlassianblogs/assets/images/worklife-white.svg" alt="Work Life by Atlassian" /> </header> <div class="card-text"> <p>By <a href="https://atlassian.com" class="footer-logo-link"><span class="screen-reader-text">Atlassian</span></a></p> </div> <div class="card-callout"> <p>Culture, tech, teams, and tips, delivered twice a month</p> </div> <div class="card-button"> <button data-event-container="subscribeWidget" data-event-component="button" data-label="Sign me up!" data-uuid="8678b3962b8e2bc3f39f3cc2b7fd88d4" data-event="clicked" data-schema-version="1" type="button" class="button button__primary--yellow" data-toggle="modal" data-target="#atlassian-modal" > Sign me up! </button> </div> </div> </div> </div> </div> <div class="footer-bottom"> <div class="menu-links-container"><ul id="footer-menu" class="nav navbar-nav"><li id="menu-item-35191" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-35191"><a href="https://atlassian.com" data-event-container="links" data-event-component="link" data-label="Atlassian.com" data-uuid="9267967357866cc662353f695a812366" data-event="clicked" data-schema-version="1">Atlassian.com</a></li> <li id="menu-item-35192" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-35192"><a href="https://www.atlassian.com/legal/customer-agreement" data-event-container="links" data-event-component="link" data-label="Terms of Use" data-uuid="3b85d684d1802dbf1bb05742c75f106f" data-event="clicked" data-schema-version="1">Terms of Use</a></li> <li id="menu-item-35193" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-35193"><a href="https://www.atlassian.com/legal/privacy-policy" data-event-container="links" data-event-component="link" data-label="Privacy Policy" data-uuid="8e1da51d53ab1992ceebd4f81ac8de1b" data-event="clicked" data-schema-version="1">Privacy Policy</a></li> <li id="menu-item-54122" class="atl-policy-link atl-policy-link-text atl-policy-link-container menu-item menu-item-type-custom menu-item-object-custom menu-item-54122"><a href="https://www.atlassian.com/legal/privacy-policy#additional-disclosures-for-ca-residents" data-event-container="links" data-event-component="link" data-label="Notice at Collection" data-uuid="e9dd1c49cc0ac866f54eb500eb0c6a52" data-event="clicked" data-schema-version="1">Notice at Collection</a></li> <li class="menu-item copyright">Copyright © 2025 Atlassian</li></ul></div> </div> </div> </footer> </div><!-- #page --> <div class="modal fade" id="atlassian-modal"> <div class="modal-dialog modal-dialog-centered" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close" data-event-container="modal" data-event-component="button" data-label="Close Modal" data-uuid="5b8f923808787e8951dfce7a535aec13" > <span aria-hidden="true"><i class="icon-close"></i></span> </button> </div> <div class="modal-body"> <div id="consenthub-form-wrapper"> <div class="card-body text-center"> <form method="post" enctype="multipart/form-data" id="consenthub-form"> <input type="hidden" name="action" value="atlassian_blog_process_consenthub" /> <header class="form-heading"> <span class="subscribe-label">Subscribe to Dev News</span> <h3 class="form-description">Stories, trends & announcements for Atlassian builders</h3> </header> <div id="consenthub_error_msg"></div> <div class="form-body"> <label class="sr-only" for="consenthub_email" >Email<span class="gfield_required">*</span></label> <div class="form-input-container form-input-container-email"> <input name="consenthub_email" id="consenthub_email" type="text" value="" class="large" tabindex="5" placeholder="Email Address" aria-required="true" aria-invalid="false" /> </div> </div> <div class="form-footer"> <input type="hidden" id="consenthub_key" value="atlassian.atlassianBlog" /> <input type="hidden" id="consenthub_success_msg" value="We know your inbox is protected space, so we promise to send only the good stuff, twice a month." /> <input type="submit" id="consenthub_form_submit" class="button button__primary--yellow" value="Subscribe" tabindex="6" /> </div> </form> </div> </div> </div> </div> </div> </div> <script type="text/javascript" id="code-prettify-js-before"> /* <![CDATA[ */ var codePrettifyLoaderBaseUrl = "https:\/\/atlassianblog.wpengine.com\/wp-content\/plugins\/code-prettify\/prettify"; /* ]]> */ </script> <script type="text/javascript" src="https://atlassianblog.wpengine.com/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" id="atlassian-components-script-js-extra"> /* <![CDATA[ */ var consenthub_settings = {"ajaxurl":"https:\/\/atlassianblog.wpengine.com\/wp-admin\/admin-ajax.php","error_msg":"Please enter a valid email address","fail_msg":"An error occurred when submitting your information. Please try again later.","configurl":"https:\/\/preferences.atlassian.com\/rest\/forms\/config","formurl":"https:\/\/www.atlassian.com\/blog\/developer\/connect-forge-ga","submiturl":"https:\/\/www.atlassian.com\/endpoint\/preferencesV2\/update"}; /* ]]> */ </script> <script type="text/javascript" id="atlassianblogs-script-js-extra"> /* <![CDATA[ */ var atlassian_banner_cookie = [""]; var search_url_base = {"url":"https:\/\/www.atlassian.com\/blog\/search"}; var current = {"url":"https:\/\/www.atlassian.com\/blog\/developer\/connect-forge-ga"}; var home_url_base = {"url":"https:\/\/atlassianblog.wpengine.com\/"}; /* ]]> */ </script> <script type="text/javascript" src="https://atl-global.atlassian.com/js/atl-global.min.js?ver=1.0" id="segment-io-script-js"></script> <script type="text/javascript" src="https://stats.wp.com/e-202509.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script type="text/javascript" id="jetpack-stats-js-after"> /* <![CDATA[ */ _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"241342263\",\"post\":\"63021\",\"tz\":\"-8\",\"srv\":\"atlassianblog.wpengine.com\",\"j\":\"1:14.2.1\"}") ]); _stq.push([ "clickTrackerInit", "241342263", "63021" ]); /* ]]> */ </script> <script> ace.analytics.Initializer.initWithPageAnalytics('kiv6wyh2nw'); </script> <script defer src="https://atlassianblog.wpengine.com/wp-content/cache/autoptimize/js/autoptimize_d051367b3dad65d7a6c782bb4dff238f.js"></script></body> </html>