how to force people log work before Resolve Issue?

my jira version is 4.4.1.

i tried to use workflows' Validators (Field Required for Time Spent),but failed.

even i have log work,"Workflow Error" still says Time Spent is required when Resolve

anyone can help?

4 answers

1 accepted

0 vote
Renjith Pillai Community Champion Jan 13, 2013

Use Script Runner plugin and add a validator to check whether the total spent time is more than zero.

This link may help with the code

Renjith Pillai Community Champion Jan 13, 2013

Sorry Fabby, it's very tough to understand what you really mean by that statement. If you don't mind can you please rephrase?

And why don't you check @mizan 's suggestion? I guess that is a better.


code in this link try to get Time Spent in History Tab,but when delete some work logs, "change history" can't reflect actual Time Spent value

sorry of my poor English.

i add below code to Script Validator of workflow using Script Runner Plugin

import com.atlassian.jira.issue.Issue

and it meets my requirement.

Renjith Pillai Community Champion Jan 13, 2013

Ok good, I initially thought it was a question for us.

Actually for anyone checking in this is better as it allows you to log work in the edit screen as opposed to fabbys solution which requires already logged work prior to triggering the transition:

import com.atlassian.jira.issue.Issue 
issue.getTimeSpent() || issue.getModifiedFields().get("worklog")

Thanks, this is perfect.

Hello, this is working fine, but it's not when the ticket has sub-tasks with logged time. Any idea?

I have been using "issue.getModifiedFields().get("worklog")" in a script validator for a workflow transition to determine if a user has added 'time worked' in the transition.  This has been working fine for several months.  I have recently upgraded to ScriptRunner v4.1.3.14 and the ScriptRunner editor now gives me the following error on this code "Cannot find matching method com.atlassian.jira.issue.Issue#getModifiedFields()."  I find "getModifiedFields()" in the MutableIssue class, see, and my understanding was that this came into the script in the binding for scripts in the workflow transitions.  Do I need to declare a new mutable issue from the issue passed in the script binding and then use "getModifiedFields()"?  I am wondering if anyone has a solution to this that works with the newer version of ScriptRunner?  Thank you for ant help.

I am having the same issue as Will. Anyone have any ideas on what an be done to fix it?

@Will and @Dayna,

We were with this same case and were able to resolve with following code:

import com.atlassian.jira.issue.Issue 
import com.atlassian.jira.issue.MutableIssue
def mIssue = issue as MutableIssue
return mIssue.getTimeSpent() || mIssue.getModifiedFields().get("worklog")

It worked for us against JIRA 7.1.9 :D

Check out

Suggest an answer

Log in or Join to answer
Community showcase
Maarten Cautreels
Posted Thursday in Off-topic

Friday Fun: What's your favourite beer/drink

As a Belgian, beer-lover and home brewer, beer is one of my great passions. I love the fact that with just a few ingredients (usually just water, hop and malt) you can create so many different tastes...

285 views 38 9
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot