My update for due time adds it to all issue types except for Story

Tyler Brown-Jones December 14, 2018

Hi

I am using ScriptRunner script listeners.

My code below updates all due dates to the end of the current active sprint - this updates all issue types except from Story - I hope someone is able to help.

In addition, there are no "failed executions" in my logs, they are all successful. 

 

import com.atlassian.greenhopper.service.rapid.view.RapidViewService
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.CustomFieldManager;
import java.util.logging.Logger
import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Category
import com.atlassian.greenhopper.service.sprint.SprintIssueService
import com.atlassian.greenhopper.service.sprint.SprintManager
import com.atlassian.greenhopper.service.sprint.SprintService
import java.util.Date
import java.time.*;
import java.sql.Timestamp

def Category log = Category.getInstance("com.onresolve.jira.groovy")
log.setLevel(org.apache.log4j.Level.DEBUG)
log.debug("start of code")
def sprintField = ComponentAccessor.getCustomFieldManager().getCustomFieldObject(10006)
def sprintFieldValue = issue.getCustomFieldValue(sprintField)
def estField = issue.getTimeSpent()
log.debug(sprintFieldValue)


Issue issue = event.issue

if(sprintFieldValue != null){
for(i in sprintFieldValue.size){

ii = i-1
isprint = sprintFieldValue.get(ii)
istate = isprint.state.toString()
iendDate = isprint.endDate.toString()
def dateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME;
def parsedDate = ZonedDateTime.parse(iendDate,dateTimeFormatter)
def epoch_milis = parsedDate.toInstant().toEpochMilli()
Timestamp timestamp = new java.sql.Timestamp(epoch_milis);

if(istate == 'ACTIVE' ){

if(iendDate != null){
issue.setDueDate(timestamp)
}
}
}
}

1 answer

0 votes
Tyler Brown-Jones December 17, 2018

Bump

Suggest an answer

Log in or Sign up to answer