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

This widget could not be displayed.
Vasiliy Zverev Community Champion Mar 09, 2017

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

Vasiliy Zverev Community Champion Mar 09, 2017

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 Sign up to answer
Community showcase
Asked yesterday in Data Center

Hi! I'm Cameron Deatsch, enterprise enthusiast and Head of Server at Atlassian. AMA!

Hey team! I'm Cameron Deatsch, Head of Server at Atlassian. At our European Summit just a few weeks ago, I spoke about the latest regarding our Server and Data center products and o...

13,213 views 2 4
View question

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