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 votes
Accepted answer

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

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.

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 Sign up to answer
Community showcase
Published yesterday in Agile

Are you a Jira Service Desk agent? We want to talk to you!

Are you a whiz at handling tickets and looking at how you can further optimize your workflow with automation? Do you tackle detailed customer support questions while simultaneously getting flooded wi...

31 views 0 2
Read article

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