Close issue via testkit

How can I close a issue via testkit?

Currently I’m trying this:

   IssueCreateResponse response = backdoor.issues().createIssue(issue.getProjectKey(), issue.getSummary(),
                null, "Major", issue.getIssueType());

        backdoor.issues().transitionIssue(response.key(), 6);

This was my solution:

     Optional<Integer> closeIssueTransitionId = backdoor.issues().getIssue(response.key, Expand.transitions)
                                   .transitions.stream()
                                   .filter(x -> "Close Issue".equals(x.name))
                                   .map(x -> x.id)
                                   .findFirst();
        if(!closeIssueTransitionId.isPresent()) {
            throw new IllegalArgumentException("No close issue transition found.");
        }
        backdoor.issues().transitionIssue(response.key(), closeIssueTransitionId.get());

``

You could tighten that up a little like this:

    String closeIssueTransitionId = backdoor.issues().getIssue(response.key, Expand.transitions)
        .transitions.stream()
        .filter(x -> "Close Issue".equals(x.name))
        .map(x -> x.id)
        .findFirst()
        .orElseThrow(() -> new IllegalArgumentException("No close issue transition found."));

    backdoor.issues().transitionIssue(response.key(), closeIssueTransitionId);

I’m guessing about the type of the closeIssueTransitionId; it might alternatively be Integer.

1 Like