Entity Property Display Conditions are controlled by entity properties set in Jira that are scoped to the specific app that creates them.
There are experimental API’s to set and delete those properties offered on Jira, but no API to GET those properties.
How are you meant to know what the current value of a property is if there’s no way to GET the property? There are GET API’s for Connect, but they don’t work for Forge apps.
The only option I can see is to basically store a copy of all your App Entity properties in Forge Storage and query that instead. But that seems pretty sub-optimal because it means you’ll have to do two write operations every time you want to update the properties; one for the Entity Property and one in Forge Storage.
I don’t think that is true. They are scoped to the entity they are placed on, like the JIRA issue. Any user or app that can access the issue could access, and modify, the entity property.
Now, if you are talking about App properties specifically, they only exist for the Connect Platform and Forge Storage is the newer, better, alternative.
My team built support for accessing App properties from Forge so long as the app key in the Connect section of your forge manifest matches the app that created them.
Hey @rmassaioli - on the page I linked, with the heading “Set app property (Forge)” the docs state:
Sets the value of a Forge app’s property. These values can be retrieved in Jira Expressions through the app
context variable. They are also available in entity property display conditions."
For other use cases, use the Storage API.
So it explicitly calls this out as being different to Forge Storage, and for the explicit purpose of controlling display conditions. It does say it’s an experimental API, so might be something new?
You can access the forge app properties using Jira Expressions
With forge this will not work from CustomUI directly and instead you need to build a resolver that calls this endpoint asApp and return the property (that is safe for the user to see).
My guess is that this was build this way to make it possible for the app developer to build their own privilege checks to access the properties