...
Utlizado no projeto da Metlife, para atualizar campos customizados periodicamente via servico groovy runner
| Bloco de código |
|---|
//PegaID umdo filtro salvo def pelofiltroId ID, itera sobre os resultado e atualiza os campos necessarios em cada issue //ID do filtro salvo def filtroId = 10010= 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("user.admin"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 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) } |