We’ve recently faced a case that we might need to prohibit an installation of our add-on for Confluence Cloud when meeting certain conditions.
In general we want to show a user some meaningful message after the installation attempt is ruined. For example, “Please install this add-on for Jira Cloud first”.
During the installation process we analyze whether the add-on has been installed for Jira and, if not, we don’t allow a user to install it for Confluence.
However there’s no way for us to tell a customer something essential even if we pass a desired message in http response for the install request. We usually see that a Marketplace engine shows a general text similar to “The app failed to install. Please try again later or contact the app vendor.”.
We're highly interested in a kind of a standardization of installation webhook response so that we could use it to pass an information to a customer and be sure that this information is shown after an installation attempt
We’re highly interested in a kind of a standardization of the response for installation webhooks so that we could use it to pass an information to a customer and be sure that this information is shown after an installation attempt
Thanks in advance!
You might know, there is a postInstallPage but it is not shown “regardless of outcome”. Could your App accept the installation hook, but then remain in an “unconfigured state” until the conditions are met? Otherwise, there’s a bit of “cart before the horse”. If your App refuses the install hook, then how would Atlassian know that it’s still available to perform post-install error handling?
Hi @ibuchanan, thanks for the fast response!
I’ve a bit reformulated the question in the last paragraph: “We’re interested in a kind of a standardization of the response for installation webhooks so that we could use it to pass an information to a customer and be sure that this information is shown after an installation attempt”
As I understood
postInstall routines work only in a case of successful installations. In our case we want to reject the installation and pass a custom text message to users to let them know the reason.
So what we’re asking about is a way to pass an information to a customer after the installation attempt, regardless whether it was successful or not
Unfortunately, temporary unconfigured state for an app requires a significant amount architectural redesign, so we would be happy to avoid it.
Yes, your understanding of
postInstall page is correct. No, there isn’t a way for an app to pass information to a customer that is reliable in the face of declined uninstall. Despite the undesirable redesign, I think the unconfigured state is the best way forward.