I trust this message finds everyone in good health and spirits. Today, I’m reaching out to the community to discuss a particular facet of Atlassian Forge that has piqued my interest – the inaccessibility of the baseURL of the site on which our apps run.
The baseURL can be a crucial element for various developmental purposes, including but not limited to integrations and app-specific functionalities. From my perspective, and seemingly from the perspective of several other developers in our community, this could significantly enhance our ability to create versatile and robust Forge apps.
Interestingly, it appears as though Atlassian may be purposefully obscuring this baseURL. While we can observe the baseURL in the development console, it’s notably absent from the productContext where its availability could be advantageous.
The reasoning behind this approach is not immediately clear to me. I understand that potential considerations around security, data privacy, or architectural aspects of Forge might be relevant, but it would be helpful to have a clearer picture. Greater transparency would help the developer community in strategizing and implementing our apps more effectively, acknowledging the precise constraints we have at hand.
I would greatly appreciate if anyone from the Atlassian team or seasoned members of this forum could shed some light on this matter. Similarly, if there are any suggested alternatives or best practices to achieve similar goals without the baseURL, those insights would be extremely valuable.
Thank you for your time in considering this post. I believe a deeper understanding of this issue would be beneficial for our collective growth and progress as the Atlassian developer community.
I think you can still get Jira instance info via GET /rest/api/3/serverInfo, which means I don’t think there is an intention to obscure the base URL.
Can you say more about “it’s notably absent from the productContext”? What are the scenarios where your app needs baseUrl? Is it a value your app needs to store or used for things other than REST API fetches? How does your app handle changes to baseUrl when customers change their product/site URL?
I’m not sure I have answers to your questions but I think any Atlassian who could answer would need to understand your position better.
While we can indeed access Jira instance info via GET /rest/api/3/serverInfo, this requires an API call which is not always possible (custom ui).
Consider an Enterprise client with numerous sites using a unified hour booking system. We have a Forge app that generates a link for hour booking, with the link clicked by users to book hours. A worklog is then created in Jira through an integration between the two systems. The problem arises in identifying the specific site involved - the baseURL, if readily available, would facilitate this.
More importantly, by having the baseURL as part of the link, changes in the site’s baseURL would not affect the functionality, as the link would always contain the current baseURL.
This is just one of many scenarios where access to baseURL within the productContext could enhance the effectiveness and robustness of our Forge applications.
Please also find more use cases and related discussions in these two threads:
It would greatly help the community if Atlassian could consider including baseURL in the productContext.