How to specify the range in a Date Range Picker? Edited

Dears,

for request we need to add a "due date". (by when they want something to be done)

Depending on the request we can already say that the earliest can be today + X days.

How can this be done?

 

Kind regards,

 

Matt

1 answer

1 accepted

0 vote
Jack Brickey Community Champion Sep 20, 2017

@Matthew Van Kuyk, let me restate what I think you are asking for to be sure I am following. In the end I think you will need something like Scriptrunner or maybe Automation for JIRA to make this work.

You want to create a custom 'due date' field and you want to automatically set the default to "today + x days" based upon Issue Type.

example:

Task = today +5d

Bug = today +2d

Hi Jack,

 

Thanks you doe your reply. It is not the field itself that should be x + 5days. It should be the date picker which should make all days available from x+5days on. Additionaly a script should be ran to check if the value entered is indeed in the correct range (that I can do with script runner).

Kind regards,

Matt

Jack Brickey Community Champion Sep 25, 2017

Ok so you want to restrict the first date of a date picker?

So if i create an issue on 9/1/2017 the first date I can pick for this field should be 9/6/2017?

If so, I’m unsure how to accomplish. I’m unsure if there is an addon that could do this. It might mean changing the code, creating a specialize date picker. Hopefully someone w/ more knowledge could chime in here. @Nic Brough, any thoughts on this one?

I don't think even Behaviours (part of Scriptrunner) can get into the display at that depth.  You could default the value and do the validation on create/transition with Behaviours and Scripts, but limiting the calender would require dedicated code I think.

Jack Brickey Community Champion Sep 25, 2017

Thanks for chiming in Nic. this was what I was expecting but unsure.

Nic, Jack,

thank you for your valuable input. As a workaround I have created a validation script which will check if the selected date is in the correct range.

import com.opensymphony.workflow.InvalidInputException;
import com.atlassian.jira.component.ComponentAccessor;

try{
    //set the value of the customer request type of Request Internal Move
    def requestInternalMove= "sd/d28a8b4a-343c-453c-9e87-68a1f7b2710d"
    
    def issueManager = ComponentAccessor.getIssueManager()
    def customFieldManager = ComponentAccessor.getCustomFieldManager()
    def cf = customFieldManager.getCustomFieldObjectByName("Customer Request Type")
    def cFieldValue = issue.getCustomFieldValue(cf)
    log.error "Customer Request Type: " + cFieldValue;

    if(cFieldValue.toString().equals(requestInternalMove)){
        //Set de amount of dates needed
        int noOfDays = 14; //i.e two weeks
        Calendar calendar = Calendar.getInstance();          
        calendar.add(Calendar.DAY_OF_YEAR, noOfDays);
        Date date = calendar.getTime();

        //Check if the due date is later than the 2 weeks
            if (issue.dueDate?.before(date)) {
                invalidInputException = new InvalidInputException("2 weeks are required to provide this service, please provide a date after " + date)
            }
    }
}catch(Exception ex){
    invalidInputException = new InvalidInputException("An error ocured please contact the helpdesk")
    log.error ex.getMessage()
 
}

Kind regards,

Matt

Matt:  where did you put that script?  I'ma  bit new to this and need something similar

 

Thanks

Suggest an answer

Log in or Sign up to answer
How to earn badges on the Atlassian Community

How to earn badges on the Atlassian Community

Badges are a great way to show off community activity, whether you’re a newbie or a Champion.

Learn more
Community showcase
Published May 21, 2018 in Jira Software

How large do you think Jira Software can grow?

Hi Atlassian Community! My name is Shana, and I’m on the Jira Software team. One of the many reasons this Community exists is to connect you to others on similar product journeys or with comparabl...

1,241 views 10 18
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