private Transition find(Iterable<Transition> transitions, String what) { for (Transition t : transitions) { if (what.equalsIgnoreCase(t.getName())) { return t; } } return null; }
public void updateTickets(JiraTickets tickets) throws ExecutionException, InterruptedException { for (JiraTicket t : tickets) { Promise<Issue> issuePromise = issueRestClient.getIssue(t.getId()); Issue i = issuePromise.get(); // find transition (we need ID) Iterable<Transition> transitions = issueRestClient.getTransitions(i.getTransitionsUri()).get(); String tName = "Hotfix Failed"; if (t.isValid()) { tName = "Out On Dev"; } Transition transition = find(transitions, tName); if (transition == null) { continue; } // prepare fields // List<FieldInput> fields = Arrays.asList( new FieldInput("resolution", // ComplexIssueInputFieldValue.with("name", "RerunPass"))); Comment comment = Comment.valueOf(StringUtils.join(t.getValidationMessages(), "\n")); issueRestClient.transition(i, new TransitionInput(transition.getId(), comment)); } }