Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Scriptrunner - reindex an issue

Stefan Caloian May 23, 2018

I have a report, where issues are displayed in a column. These issues have checkboxes next to them. When the checkboxes are selected and a transition is clicked, then the selected issues are supposed to transition. When the transition is clicked, a jql is performed, and all issues with checkboxes are searched. However, I think since it is not being re-indexed, the issues cannot be found. How do I re-index the issues so they can be found?

1 answer

4 votes
Gaston Valente
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.
May 23, 2018

Stefan,

Here's a groovy snippet to reindex an issue.

However, issue indexing is automatic after an update, check if you're doing the actions in the right order

Let me know if i can help you with anything else

 import com.atlassian.jira.event.issue.AbstractIssueEventListener;
import com.atlassian.jira.event.issue.IssueEvent;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.util.ImportUtils;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.index.IssueIndexingService;

MutableIssue mutableIssue = ComponentAccessor.getIssueManager().getIssueObject(issue.getKey());
boolean isIndex = ImportUtils.isIndexIssues();
ImportUtils.setIndexIssues(true);
IssueIndexingService IssueIndexingService = (IssueIndexingService) ComponentAccessor.getComponent(IssueIndexingService.class);
IssueIndexingService.reIndex(mutableIssue);

ImportUtils.setIndexIssues(isIndex);
Stefan Caloian May 23, 2018

Would I place this in the script for the post function?

Gaston Valente
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.
May 24, 2018

Stefan,

You can place it in a post function or in a listener.

Usually the last post function performs a reindex

nallu November 1, 2018

Hi @Gaston Valente,

I have created a Script listener by referring your code. But It doesn't work. Can you please look into my code and tell me what i am doing wrong. 

 

import com.atlassian.jira.event.issue.AbstractIssueEventListener;
import com.atlassian.jira.event.issue.IssueEvent;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.util.ImportUtils;
import com.atlassian.jira.issue.Issue;
//import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.issue.index.IssueIndexingService;

import com.atlassian.jira.issue.search.SearchProvider;
import com.atlassian.jira.jql.parser.JqlQueryParser;
import com.atlassian.jira.web.bean.PagerFilter;

Issue issue = event.issue

//Get issue key
def currKey = issue.getKey();

//Query for all features where linked epic = current key
def jqlQueryParser = ComponentAccessor.getComponent(JqlQueryParser);
def searchProvider = ComponentAccessor.getComponent(SearchProvider);
def issueManager = ComponentAccessor.getIssueManager();
def user = ComponentAccessor.getJiraAuthenticationContext().getUser();

def queryString = 'issuetype = Feature AND "Linked Epics" = ' + currKey;
def query = jqlQueryParser.parseQuery(queryString);
def results = searchProvider.search(query, user, PagerFilter.getUnlimitedFilter());


if (results)
{
results.getIssues().each {documentIssue ->
boolean isIndex = ImportUtils.isIndexIssues();
ImportUtils.setIndexIssues(true);
IssueIndexingService IssueIndexingService = (IssueIndexingService) ComponentAccessor.getComponent(IssueIndexingService.class);
IssueIndexingService.reIndex(documentIssue);

ImportUtils.setIndexIssues(isIndex);
}
}
Like Willy Wijaya likes this
nallu November 7, 2018

Never mind. I fixed it. thanks!

Elsa Bautista
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
March 6, 2019

Nallu, how do you solved it?

Sylvain Leduc
Contributor
May 28, 2021

Hello @nallu 

I'm also interested :-)

What was missing ?

Willy Wijaya
Contributor
December 6, 2022

Hi @nallu  and @Gaston Valente ,

Thanks a lot for the references. 

Best Regards,
Willy Wijaya

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, mindful member, mindful member badge, atlassian community, community kudos, community giveaway, atlassian swag, community values, empathy and kindness, badge challenge, atlassian learning, community engagement, swag giveaway

Earn a Badge, Win a Prize 🎁

Earning the Mindful Member badge proves you know how to lead with kindness, plus it enters you into a giveaway for exclusive Atlassian swag. Take the quiz, grab the badge, and comment on our announcement article to spread the good vibes!

Start here
AUG Leaders

Atlassian Community Events