Reindex after transition by scriptrunner

Viktor Kuzmychov July 14, 2017

Hi everyone,

I got a problem similar to the one described here, with difference that there was described an update issue problem, and now it is a transition issue problem. 

So in general it looks like this:

I do auto transition in script post function by scriptrunner and mostly it is fine except some issues that are not being reindexed properly. So issue is actually in the right status, but before I update it in any other way it appears in the old status in search. 

Here is my code:

Integer actionId = actionI.intValue()

if (!issueInputParameters) {
issueInputParameters = ComponentAccessor.issueService.newIssueInputParameters();
}

IssueService.TransitionValidationResult transitionValidationResult = ComponentAccessor.issueService.validateTransition(applicationUser, issue.id, actionId, issueInputParameters)

log.debug logPref + "Transitioning issue: " + issue.id + " transitionValidationResult " + transitionValidationResult

if (transitionValidationResult.isValid()) {
IssueService.IssueResult transitionResult = ComponentAccessor.issueService.transition(applicationUser, transitionValidationResult)
if (transitionResult.isValid()) {
log.debug 'Issue transitioned. Action Id: ' + actionId
ReindexIssue(issue, logPref)
} else {
log.error 'Error executing transition with action Id ' + actionId
}
} else {
log.error logPref + "Validation error: " + transitionValidationResult.getErrorCollection()
List<String> errorList = new ArrayList();
errorList.addAll(transitionValidationResult.getErrorCollection().getErrorMessages());
for (int i = 0; errorList != null && i < errorList.size(); i++) {
log.error 'Error validating transition with action Id ' + actionId + ' :' + errorList.get(i);
}
}

static void ReindexIssue(Issue anIssue, String logPref) {
boolean wasIndexing = ImportUtils.isIndexIssues()
ImportUtils.setIndexIssues(true)
ComponentAccessor.getIssueIndexManager().reIndex(anIssue)
ImportUtils.setIndexIssues(wasIndexing);
}

Post Function is located right after storing to DB before reindexing. 

JIRA version is 6.4.7 and Scriptrunner is 3.1.3

Any help would be appreciated. 

2 answers

0 votes
Thanos Batagiannis _Adaptavist_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 20, 2017

Hi Viktor 

Did you try to move the post function in the beggining ?

regards, Thanos

Viktor Kuzmychov July 21, 2017

Hi Thanos,

Thanks for your reply!

This is acutally discussed here:

https://community.atlassian.com/t5/Atlassian-Marketplace-questions/Reindex-after-transition-by-scriptrunner/qaq-p/609816#M33792

And resolved also. 

Thanos Batagiannis _Adaptavist_
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 21, 2017

cool :)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events