Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

...

Utlizado no projeto da Metlife, para atualizar campos customizados periodicamente via servico groovy runner

Bloco de código
import com.atlassian.jira.issue.*;
import com.atlassian.jira.*;
import com.atlassian.jira.util.*;
import com.atlassian.jira.issue.index.*;
import com.atlassian.jira.issue.fields.*;
import com.atlassian.jira.issue.fields.layout.*;
import com.atlassian.jira.issue.fields.field.*;
import com.atlassian.jira.issue.util.*;
import com.atlassian.jira.ofbiz.OfBizValueWrapper;
import com.googlecode.jsu.util.WorkflowUtils;
import com.atlassian.jira.bc.*;
import com.atlassian.jira.bc.filter.*;
import com.atlassian.jira.web.bean.*;
import com.atlassian.jira.issue.search.*;
import com.opensymphony.user.*;
import java.text.*;
import java.util.*;

//Pega um filtro salvo pelo ID, itera sobre os resultado e atualiza os campos necessarios em cada issue
//See//ID do filtro salvo
def filtroId = 10010;

//Usuario padrao para o filtro, caso nao seja o usuario logado
def username = "user.admin";

//Se o script for invocado por um usuario...
User remoteUser = ComponentManager.getInstance().getJiraAuthenticationContext().getUser();

//Ou se o script for invocado pelo sistema (caso de agendamentos periodicos), eh preciso explicitar um usuario padrao com acesso ao filtro salvo
User defaultUser = ComponentManager.getInstance().getUserUtil().getUser(username);

//Pega o usuario logado, ou entao o usuario padrao
User user = remoteUser != null ? remoteUser : defaultUser;

println("Executando filtro: " + 10010 + " via usuario: " + user);

//Veja exemplo em http://osdir.com/ml/java.jira.devel/2008-11/msg00168.html
def filtroId = 10010;
User remoteuser = ComponentManager.getInstance().getJiraAuthenticationContext().getUser();
SearchRequestService srs = ComponentManager.getInstance().getSearchRequestService();
JiraServiceContext jsc = new JiraServiceContextImpl(remoteuseruser);
SearchRequest sr = srs.getFilter(jsc, filtroId);
SearchProvider sp = ComponentManager.getInstance().getSearchProvider();
SearchResults filterIssues = sp.search(sr.getQuery(), remoteuseruser, PagerFilter.getUnlimitedFilter());

//Itera nas issues
List issues = filterIssues.getIssues();
def result = "Issue results: " + issues.size
println(result)

for(Issue i : issues) {
 def item = "Issue: " + i.key + " - " + i.summary
 println(item)
}