Can you update/expand the guidance on maintaining cross-product Forge Marketplace apps?

Sorry for the delay.

Re. the overall stance on multi-product apps

Forge today has been designed in a way that isn’t product specific, so an app can be composed from functionality from multiple products. That said, this is a bit theoretical, because in practice as you’ve discovered we don’t have a great story for how a single app can be installed in and interact with multiple products.

This is an area we are interested in investigating further, but definitely needs more work and thought. The doc you reference stating that Forge “supports and encourages” this is probably too strongly worded – we’ll tone that down.

For now and the near/medium term, Marketplace apps can only be made available for installation into a single product, so it’s good to design your apps with this in mind.

Re. your immediate issue

Even though separate apps, installs and listings are required for Jira & Confluence apps (and this will continue to be true for the medium term), we do expect it to be possible to share code between the two apps. Based on your experience I think there’s 2 specific things I need to dig into – I’m essentially paraphrasing your questions, let me know if this is right:

  1. You used to be able to deploy an app to Jira (/Confluence) despite it including code and scopes for Confluence (/Jira). This stopped working at some stage, and now you need to remove the unrecognised scopes and pass in --no-verify to avoid validation errors. Was this change a change in Forge, and if so was it deliberate? (If so, our claims that code can be shared need to be more nuanced.)
  2. To what extent is the behaviour in 1. affected by whether the app is listed on Marketplace, i.e. could it be that the platform is enforcing stricter validation on listed apps? (This isn’t something you can experiment with on your side because you don’t/can’t have “dummy” listed apps to play with.)

Assuming I’ve understood that right, I’ll try to get back to you soon with answers to those 2 questions.

2 Likes