Issues in backlog doesn't update - reindexing needed

I have a strange problem where I update the Business Value in an issue, then go to the Agile board view and the value is still the old value. Note that I have selected Business Value as the Estimate so I can see that value in the roundish grey areas on each backlog item.

If i go back to the issue again I can confirm that the value is in fact changed to the new value. After about 1-2 minutes the value suddenly appears even in the Agile board backlog view. Why this delay? Can I do something about it? Since I use this value to help me sort the backlog it is quite annoying with this delay - I would expect it to be instant.

Thanks for any help

I'm using the latest version of JIRA and JIRA Agile with FishEye as plugin. The only plug-in I have is Script Runner and I use that to calculate the Business Value. So if I change due date or some other fields the Business Value instantly re-calculates and I can see the new value. However it doesn't seem to propagate to the Agile Board view instantly which is strange.

6 answers

1 accepted

I have now created a listener plugin using Atlassians tutorials for developers. That seems to work and the code looks like this:

package com.example.tutorial.plugins;

import com.atlassian.event.api.EventListener;
import com.atlassian.event.api.EventPublisher;
import com.atlassian.jira.event.issue.IssueEvent;
import com.atlassian.jira.event.type.EventType;
import com.atlassian.jira.issue.Issue;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;

import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.issue.index.IndexException;
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder;
import com.atlassian.jira.issue.util.IssueChangeHolder;
import com.atlassian.jira.util.ImportUtils;
import com.atlassian.jira.issue.index.IssueIndexManager;

* Simple JIRA listener using the atlassian-event library and demonstrating
* plugin lifecycle integration.
public class IssueCreatedResolvedListener implements InitializingBean, DisposableBean {

private final EventPublisher eventPublisher;

* Constructor.
* @parameventPublisher injected {@codeEventPublisher} implementation.
public IssueCreatedResolvedListener(EventPublisher eventPublisher) {
this.eventPublisher = eventPublisher;

* Called when the plugin has been enabled.
* @throws Exception
public void afterPropertiesSet() throws Exception {
// register ourselves with the EventPublisher

* Called when the plugin is being disabled or removed.
* @throws Exception
public void destroy() throws Exception {
// unregister ourselves with the EventPublisher

private void reIndexIssue(Issue issue){
boolean wasIndexing = ImportUtils.isIndexIssues();
try {
} catch (IndexException e) {
System.out.println("Reindex error!!");

* Receives any {@codeIssueEvent}s sent by JIRA.
* @paramissueEvent the IssueEvent passed to us
public void onIssueEvent(IssueEvent issueEvent) {
//Long eventTypeId = issueEvent.getEventTypeId();
Issue issue = issueEvent.getIssue();
Issue parent = issue.getParentObject();
// if an event is triggered, re-index
//if (eventTypeId.equals(EventType.ISSUE_UPDATED_ID)) {
if (parent != null) {

Maybe its due to the index since it use that in the Agile board. And when you check inside a issue, it get the value from the database. Do you script update the index each time ?

No I don't script update the index since I don't know how to do that? I also got the comment recently from Jamie from Script Runner that i should not try to update the issue from a scripted field "as you won't be able to reindex the issue without getting in to an infinite loop" he sais? I don't seem to have that problem though. He tells me to use a listener instead.

Any comments to that? How can I set the Business Value using a listener?

Did you have any tips on how to script update the index?

0 vote

Does it appear in a standard query after the same amount of time, or immediately?

I was wrong, it has nothing to do with time. But if I drag and drop the issue and press F5 it does update the value. So re-indexing seems to be the thing. See my question to one issue on your site if the fast-track issue could be updated so I can select "no transition" or "loop back to same transition". That way I could add the re-indexing code using that listener.

Suggest an answer

Log in or Join to answer
Community showcase
Maarten Cautreels
Posted Thursday in Off-topic

Friday Fun: What's your favourite beer/drink

As a Belgian, beer-lover and home brewer, beer is one of my great passions. I love the fact that with just a few ingredients (usually just water, hop and malt) you can create so many different tastes...

285 views 38 9
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot