Deprecation Notice: Removing access to Forms data using Jira entity properties API
To access forms properties after the deprecation, it will be necessary to use the new feature for Forms smart-values:
Alternatively, you can access these properties via the Jira Forms REST API.
The ability to access Forms data using the Jira entity properties API has been deprecated. This feature will be removed in future versions.
Work has already started on the new Forms API functionality and we now have some experimental APIs available for use. So now Marketplace Partners can already integrate forms into their products.
For more information, please refer to the features below:
As an extra option of workaround to the feature request "Forms Automation: Access form fields with smart values (smartvalues)", this article is meant to help users who want to access the form field and update them with other values automatically, as well as manage with more than one form in a ticket. This can be achieved using the new experimental feature of Forms API to save form answers to different forms.
Workaround steps:
Create an Automation rule:
- First, it will be needed to create an API token for the Web Request process. The Web Request needs your credentials and an API token encoded with base64. For more information about this procedure, please refer to the documentation below:
-
- Automation for Jira - Send web request using Jira REST API
- We need to use the new API functionality of "Get form index" in a Get web request to get all forms on the issue. For example:
-
Getting all forms on an issue:
- The web method will be a Get:
Get /jira/forms/cloud/{cloudId}/issue//issue/{issueIdOrKey}/form
- The cloudId will be your Cloud ID and not your Org ID. The easy way to get the cloud id is to go to https://<instance>.atlassian.net/admin/jira-service-desk/portal-only-customers. You will get the Cloud id in the URL (e.g.: https://admin.atlassian.com/s/<cloud_id>/jira-service-desk/portal-only-customers)
- The issue ID or issue Key that you are using. To add the issueId or issueKey dynamically, you can use the smart value {{issue.id}} or {{issue.key}}
- Using the log action with the smart value below to get the web response body and the reference IDs of which form:
{{webResponse.body}} - get the body
{{webResponse.body.id}} - get the ids
{{webResponse.body.id.get(0)}} - get the first id
{{webResponse.body.id.get(1)}} - get the second id
{{webResponse.body.id.get(2)}} - get the third id

- We need to use the new API functionality of "Get form" in a Get web request to get a single form on the issue and after use the "Save form answers" in a Put web request to populate the form fields. For example:
- Using Advanced branching to manipulate which form you want to manage:
- For the first form I used the Variable name "firstForm":

- Use the "Get form" web request to get the first form:
Get /jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}
- The formId will be in the id of the form and not the formTemplate id (for more information about it, please check this article). And, in order to dynamically get the first form it will be necessary to use the smart value {{webResponse.body.id.get(0)}} instead of the {formId}:
Get /jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{{webResponse.body.id.get(0)}}
- Use the "Save form answers" web request to update a form field:
Put /jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{formId}
- To get the first form it will be necessary to use the smart value {{webResponse.body.id}} instead of {formId}:
Put /jira/forms/cloud/{cloudId}/issue/{issueIdOrKey}/form/{{webResponse.body.id}}
Note: The Form fields do not support those Jira field operations such as add , <strong>remove</strong> and <strong>set</strong> .
Therefore, to the custom data body, it will be necessary to just simply set the field value. For example, if it’s a text field, use text; if it’s a richtext paragraph, use adf; if it’s a dropdown, use choices. In this example, I used a text field and a dropdown field:

{
"answers": {
"1": {
"text": "field update by automation/API 1"
},
"2": {
"choices": ["2"]
}
}
}
For more information about how access the form structure to get a field ID, please refer to the article "Reading a Forms(ProForma) field value without the JSON tab"
- This process will be the same for the second and third forms (or for as many other forms you have):
- Second form:

- Third form:

Note: To call experimental methods the "X-ExperimentalApi" and "opt-in" header must be provided on the web request headers.
This workaround will work as shown in the screen recording below:
https://www.youtube.com/watch?v=FiozlzNvSkg