I have a form that executes a JQL search and stores the result in a field. I want to convert the JSON returned into a table containing the the JIRA Issues that were returned.
Setup:
Form name: "search"
Field Definitions:
Using Confiforms IFTTT Integration Rules to execute the JQL Search:
Activity:
Confiforms IFTTT, Create/Update Field: entryId=[entry.id]&result=${iftttResult_myjqlsearchresult}
Confiforms IFTTT, Create/Update Field:
Entry parameters: entryId=[entry.id]&status=[entry. result. asJSON. issues. fields.status.name]&total=[entry.result. asJSON.t otal]&NewKeyList=[entry.result. asJSON. issues. key]&Summaries=[entry.result. asJSON.issues. fields. summary
Partial value of field "result"
result {"expand":"schema,names","startAt":0,"maxResults":1000,"total":309,"issues": [{"expand":"operations,versionedRepresentations,editmeta,changelog,renderedFields","id":"1911348","self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/issue/1911348","key":"CSSJMCAPS-16013","fields":{"summary":"CAP: 964252 - Decommission McAfee MNE v5.0 Agt. ISRP Due 2025-03-31","status":{"self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/status/10000","description":"To Do","iconUrl":"https://cti- jira.nam.nsroot.net/jira/images/icons/statuses/open.png","name":"To Do","id":"10000","statusCategory": {"self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/statuscategory/2","id":2,"key":"new","colorName":"default","name":"To Do"}l}), {"expand":"operations,versionedRepresentations,editmeta,changelog,renderedFields","id":"1911274","self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/issue/1911274","key":"CSSJMCAPS-16012","fields":{"summary":"CAP: 964228 - Perimeter Security Tooling Development Services is using end of v Due 2024-12-13","status":{"self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/status/10000","description":"To Do","iconUrl":"https://cti- jira.nam.nsroot.net/jira/images/icons/statuses/open.png","name":"To Do","id":"10000","statusCategory": {"self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/statuscategory/2","id":2,"key":"new","colorName":"default","name":"To Do"}lI), ("expand":"operations,versionedRepresentations,editmeta,changelog,renderedFields","id":"1906362","self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/issue/1906362","key":"CSSJMCAPS-15992","fields":{"summary":"CAP: 964057 - Remediate one (1) Medium finding from Statement of Work (SOW) 313 Due 2025-09-05","status":{"self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/status/10000", "description":"To Do","iconUrl":"https://cti- jira.nam.nsroot.net/jira/images/icons/statuses/open.png","name":"To Do","id":"10000", "statusCategory": {"self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/statuscategory/2","id":2,"key":"new","colorName":"default","name":"To Do"}l}), {"expand":"operations,versionedRepresentations,editmeta,changelog,renderedFields","id":"1906527","self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/issue/1906527","key":"CSSJMCAPS-15991","fields":{"summary":"CAP: 964050 - Based on the planning outcome Citi Transfer Repository is not a Due 2025-07-11","status":{"self":"https://cti- jira.nam.nsroot.net/jira/rest/api/2/status/10000", "description":"To Do","iconUrl":"https://cti- jira.nam.nsroot.net/jira/images/icons/statuses/open.png","name":"To Do","id":"10000","statusCategory": {"self":"https://cti-
What is happening:
I have unsuccessfully tried several methods and settle on using Confiforms PlainView.
I started with hardcoded values for the fields:
ConfiForms PlainView | formName = search | renderAs = Table
<tr>
<td>[entry.result.asJSON. issues [0].key]</td>
<td>[entry.result.asJSON. issues [0].fields.status.name]</td>
<td>[entry.result. as JSON. issues [0]. fields.summary]</td>
</tr>
<tr>
<td>[entry.result.asJSON. issues [1].key]</td>
<td>[entry.result.asJSON. issues [1].fields.status.name]</td>
<td>[entry.result. as JSON. issues [1]. fields.summary]</td>
</tr>
Which results in the following:
I then changed the PlainView to:
ConfiForms PlainView | formName = search | evaluate = true | renderAs = Table
#set( $count = "[entry.total]" )
#foreach( $ctr in [1 .. $count] )
<tr>
<td>[entry.result.asJSON. issues [$ctr].key]</td>
<td>[entry.result.asJSON. issues [$ctr].fields.status.name]</td>
<td>[entry.result. as JSON. issues [$ctr]. fields.summary]</td>
</tr>
#end
Which produces no output. From what I can find, it appears that the variable $count is a string so the #foreach loop does not recognize the a sting so falls thru.
I tried removing the quotes from [entry.total] and get the following error:
Could not process this PlainView as a Velocity template: Error occurred rendering template content Encountered "entry" at getRenderedContent[line 1, column 17] Was expecting one of: "[" ... "]" ... "{" ... ... ... "true" ... "false" ... ... ... ... "(" ...
Any suggestions? Thank you
Hi @JiraAdmin
This thing is a text, not numeric
#set( $count = "[entry.total]" )
And therefore cannot be used in the Velocity as a numeric variable
See this discussion for the reference
So, the "loop" needs to be something as below
#set($Integer = 0)
#foreach ($ctr in [1..$Integer.parseInt($count)])
Alex
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.