Custom field object type and Jira Automation

Hello,

I am trying to use Custom field object types with Jira Automation and smart values.

For example, I would like a “Create Issue” action, which copies the value of such a field.

I tried with the usual way with the following “Additional fields” options:

{
    "fields": {
        "customfield_10123": {{issue.customfield_10123}}
    },
}

It seems that I could somehow get it working with asJsonStringArray and asJsonObject for very simple values, but for deep Json value objects with multiple levels and arrays it does not work.

Are custom field object types supported as smart values by Jira automation?

Thanks!
Nico

1 Like

Hi @NicoFrossard,

Could you share an example of an object that is too deep to be accessed or manipulated that way? My goal is to investigate on my own test apps and see what I can find about this issue.

Hi @heinzen
I am having the same issue with field provided by https://marketplace.atlassian.com/apps/1213605/tracking-estimation-for-jira?tab=overview&hosting=server plugin. It has a custom field of type with schema as below,

customfield_11500":{"required":false,"schema":{"type":"any","custom":"com.adweb.estimations.estimationUpdate:timeTrackingByRole","customId":11500},"name":"Time Tracking (By Roles)","fieldId":"customfield_11500","operations":["set"]}

Below is the output in Rest API

{"key":"AO-111","summary":"test 6","estimates":[{"role":"Testing","id":"10603","originalEstimate":"6h","originalEstimateSeconds":21600,"remainingEstimate":"6h","remainingEstimateSeconds":21600},{"role":"Developer","id":"10604","originalEstimate":"5h","originalEstimateSeconds":18000,"remainingEstimate":"5h","remainingEstimateSeconds":18000}]}

We want to copy this field data from one issue to other issue in another project using Jira automation - additional fields. I am not sure how to copy this. have tried many options. its seems to be an array of object, but I couldn’t figure out the syntax for it.
Below is the link provided by Jira for advance editing,

https://confluence.atlassian.com/automation070/advanced-field-editing-1014664449.html

Thanks

Hi @heinzen!

The (simplified) format of my field is as follows:

{
  "customfield_10123": {
    "values": [
      ["a"],
      ["b", "c"]
    ],
    "otherValues": ["d", "e"]
  }
}

I hoped to be able to use "customfield_10123": {{issue.customfield_10123}} as additional fields, but it doesn’t work.

If my format was simpler, e.g. "customfield_10123": {"values": "someValue", "otherValues": "otherValues"}, I could probably get it working with:

{
  "fields": {
    "customfield_10123": {
      "values": {{issue.customfield_10123.values}},
      "otherValues": {{issue.customfield_10123.otherValues}}
    }
  }
}

Even though, even in this case, it would not be very convenient, as it would break if the value form ever changes.

@NicoFrossard Hi ! Sorry for keeping you waiting for so long.

What you assumend is accutualy correct. Inside application there is no problem with using howerver complex data possible but when it comes to using object data in general it is limited to manifest.yaml.

You can encode arbitrary JSON and decode it inside your app.

Any updates here? I also have a Forge Custom Field of type Object. When I use the native issue Clone, the values for the custom field are cloned, but when using the Automation for Jira (A4J) clone function, it does not. The field is not a valid option in the Clone or Edit A4J functions and when trying to use the “Additional fields” option, I can’t seem to get acceptable syntax referencing the {{issue.customfield_#####}} smart value. I suspect the issue comes from needing to escape the contents, but have not had any luck. Any suggestions are greatly appreciated.