Aqui voce encontra
Exemplos diversos de scripts Groovy utilizados em projetos.
Cada entrada possui um script e a breve descricao dele
Executar filtro salvo e iterar sobre os resultados
Utlizado no projeto da Metlife, para atualizar campos customizados periodicamente via servico groovy runner
//Pega um filtro salvo pelo ID, itera sobre os resultado e atualiza os campos necessarios em cada issue
//ID do filtro salvo
def filtroId = 10010;
//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("user.admin");
//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
SearchRequestService srs = ComponentManager.getInstance().getSearchRequestService();
JiraServiceContext jsc = new JiraServiceContextImpl(user);
SearchRequest sr = srs.getFilter(jsc, filtroId);
SearchProvider sp = ComponentManager.getInstance().getSearchProvider();
SearchResults filterIssues = sp.search(sr.getQuery(), user, 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)
}