The future of Forge is top of mind to all of us here at Atlassian – and we know it's important to our Marketplace Partners, too. On November 16, our team presented the first installment of a quarterly Forge Roadmap Webinar Series. We discussed the benefits of developing on Forge, how we're ensuring Forge offers Connect-equivalent functionality, and new features that are coming soon.
Although Forge already supports a large number of use cases, we're planning to unblock even more. To get a peek at the possibilities Forge already holds, check out a few of the 150 innovative apps our Codegeist hackathon participants came up with.
As a team, we're constantly evaluating what developers need to build apps on Forge. We're committed to doing the work to make Forge a platform that's the right choice for every developer. Read on for a brief summary of a few new and exciting innovations we covered during the webinar, and stay tuned for the next edition of the webinar in Q1 2022.
You can watch the full-length recorded webinar on YouTube.
Building Connect equivalent functionality – and why it's important
We understand the important role Connect has played for many Partners over the years. That's why one of our primary goals for the immediate future is to create functional parity between Connect and Forge, and eventually go above and beyond what was possible on Connect.
If you already have applications on Connect, we're here to support you and we want you to know that you're in charge of your Forge adoption. We've planned for a gradual adoption, but there are some changes we need to implement to reduce the risk of security vulnerabilities related to JWT auth and remote iframes. However, we won't enforce aggressive timelines for removing these features in Connect.
Developers can still adopt Forge even if you don't plan to host all services on Atlassian. It's possible to start with small steps, and gradually increase Forge usage over time.
Available now: New features and functions
Finally, the exciting part – the features and functionality we're building out to make sure we get the fundamentals of Forge right. Here are a few notable recent releases.
Transfer marketplace listings from Connect to Forge
If you have a Connect app in the marketplace already, you don't want to duplicate your listing, or start your install count from zero, when you build a Forge version of the app. We've made it possible for marketplace partners to preserve the details of their listings as they move to the Forge platform, including carrying over reviews, install counts, and billed customers.
We've heard the 10-second invocation timeout has been a serious blocker. That's why we shipped Async Processing, which offers extended support for long-running background jobs by splitting larger processes into smaller batches and running them in parallel. Async processing uses the Forge app events feature to push long-running jobs to a queue so they can be executed in the background.
Additionally, based on feedback from the early access program, the timeout for the Async processing extension will increase to 25 seconds. To use this new feature, developers will need to redeploy their app.
Secure Storage API
The secure storage API was shipped a while ago, but addresses a key challenge that we want to make the Forge community aware of. It allows developers to encrypt and safely store sensitive values, such as API credentials, from third party services.
Continuous access to logs
We want to give developers more visibility into how their apps are performing in production. One improvement, which we shipped last week, is continuous access to production logs. Partners only need to ask admins for access once, and then view logs for as long as it takes to resolve an issue. We hope this will lead to faster issue resolution and better admin control over data.
Previously, when a developer needed access to production logs to troubleshoot an issue, they'd need to contact an affected customer and ask for an export. Now, when a developer needs access to production logs, they can request access from the customer once, and they'll have continuous access until the admin revokes it.
We kept data privacy top of mind when developing this feature. We know production logs can sometimes contain PII or other sensitive information. Before the logs are shared, the admin can preview a sample of the log data to make sure no private data is revealed to the vendor.
We have a lot of things planned for the Forge platform. Here's just a taste of what's coming next.
Our team is actively building a monitoring dashboard within the developer console that will allow you to track metrics and see how your app is performing, which is estimated to release early next quarter. It will surface aggregated data from all customers who have installed and used your app to give you an overall view, including the following metrics:
- Success rate: the percentage of function invocations that are successful
- Invocation count: the total number of times a function was invoked
- Function errors: errors from a failed function
Long term, we plan to build out more app monitoring capabilities. If a particular metric is important to you, please share your feedback with our team.
As discussed above, we're committed to functional parity between Connect and Forge. This means if a use case was supported in Connect, we want to support it in Forge as well. However, functional parity doesn't necessarily mean UI parity.
For example, in Connect, a button may have previously been at a different place in the UI. That button's functionality will still be present in Forge, but the placement may be a little different. We'd love to hear which extension points you use and rely on so we can prioritize the extension points that matter most.
Additionally, here are a few of the new Forge modules we have coming soon:
|In Progress||Up Next||Future|
|generalPages module for Jira and Confluence||Dynamic modules||Internalization|
|UI bridge capabilities||More UI extension points|
|Product trigger events|
For more information, take a look at the Forge product roadmap.
External Auth – coming end of 2021
External Auth allows developers to easily authenticate with third-party services that use the OAuth 2.0 protocol. This simplifies the process of building Forge apps that integrate with a user's GitHub account, Slack account, or Google calendar, to name just a few.
External Auth handles a lot of the authentication logistics automatically, including the back-and-forth flow of requesting a token, securely storing that token, and even token refresh requests. We expect this feature to ship by the end of the year.
Addressing Audience Questions
At the end of the webinar, our panelists from the Product team took a moment to answer questions from our community. Here's a selection of key updates – for the entire Q&A session, take a peek at the recording.
Is there an update on JSM support?
We're working to bring parity for JSM extension points, adding support to access JSM APIs, and support product events.
Are there any plans to support Forge for Bitbucket Connect?
Long term, we plan for Forge to be the unified extension platform for all extension products. We can't commit to a specific timeframe, but it's coming.
Is the observability endpoint also open to be added to our own platform?
Larger, more established partners are keen to export metrics into their own observability tools, while smaller partners don't have the resources. We decided to start with the core metrics, and once those are shipped, we can move to sending metrics to external tools.
Will there be an equivalent of FireBase real time database in Forge?
We're currently doing a full review of all storage requirements, all the way from what we have now, key-value storage, and adding incrementally more complex archetypes . Our DBMS is something that we'll expect to support for quite a while.
Module condition sounds pretty great. Will storage API access within that be possible?
We're working out what we can support in a performant manner. We'll follow up with a more complete answer.
When will it be possible to place a Forge app inside the main navigation bar for Jira?
In Forge, this will be called global page. Jira, Confluence and Compass are all working on bringing support for this. More news will be coming very soon.
Are you going to support OAuth for Microsoft?
While OAuth 2.0 is the standard, not every product aligns with the standard exactly. We can't comment on if Microsoft follows these standards, although we know our team is always trying to accommodate all kinds of implementations. If you're trying to implement a specific provider, we're more than happy to help.
We want to convert to cloud as fast as possible. Should we start with Forge today or use Connect?
Right now, Connect will serve more use cases than Forge. But, if you have a low complexity app, it's a great idea to start by exploring Forge.
Forge is moving quickly, but we have more work ahead of us to make Forge the right choice for every developer. The only way we can achieve our mutual goal of making apps successful is by working closely with the partner and developer community.
We’re looking for volunteers to help us shape the future of Forge. There are two ways you can help:
- Share the details of your app architecture to help us identify gaps and prioritize our roadmap
- Partner with our product and engineering team to build your apps on Forge
The data you share is critical to informing what we build and when. If you’re interested in building on Forge and want to be among the front runners, get in touch with us.