Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Extract questions and answers from a form in automation

Anthony Roldan July 13, 2023

Hello,

I built a form and now want to extract the questions and answers into the description field in automation. Why not just open the form? It's because the form is very long, and we want to create sub-tasks that rely on certain questions and answers to be completed. So that entails cutting out any irrelevant information so that the task can be completed without searching the entire form.

Any way to dynamically show these questions and answers, or is my only option to manually type out these questions and use their respective custom fields?

 

Thanks in advance!

 

1 answer

1 vote
Darryl Lee
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 13, 2023

Apparently forms data is stored in issue properties, so the data should be accessible that way. Here's a good Q&A about the topic:

As @Simon Herd recommended, you probably definitely want to install Entity Property Tool for Jira (temporarily, because I believe it still has the bug where the "Personally enabled" config tool still does not work, and once you enable it, everyone can see it, which can be... confusing and possibly dangerous.)

Anthony Roldan July 14, 2023

So this mainly works for getting the answers/custom fields from a form, but unfortunately the questions to those answers are something that isn't stored in

<yourinstanceurl>/rest/api/2/issue/<yourkey>/properties?expand=names

 

It would be nice to have the questions from a form be as dynamic as the custom fields, but unfortunately after looking through many old forum posts it doesn't look like there's any real solution other than typing out my form questions one by one. 

Darryl Lee
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 18, 2023

I found the questions. They can be found in an undocumented endpoint:

https://YOURSITE.atlassian.net/gateway/api/proforma/cloudid/YOURCLOUDID/api/3/issue/{{issue.id}}/form/FORMNUMBER

So, YOURSITE you know. You can find YOURCLOUDID by looking at the URL for your Atlassian Admin interface: https://admin.atlassian.com/o/YOURCLOUDID/overview

Weirdly my cloudid for proforma matches the ID for Statuspage or Atlas as shown in my Overview, so you might need to try that.

https://manage.statuspage.io/cloud/MYCLOUDID
https://team.atlassian.com?cloudId=MYCLOUDID

OH! and {{issue.id}} != issue key, but rather a numerical value for your Jira issue (sequential?) Thankfully there's an undocumented Smart Value you can use {{issue.id}}

FORMNUMBER can be found when you are editing a form, in the URL:

https://YOURSITE.atlassian.net/jira/software/c/projects/YOURPROJECT/settings/forms/form/FORMNUMBER/edit

But anyways, this endpoint ends up giving us a JSON file which includes a questions section! Unfortunately this call is very slow - it took about 5 seconds when I called it from Automation.

Anyways though, that endpoint includes this section:

"questions": {
"1": {
"type": "ts",
"label": "Name",
"validation": {}
},
"2": {
"type": "ts",
"label": "Phone",
"validation": {}
},
"3": {
"type": "ts",
"label": "Department",
"validation": {}
...
}

Which is... weird. It's not an array, but each question is individually numbered, so if you want to get the question's labels you have to do:

{{webResponse.body.design.questions.1.label}}
{{webResponse.body.design.questions.2.label}}

I can't think of an elegant way to loop through all the questions. These all failed:

{{webResponse.body.design.questions.label}}
{{#webResponse.body.design.questions}}{{label}}{{/}}
{{#webResponse.body.design.questions}}{{.}}{{label}}{{/}}

ANYWAYS, the comments in JSCLOUD-10671 include some other endpoints and lots of grousing about how this really needs to not suck so much (AGREED).

Export form data as XLS:

https://${JIRA_CLOUD_SUBDOMAIN}.atlassian.net/gateway/api/proforma/cloudid/${CLOUD_ID}/api/1/issues/${ISSUE_ID}/forms/1/spreadsheet

Add a form to a ticket:

https://<site>.atlassian.net/gateway/api/proforma/cloudid/<cloudid>/api/2/issues/{{issue.id.urlEncode}}/forms

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events