How to handle pre-purchased blocks of time

We have customers who pre-pay for blocks of project time - say one day. The reason for this is that they get a slightly better rate for buying ad-hoc development time upfront for miscellaneous tweaks and updates to their sites.

At the moment we create a parent task in Jira to record this block (and label it as a "block") and record the block size in the estimate field.

Whenever there is a new task that needs working on we create a subtask and enter the estimate.

However because of this issue:




Any estimate we put in the subtask causes the estimates in the subtasks to roll up and add to the parent estimate.

If we leave estimates off of subtasks any work logged in a subtask doesn't affect the remaining time left in the parent task.

I thought about just logging these adhoc items of work against the block task, but the problem is that we need to have individual tasks for each item of work (so that we can generate a proper task id, which is logged in source control commits, and keep each task separate).

Basically I need the parent task remaining time to decrease whenever work is done on in a subtask.

Is there a way to do this in Jira? I'd even consider a commercial plugin that supported this type of time tracking.

2 answers

1 accepted

0 votes
Accepted answer

I solved this myself by cobbling together a bunch of things:

1. Created a new issue type called Block Task

2. Created a new screen and screen scheme for this issue type where I removed canned time tracking fields and added two new custom fields called Block Time Booked and Block Time Remaining. The two custom fields are Interval fields from the Kepler Custom Fields plugin.

Users create normal subtasks under this block task and log work against them (not the parent Block Task).

3. Installed Jamie Echlin's Script runner plugin

4. Wrote a customer listener in Groovy to watch for certain types of updates involving subtasks who's parent task issue type is a Block Task. Each time work is logged in a subtask, or when a sub task is deleted etc I calculate the total time logged for all of a Block Task's subtasks. I then calculate the time remaining and post this in the Block Time Remaining custom field.

5. Created a couple of custom issue reports so that we can track these block tasks.

Job done.


We have a similar setup, and have the exact same problem.

would you mind sharing the script you have written? I promise I won't bother you with questions about how to get it working.

kind regards


Suggest an answer

Log in or Sign up to answer
Community showcase
Published Nov 29, 2018 in Jira

How to set up an incident workflow from the VP of Engineering at Sentry

Hey Atlassian community, I help lead engineering at Sentry, an open-source error-tracking and monitoring tool that integrates with Jira. We started using Jira Software Cloud internally last year, a...

1,088 views 0 8
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