Шаблон быстрого написания groovy скриптов для плагина ScriptRunner for JIRA. В шаблоне используюется обычный java-api в удобных для применения обертках. Вам остается только скопировать код и применить его в нужном порядке.
Дополнения и пожелания приветствуются.
Получение issue
ComponentAccessor.issueManager.getIssueObject(key)
В шаблоне представлено методом, который досточно скопировать вместе с импортом.
def getIssue(String key){
ComponentAccessor.issueManager.getIssueObject(key)
}
Вызов перехода у issue. В файлe transition.groovy содержится метод doTransition(issue, actionId, user). В него передается issue у которой хотите вызвать переход, id перехода, user - пользователь от имени которого совершается переход
def doTransition(issue, int actionId, user){
def issueService = ComponentAccessor.getIssueService()
def issueInputParameters = issueService.newIssueInputParameters();
def transitionValidationResult = issueService.validateTransition(user, issue.id, actionId, issueInputParameters);
if (transitionValidationResult.isValid()){
issueService.transition(user, transitionValidationResult);
return true
} else {
return false
}
}
Для выполнения запроса в базу данных досточно вызвать метод select("select * from ...") из файла sql.groovy
select("select ...")
def select(String query){
OfBizDelegator delegator = ComponentAccessor.getOfBizDelegator();
DelegatorInterface delegatorInterface = delegator.getDelegatorInterface();
String helperName = delegatorInterface.getGroupHelperName("default");
Connection connection = ConnectionFactory.getConnection(helperName);
Sql sql = new Sql(connection);
List<GroovyRowResult> resultRows = []
try{
resultRows.addAll(sql.rows(query));
} finally {
connection.close()
}
return resultRows
}