I want to create a JIRA Forge app with multiple custom editable fields. The risk assessment example does this by storing the multiple values in an object with multiple fields. OK, but the manifest defines a single jira:customField of type “string”. Looking carefully, I realize that the customField manifest documentation doesn’t say whether you can have multiple custom fields. Nor is there any mention of how custom fields declared in the manifest relate (by name or key) to the value(s) set via the useProductContext hook.
So I’m wondering whether the technique used by the risk assessment example is a short-term hack or is the way to go for the future. And I suggest that there’s a need for more documentation on how to define Forge-based apps that have multiple custom fields.
Looking further at that risk assessment example, it appears there are two fields on the modal edit screen, but just one on the issue panel itself. And it looks like just one value is stored as a string in the custom field’s issue property.
So now my question becomes: can I have multiple custom fields using the UI kit? Or is this where the UI kit runs out of gas and I have to go with the Custom UI approach?
You can have multiple custom fields in one app, just like any other module in the manifest (notice that they are always put on a list, denoted with
- in YAML). The fields are independent of each other.
The risk assessment example app defines only one field. I think what you mean is that when you go into the edit mode, then you are shown two select boxes? This is done with the UI Kit to make the edit experience nicer for the user (and also to show off what the possibilities are), but in the end the rendering function must still convert those two inputs into a single value that will be stored in the field (in this case, one of three: low / medium / high).
I hope this helps. Let me know if you have any more questions and I’ll be happy to assist.