1 분마다 서비스로 실행되는 그루비 스크립트가 있습니다. 그루비 서비스가 제대로 실행됩니다. 우리가 날짜 - 시간 필드 named- 종료 시작 시간 티켓에 대한 및 종료 종료 시간에있는이 그루비 스크립트에서Groovy - 현재 시간에서 특정 시간이 경과했는지 계산합니다.
. 종료 시간이 인 경우 120 분 (2 시간) 후에 전자 메일을 트리거하려는 경우 현재 시간이 보다 작을 때까지 종료 일정 종료 시간 (미래 날짜)입니다.
아래는 현재 시간과 종료 시간 사이의 경과 된 시간을 가져 오는 Groovy 스크립트입니다. 그러나 경과 분이 120 분 배수인지 확인하는 방법을 알 수는 없습니다.
import java.util.Date
import groovy.time.*
import java.util.*
import java.util.concurrent.TimeUnit
import java.util.Calendar
CustomFieldManager customFieldManager = componentManager.getCustomFieldManager()
CustomField downTimeStart = customFieldManager.getCustomFieldObjectByName("Shutdown Start Time")
CustomField downTimeEnd = customFieldManager.getCustomFieldObjectByName("Shutdown End Time")
Date downTimeStartCFDate = (Date)issue.getCustomFieldValue(downTimeStart) //Get the Shutdown Start Time
Date downTimeEndCFDate = (Date)issue.getCustomFieldValue(downTimeEnd) //Get the Shutdown End Time
//Get elapsed time between the current time and the Shutdown Start Time
TimeDuration startDuration = TimeCategory.minus(new Date(), downTimeStartCFDate)
long downtimeStartElapsedMinutes =TimeUnit.MILLISECONDS.toMinutes(startDuration.toMilliseconds())
//Get elapsed time between the current time and the Shutdown End Time
TimeDuration endDuration = TimeCategory.minus(downTimeEndCFDate, downTimeStartCFDate)
long downtimeEndRemaniningMinutes = TimeUnit.MILLISECONDS.toMinutes(endDuration.toMilliseconds())
//This sample 'if' condition checks if 12 minutes are elapsed.
if(downtimeStartElapsedMinutes % 3 == 0 && downtimeStartElapsedMinutes % 4 == 0)
{
//Send an email
}
위의 그루비 스크립트는 매분마다 실행되는 서비스로 구현됩니다. 이 그루비 스크립트에서 현재 시간과 사이의 경과 시간을 확인해야합니다. 종료 시작 시간은 미래 120 분 (2 시간)입니다. 종료 시간 종료 날짜가 도착했습니다.
즉,의 말을하자 -
다운 타임 시작 - 2014년 10월 6일 23 : 00 : 00.0
중단 엔드 - 2014년 10월 7일 18 : 51 : 00.0
그런 다음 1 분마다 실행되는 그루비 서비스는 가동 중지 날짜부터 가동 중단 시간 종료 날짜까지 2 시간마다 전자 메일을 트리거해야합니다. -
다운 타임 시작 - 2014년 10월 6일 23 : 00 : 00.0
보낸1 이메일 - 2014년 10월 7일 01 : 00 : 00.0
보낸2 이메일 - 2014년 10월 7일 3시 : 00.0
보낸3 이메일 - 2014년 10월 7일 05 : 00 : 00.0
보낸4 이메일 - 2014년 10월 7일 07 : 00 : 00.0
5 이메일 전송 - 2014년 10월 7일 09 : 00 : 00.0
6t 시간 이메일 전송 - 2014년 10월 7일 11 : 00 : 00.0
7 이메일 전송 - 2014년 10월 7일 13 : 00 : 00.0
8 이메일 전송 - 2014년 10월 7일 15 : 00 : 00.0
보낸9 이메일 - 2014년 10월 7일 17 : 00 : 00.0
중단 엔드 - 2014년 10월 7일 18 : 51 : 00.0
그것은 매우 될 것입니다 도움이 사람이 할 수있는 경우에 내가 그루비 스크립팅에 익숙하지 않은만큼 이것에 대한 의견을 공유하십시오.
그래서 종료 시간까지 2 시간마다 이메일을 보내시겠습니까? – evanwong