How to get 5 working days from today jira scriptrunner

Hi All, 

 

Im attempting to get 5 working days from issue.getCreated() but im having alot of issues, please see code below: 

 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.event.type.EventDispatchOption
import com.atlassian.jira.issue.UpdateIssueRequest
import com.atlassian.jira.issue.MutableIssue 
MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject('COM-2479')
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager()
	Date createdDate = issue.getCreated()
   	Date date = new Date();
    Calendar calendar = Calendar.getInstance();
    date = calendar.getTime(); 
   
	//SimpleDateFormat s;
    //s=new SimpleDateFormat("MM/dd/yy");
    int days = 5;
	int i=0;
    for(date;date<createdDate;)
    {
        calendar.add(Calendar.DAY_OF_MONTH, 0);
        if(calendar.get(Calendar.DAY_OF_WEEK)<=5)
        {
            i++;
        }
    }
    //date=calendar.getTime(); 
    //s=new SimpleDateFormat("MMM dd, yyyy");

return createdDate+i

1 answer

Here is code:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue

MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject('COM-2479')

Calendar calendar = Calendar.getInstance();
calendar.setTime( new Date( issue.getCreated()))
int days = 5;
while (days > 0){
    calendar.add(Calendar.DAY_OF_YEAR, 1);
    if(calendar.get(Calendar.DAY_OF_WEEK) <= 5)
        --days;
}

return calendar.toString();

Thank you so much Vasiliy, ive been tearing my hair out trying to get this to work, it should be so simple lol

i ran the script and threw me some errors: 

image2017-3-10 16:40:6.png

Im using JIRA 6.3.3

 

Many thanks

This is the reason why I do not like groovy - it does not test on compile time. Here is updated code

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue

MutableIssue issue = ComponentAccessor.getIssueManager().getIssueObject('COM-2479')

Calendar calendar = Calendar.getInstance();
calendar.setTime( new Date( issue.getCreated().getTime()))
int days = 5;
while (days > 0){
    calendar.add(Calendar.DAY_OF_YEAR, 1);
    if(calendar.get(Calendar.DAY_OF_WEEK) <= 5)
        --days;
}

return calendar.toString();

Ahhh, got it, thank you so much! all is working!! 

 

thank you for all your help. 

 

 

Suggest an answer

Log in or Join to answer
Community showcase
Emilee Spencer
Published yesterday in Marketplace Apps

Marketplace Spotlight: DeepAffects

Hello Atlassian Community! My name is Emilee, and I’m a Product Marketing Manager for the Marketplace team. Starting with this post, I'm kicking off a monthly series of Spotlights to highlight Ma...

38 views 0 3
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
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