1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package samples;
18
19 import com.atlassian.jira.rest.client.JiraRestClient;
20 import com.atlassian.jira.rest.client.NullProgressMonitor;
21 import com.atlassian.jira.rest.client.domain.BasicIssue;
22 import com.atlassian.jira.rest.client.domain.BasicProject;
23 import com.atlassian.jira.rest.client.domain.Comment;
24 import com.atlassian.jira.rest.client.domain.Issue;
25 import com.atlassian.jira.rest.client.domain.SearchResult;
26 import com.atlassian.jira.rest.client.domain.Transition;
27 import com.atlassian.jira.rest.client.domain.input.FieldInput;
28 import com.atlassian.jira.rest.client.domain.input.TransitionInput;
29 import com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClientFactory;
30
31 import java.net.URI;
32 import java.net.URISyntaxException;
33 import java.util.Arrays;
34 import java.util.Collection;
35
36
37
38
39
40
41 public class Example1 {
42 public static void main(String[] args) throws URISyntaxException {
43 final JerseyJiraRestClientFactory factory = new JerseyJiraRestClientFactory();
44 final URI jiraServerUri = new URI("http://localhost:8090/jira");
45 final JiraRestClient restClient = factory.createWithBasicHttpAuthentication(jiraServerUri, "admin", "admin");
46 final NullProgressMonitor pm = new NullProgressMonitor();
47
48
49 final Iterable<BasicProject> allProjects = restClient.getProjectClient().getAllProjects(pm);
50 for (BasicProject project : allProjects) {
51 System.out.println(project);
52 }
53
54
55 final SearchResult searchResult = restClient.getSearchClient().searchJql("assignee is not EMPTY", pm);
56 for (BasicIssue issue : searchResult.getIssues()) {
57 System.out.println(issue.getKey());
58 }
59
60 final Issue issue = restClient.getIssueClient().getIssue("TST-1", pm);
61
62 System.out.println(issue);
63
64
65 restClient.getIssueClient().vote(issue.getVotesUri(), pm);
66
67
68 restClient.getIssueClient().watch(issue.getWatchers().getSelf(), pm);
69
70
71 final Iterable<Transition> transitions = restClient.getIssueClient().getTransitions(issue.getTransitionsUri(), pm);
72 final Transition startProgressTransition = getTransitionByName(transitions, "Start Progress");
73 restClient.getIssueClient().transition(issue.getTransitionsUri(), new TransitionInput(startProgressTransition.getId()), pm);
74
75
76 final Transition resolveIssueTransition = getTransitionByName(transitions, "Resolve Issue");
77 Collection<FieldInput> fieldInputs = Arrays.asList(new FieldInput("resolution", "Incomplete"));
78 final TransitionInput transitionInput = new TransitionInput(resolveIssueTransition.getId(), fieldInputs, Comment.valueOf("My comment"));
79 restClient.getIssueClient().transition(issue.getTransitionsUri(), transitionInput, pm);
80
81 }
82
83 private static Transition getTransitionByName(Iterable<Transition> transitions, String transitionName) {
84 for (Transition transition : transitions) {
85 if (transition.getName().equals(transitionName)) {
86 return transition;
87 }
88 }
89 return null;
90 }
91
92 }