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

Jira automation can't find "story points" field

Lawrence Lam September 2, 2020

I am using Jira Deverloper Cloud.  I have created a very simple Jira automation rule that creates a task whenever a sprint is create.  The new task have 2 fields populated by the automation.

a. sprint = next sprint

b. story points = 0.25

This automation rules last ran successfully on Aug.26, 2020.  Today when I created a new sprint the automation rule created the new task, but failed to find the story points field. (see diagram below "automation error").  What is strange is that the automation rule only offers "story points" as a field to populate (see diagram below "automation fields"), but the actual field in the task it populated successfully on Aug.26 was "story point estimates".   "Story points estimates" field is on the "task" issue type (see diagram "task fields').

Can someone tell me if I am doing some thing wrong or this is a bug in Jira?

```````````````````````````` automation error ````````````````````````

automation error.jpg

 

``````````` task fields ```````````````````````

task fields.jpg

 

`````````````````````  automation fields ```````````````````````

automation fields.jpg

2 answers

0 votes
Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 18, 2020

Hi @Lawrence Lam,

Sorry to hear about this problem.  I understand that this is a next-gen project and you are trying to setup an automation rule that creates a new issue and sets the Story point field.  Thank you so much for the detailed screenshots, it really makes it a lot easier to understand what you are trying to do and the results you get here. I took a closer look at this and I found that I experienced the same problem, even with a completely different trigger.

So I created a bug ticket for this over in JRACLOUD-75140.  I found that the error is trying to actually set a different Story Point custom field in Jira here, and not really the custom field that is specific to that next-gen project.  Next-gen projects manage custom fields a lot differently than classic projects do.  In next-gen projects, custom fields only have a context limited to that project.  However the field you are selecting here, and the field automation is trying to set is not really the custom field "Story Point Estimate" that exists in that project.

The good news is that I found a work-around for this. 

  1. First in the Choose fields to set, uncheck Story points (this is technically the wrong field)
  2. Then at the bottom of the page, scroll down to More options,
  3. In more options, manually set the field using json like so:
    {
        "fields": {
            "Story Point Estimate": 57
            }
    } 
  4. Save/publish run

This will set that field correct to a value of 57 when the automation rule is run.

 

Again, sorry for the inconvenience, I agree that the interface should not be showing that specific field in this case.  In the meantime, I hope that this work-around will help you to get past this problem in the short team.

Regards,

Andy

Henry Yei December 2, 2020

Also looking for a solution here to read the Story Point Estimate for a condition before setting it to a value (if not set, set to default story point)

Henry Yei December 2, 2020

I was using advanced compare and could not find a smart value for next-gen Story Points, but a JQL condition of Story point estimate = null worked fine. 

Michael Wolfgram January 6, 2021

Starting with Andy's suggestion, I tried to use JSON in a cloning automation I am creating to clone a story (including the estimate).  I want the story point estimate to be the trigger issue's story point estimate, but get the following error: "Error creating issueOperation value must be a number (customfield_10016)"

It all works fine if I hard-code a value where I have the italicized code below.  Does anyone see what I did wrong?  

{
"fields": {
"Story Point Estimate":"{{triggerIssue.Story point estimate}}"
}
}

Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 7, 2021

@Michael Wolfgram I think you might have an addition set of quotes that is not needed here.  Try instead:

{
"fields": {
"Story Point Estimate":{{triggerIssue.Story point estimate}}
}
}

I have seen extra quotes for some fields can short-circuit the way automation tries to set that field value in some cases.

Try that and let me know the results.

Andy

Michael Wolfgram January 7, 2021

Thanks for the quick turn-around Andy.  

When I removed the quotes, then I get the "Error while parsing additional fields. Not valid JSON" error.  I get the same result when I added a space before the triggerIssue variable, too.  More specifically:

{
"fields": {
"Story Point Estimate": {{triggerIssue.Story point estimate}}
}
}

gives the same JSON error result.

Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 8, 2021

I'm not sure why you might be seeing that error @Michael Wolfgram.  I tried to recreate your exact setup in my own environment.  Here is my current automation rule:

Screen Shot 2021-01-08 at 10.15.47 AM.png

(below is the second screenshot to show the complete rule details)

Screen Shot 2021-01-08 at 10.15.57 AM.png

In my example, I'm creating a new linked issue in the same next-gen project.  The trigger issue already has a value defined for Story Point estimate, and in my testing it worked just fine.

 

Given the error you are seeing, perhaps you are trying to copy the story point value that is not actually a numeric value.  I'm not exactly sure why that might happen yet, as story points should be a numeric value, but the error you first got would seem to indicates yours is not.  Tell me more about the trigger issue.  Is that issue in a different project?  It could be that if that triggering issue comes from a different next-gen project, or even a classic project that the "Story point estimate" field in use there is not the same kind of field your destination issue is using/expecting.

If that is the case, then you might try instead:

{
"fields": {
"Story Point Estimate": {{triggerIssue.Story point estimate.asNumber}}
}
}

Which, according to Smart values - text fields, should be able to convert any numeric value being stored as a string into an actual numeric value.  And if there is no numeric value in that field, it would return a null.

Try that and let me know.

Andy

Michael Wolfgram January 8, 2021

Thanks again, @Andy Heinzer .

The goal of my automation is to clone an epic and all its children into the same project (in next-gen Jira).  In mine, the error comes from a Clone Issue component.  The overall automation is here (adding in your suggested numeric conversion):

Clone-big picture.png

And the detail of that component is here:

Clone-detail.png

Sadly, I still get the same invalid JSON error.

Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 11, 2021

Thanks for this additional information.  I think I see the problem now.  Your automation rule has a manual trigger, and when this is run, it is setup to clone the epic first.  In turn the trigger issue is that source epic itself.  However I think from the way you have tried to set this up, you are expecting that each child issue in the source epic would act like an individual trigger issue here instead.  From reviewing https://support.atlassian.com/jira-software-cloud/docs/smart-values-general/ it explains that:

{{triggerIssue}}

Refers to the original issue that triggered the rule; used when you branch the chain. Used with the Related issues condition. All properties available to {{issue}} are also available on this smart value.

For each automation execution there is only a single trigger issue (the issue where the manual trigger is executed from).  Instead try this for cloning of the stories (child issues of the epic).

{
"fields": {
"Story Point Estimate": {{issue.Story point estimate}}
}
}

I tried to setup an automation rule to match yours here, and I used the 'issue' instead of 'triggerIssue' and this appears to work as expected.  It appears to be copying the value of the source issue here.  The way you had it previously, it would be trying to copy the story point value of the source epic to all issues, which is probably not what you want here.

Andy

Michael Wolfgram January 12, 2021

Thank you, again, @Andy Heinzer.  This is so close to working.  It does work perfectly if all the epic's child items have story points.  I still get the invalid JSON error for issues without story point estimates entered.  Adding ".asNumber" throws the invalid JSON error every time.  I have not been able to find a work-around for this.  It seems like there is a timing issue resolving a smart value (it blows up for being null before we can check if it is null)...  

Is there another work-around within the JSON that might work?  Or do I need to set up an "issue fields condition" component with near duplicate clone components (one that sets the story points when we have one, and one that doesn't set the story points when it is missing)?

Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
January 13, 2021

Ah, thanks for pointing that out.  When I tested this all the issues had story point estimates.  It does throw an automation result of "Some Errors" if any of the stories in that epic do not have story point estimates.  But, at least in my testing, those stories are still being cloned by automation, despite the fact that the automation rule claims there are some errors.

You could use the default value in a smart value to set all those null values to something like zero.  In which case you could just set the json to be:

{
"fields": {
"Story Point Estimate": {{issue.Story point estimate|0}}
}
}

The difference here is that the cloned issue has an estimate of 0 instead of null as it was on the source.  Other issues that had estimates will still copy those values to the cloned issues.

 

But if that's a problem, then I would instead suggest creating a condition check within the automation branch, and then setup two different actions to clone the stories, one which will set the story point if it has any value, and the other which would just clone the issue if it is null.

Andy

Michael Wolfgram January 14, 2021

Thanks, @Andy Heinzer.  I hadn't thought of defaulting.  That worked perfectly for me.  Thank you for your diligence!  

Like Andy Heinzer likes this
Mustafa Slatewalla May 26, 2021

@Andy Heinzer following on the update above, i need to update "Story Point Estimate" field with the sum of estimate values like, but this throws an error. is there a way i could do something to fix the error. the error thrown is given below

{
"fields": {
"Story Point Estimate" : [ {{issue.BE Estimate}} + {{issue.FE Estimate}} ]
}
}

 

Error L 

Edit issue

Error while parsing additional fields. Not valid JSON.

Andy Heinzer
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 27, 2021

@Mustafa Slatewalla In your case it looks like you're trying to perform a mathematical expression to calculate the estimate field value.  If that is the case, then please see Smart values - math expressions as it explains there is a different syntax to use here.

Try instead

{
"fields": {
"Story Point Estimate" : {{issue.BE Estimate.plus(issue.FE Estimate)}}
}
}

This should provide a sum of those two smart values.

0 votes
Henrique Degan September 2, 2020

Ola sujiro fazer um teste com outro campo criado, na mesma automação ou em uma automação manual, teste, ve se carimba o campo? 

Coloque aqui se deu certo. 

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
STANDARD
TAGS
AUG Leaders

Atlassian Community Events