14
14
import hudson .triggers .TriggerDescriptor ;
15
15
import hudson .util .ListBoxModel ;
16
16
import jenkins .model .Jenkins ;
17
+ import jenkins .model .ParameterizedJobMixIn ;
17
18
import net .sf .json .JSONObject ;
18
19
import org .apache .commons .lang .StringUtils ;
19
20
import org .kohsuke .stapler .DataBoundConstructor ;
33
34
/**
34
35
* Created by nishio
35
36
*/
36
- public class BitbucketBuildTrigger extends Trigger <AbstractProject <?, ?>> {
37
+ public class BitbucketBuildTrigger extends Trigger <Job <?, ?>> {
37
38
private static final Logger logger = Logger .getLogger (BitbucketBuildTrigger .class .getName ());
38
39
private final String projectPath ;
39
40
private final String cron ;
@@ -153,7 +154,7 @@ public boolean getCancelOutdatedJobs() {
153
154
}
154
155
155
156
@ Override
156
- public void start (AbstractProject <?, ?> project , boolean newInstance ) {
157
+ public void start (Job <?, ?> project , boolean newInstance ) {
157
158
try {
158
159
this .bitbucketPullRequestsBuilder = BitbucketPullRequestsBuilder .getBuilder ();
159
160
this .bitbucketPullRequestsBuilder .setProject (project );
@@ -175,6 +176,16 @@ public BitbucketPullRequestsBuilder getBuilder() {
175
176
return this .bitbucketPullRequestsBuilder ;
176
177
}
177
178
179
+ private ParameterizedJobMixIn retrieveScheduleJob (final Job <?, ?> job ) {
180
+ // TODO 1.621+ use standard method
181
+ return new ParameterizedJobMixIn () {
182
+ @ Override
183
+ protected Job asJob () {
184
+ return job ;
185
+ }
186
+ };
187
+ }
188
+
178
189
public QueueTaskFuture <?> startJob (BitbucketCause cause ) {
179
190
Map <String , ParameterValue > values = this .getDefaultParameters ();
180
191
@@ -183,7 +194,10 @@ public QueueTaskFuture<?> startJob(BitbucketCause cause) {
183
194
abortRunningJobsThatMatch (cause );
184
195
}
185
196
186
- return this .job .scheduleBuild2 (0 , cause , new ParametersAction (new ArrayList (values .values ())), new RevisionParameterAction (cause .getSourceCommitHash ()));
197
+ return retrieveScheduleJob (this .job ).scheduleBuild2 (0 ,
198
+ new CauseAction (cause ),
199
+ new ParametersAction (new ArrayList (values .values ())),
200
+ new RevisionParameterAction (cause .getSourceCommitHash ()));
187
201
}
188
202
189
203
private void cancelPreviousJobsInQueueThatMatch (@ Nonnull BitbucketCause bitbucketCause ) {
@@ -239,11 +253,8 @@ private Map<String, ParameterValue> getDefaultParameters() {
239
253
240
254
@ Override
241
255
public void run () {
242
- if (this .getBuilder ().getProject ().isDisabled ()) {
243
- logger .info ("Build Skip." );
244
- } else {
245
- this .bitbucketPullRequestsBuilder .run ();
246
- }
256
+ logger .log (Level .INFO , "TODO: check if project is disabled before calling bitbucketPullRequestsBuilder.run()" );
257
+ this .bitbucketPullRequestsBuilder .run ();
247
258
this .getDescriptor ().save ();
248
259
}
249
260
@@ -259,7 +270,7 @@ public BitbucketBuildTriggerDescriptor() {
259
270
260
271
@ Override
261
272
public boolean isApplicable (Item item ) {
262
- return true ;
273
+ return item instanceof Job && item instanceof ParameterizedJobMixIn . ParameterizedJob ;
263
274
}
264
275
265
276
@ Override
0 commit comments