Copy two cascading field values from Parent to Sub-task
Asked by Sarath:

Hello I have two cascading fields, where I want to copy the value from parent to sub-task. I'm using advanced edit option to update using JSON function. I have used following lines,

```
{
 "update": {
   "customfield_1234": [
     {
       "set": {
         "value": "{{triggerIssue.fields.customfield_1234.value}}",
         "child": {
           "value": "{{triggerIssue.fields.customfield_1234.child.value}}"
         }
       }
     }
   ]
 "update": {
   "customfield_5678": [
     {
       "set": {
         "value": "{{triggerIssue.fields.customfield_5678.value}}",
         "child": {
           "value": "{{triggerIssue.fields.customfield_5678.child.value}}"
         }
       }
     }
]
} ?
```

but I was getting error, "json" cannot be parsed.   

Any appreciate will be helpful. Thanks.  


Answers:
author: Bill Sheboy
body: Hi [@Sarath](/t5/user/viewprofilepage/user-id/212690)

In your sample JSON, the curly brackets are not all matched:

* there is a missing close } for the first update
* there is a missing close } for the overall expression

Please add those and see what happens. Thanks!

Best regards,

Bill

comments: author: Sarath
body: Thank you [@Bill Sheboy](/t5/user/viewprofilepage/user-id/1685313), identified that "}" are not updated correctly and using only 1 update field worked as well.


author: Darryl Lee
body: JSON validators like <https://jsonlint.com/> or a JSON-aware text editor like Vim have proven invaluable to me for checking my JSON.


author: Sarath
body: Thanks for the recommendation [@Darryl Lee](/t5/user/viewprofilepage/user-id/1365322) I'll check them out.


author: Gareth Cantrell
body: Hi [@Sarath](/t5/user/viewprofilepage/user-id/212690) , this is because you have duplicated the "update" field in the JSON. Each custom field should be a separate key inside the "update" field as in the below example:

```
{
 "update": {
   "customfield_1234": [ ... ],
   "customfield_5678": [ ... ]
  }
}
```

comments: author: Sarath
body: [@Gareth Cantrell](/t5/user/viewprofilepage/user-id/3178836) - thank you Gareth. Using only one update function worked along with correcting number of curly brackets.


author: Darryl Lee
body: I was curious what would happen if you do have two updates in the same JSON (properly formatted). Turns out that Automation Rules does complain that the JSON is invalid, **but** it only acts on the second one, presumably because it reads/loads the JSON in order and the first update gets overwritten before executing.

So with this block, only the Description got updated:

```
{
  "update":{
    "summary":[
      {
        "set":"This is a new Summary to replace."
      }
    ]
  },
  "update":{
    "description":[
      {
        "set":"This is a new Description to replace."
      }
    ]
  }
}
```

(I know my indenting is not-good. I blame the Community text editor stripping the spaces. :-/)


author: Gareth Cantrell
body: [@Darryl Lee](/t5/user/viewprofilepage/user-id/1365322) a JSON object is represented as a hash table internally, so while it is not an error to have the same key appear multiple times, the properties of a hash table mean that the value of the earlier key will be overwritten if the same key is encountered later during the parsing of the JSON.


author: Raul Pelaez _TecnoFor - Marketplace Partner_
body: An example with Automation Cloud to copy two cascade fields from parent to sub-tasks

{  
"fields": {  
"customfield_10071": {"value":"{{triggerIssue.parent.customfield_10071.value}}", "child":{"value": "{{triggerIssue.parent.customfield_10071.child.value}}"}},  
"customfield_10069": {"value":"{{triggerIssue.parent.customfield_10069.value}}", "child":{"value": "{{triggerIssue.parent.customfield_10069.child.value}}"}}  
}  
}

comments: author: Jonathan
body: I tried this (DataCenter), but I'm getting an error:

(operation must be string (customfield_12420))