forked from gitlab4j/gitlab4j-api
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJiraService.java
More file actions
180 lines (145 loc) · 5.41 KB
/
JiraService.java
File metadata and controls
180 lines (145 loc) · 5.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
package org.gitlab4j.api.services;
import java.util.Map;
import org.gitlab4j.models.GitLabForm;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class JiraService extends NotificationService {
private static final long serialVersionUID = 1L;
public static final String URL_PROP = "url";
public static final String API_URL_PROP = "api_url";
public static final String PROJECT_KEY_PROP = "project_key";
public static final String JIRA_ISSUE_TRANSITION_ID_PROP = "jira_issue_transition_id";
public static final String COMMIT_EVENTS_PROP = "commit_events";
public static final String COMMENT_ON_EVENT_ENABLED = "comment_on_event_enabled";
private CharSequence password;
/**
* Get the form data for this service based on it's properties.
*
* @return the form data for this service based on it's properties
*/
@Override
public GitLabForm servicePropertiesForm() {
GitLabForm formData = new GitLabForm()
.withParam("merge_requests_events", getMergeRequestsEvents())
.withParam(COMMIT_EVENTS_PROP, getCommitEvents())
.withParam(URL_PROP, getUrl(), true)
.withParam(API_URL_PROP, getApiUrl())
.withParam(PROJECT_KEY_PROP, getProjectKey())
.withParam(USERNAME_PROP, getUsername(), true)
.withParam("password", getPassword(), true)
.withParam(JIRA_ISSUE_TRANSITION_ID_PROP, getJiraIssueTransitionId())
.withParam(COMMENT_ON_EVENT_ENABLED, getCommentOnEventEnabled());
return formData;
}
@JsonIgnore
public Boolean getCommitEvents() {
return (getProperty(COMMIT_EVENTS_PROP, (Boolean) null));
}
public void setCommitEvents(Boolean commitEvents) {
setProperty(COMMIT_EVENTS_PROP, commitEvents);
}
public JiraService withCommitEvents(Boolean commitEvents) {
setCommitEvents(commitEvents);
return (this);
}
public JiraService withMergeRequestsEvents(Boolean mergeRequestsEvents) {
return withMergeRequestsEvents(mergeRequestsEvents, this);
}
@JsonIgnore
public CharSequence getPassword() {
return password;
}
public void setPassword(CharSequence password) {
this.password = password;
}
public JiraService withPassword(CharSequence password) {
setPassword(password);
return (this);
}
@JsonIgnore
public String getUrl() {
return (getProperty(URL_PROP));
}
public void setUrl(String url) {
setProperty(URL_PROP, url);
}
public JiraService withUrl(String url) {
setUrl(url);
return (this);
}
@JsonIgnore
public String getApiUrl() {
return (getProperty(API_URL_PROP));
}
public void setApiUrl(String apiUrl) {
setProperty(API_URL_PROP, apiUrl);
}
public JiraService withApiUrl(String apiUrl) {
setApiUrl(apiUrl);
return (this);
}
@JsonIgnore
public String getProjectKey() {
return (getProperty(PROJECT_KEY_PROP));
}
public void setProjectKey(String projectKey) {
setProperty(PROJECT_KEY_PROP, projectKey);
}
public JiraService withProjectKey(String projectKey) {
setProjectKey(projectKey);
return (this);
}
@JsonIgnore
public String getUsername() {
return (getProperty(USERNAME_PROP));
}
public void setUsername(String username) {
setProperty(USERNAME_PROP, username);
}
public JiraService withUsername(String username) {
setUsername(username);
return (this);
}
@JsonIgnore
public Integer getJiraIssueTransitionId() {
return (getProperty(JIRA_ISSUE_TRANSITION_ID_PROP, (Integer) null));
}
public void setJiraIssueTransitionId(Integer jiraIssueTransitionId) {
setProperty(JIRA_ISSUE_TRANSITION_ID_PROP, jiraIssueTransitionId);
}
public JiraService withJiraIssueTransitionId(Integer jiraIssueTransitionId) {
setJiraIssueTransitionId(jiraIssueTransitionId);
return (this);
}
@JsonIgnore
public Boolean getCommentOnEventEnabled() {
return (getProperty(COMMENT_ON_EVENT_ENABLED, (Boolean) null));
}
public void setCommentOnEventEnabled(Boolean commentOnEventEnabled) {
setProperty(COMMENT_ON_EVENT_ENABLED, commentOnEventEnabled);
}
public JiraService withCommentOnEventEnabled(Boolean commentOnEventEnabled) {
setCommentOnEventEnabled(commentOnEventEnabled);
return (this);
}
@Override
public void setProperties(Map<String, Object> properties) {
fixJiraIssueTransitionId(properties);
super.setProperties(properties);
}
/**
* Make sure jiraIssueTransitionId is an integer and not an empty string.
* @param properties the Map holding the properties
*/
private void fixJiraIssueTransitionId(Map<String, Object> properties) {
if (properties != null) {
Object jiraIssueTransitionId = properties.get(JIRA_ISSUE_TRANSITION_ID_PROP);
if (jiraIssueTransitionId instanceof String) {
if (((String) jiraIssueTransitionId).trim().isEmpty()) {
properties.put(JIRA_ISSUE_TRANSITION_ID_PROP, null);
} else {
properties.put(JIRA_ISSUE_TRANSITION_ID_PROP, Integer.valueOf((String) jiraIssueTransitionId));
}
}
}
}
}