12
12
import hudson .triggers .Trigger ;
13
13
import hudson .triggers .TriggerDescriptor ;
14
14
import hudson .util .ListBoxModel ;
15
+ import jenkins .model .ParameterizedJobMixIn ;
15
16
import net .sf .json .JSONObject ;
16
17
import org .kohsuke .stapler .DataBoundConstructor ;
17
18
import org .kohsuke .stapler .StaplerRequest ;
27
28
/**
28
29
* Created by nishio
29
30
*/
30
- public class BitbucketBuildTrigger extends Trigger <AbstractProject <?, ?>> {
31
+ public class BitbucketBuildTrigger extends Trigger <Job <?, ?>> {
31
32
private static final Logger logger = Logger .getLogger (BitbucketBuildTrigger .class .getName ());
32
33
private final String projectPath ;
33
34
private final String cron ;
@@ -140,7 +141,7 @@ public boolean getApproveIfSuccess() {
140
141
}
141
142
142
143
@ Override
143
- public void start (AbstractProject <?, ?> project , boolean newInstance ) {
144
+ public void start (Job <?, ?> project , boolean newInstance ) {
144
145
try {
145
146
this .bitbucketPullRequestsBuilder = BitbucketPullRequestsBuilder .getBuilder ();
146
147
this .bitbucketPullRequestsBuilder .setProject (project );
@@ -162,9 +163,22 @@ public BitbucketPullRequestsBuilder getBuilder() {
162
163
return this .bitbucketPullRequestsBuilder ;
163
164
}
164
165
166
+ private ParameterizedJobMixIn retrieveScheduleJob (final Job <?, ?> job ) {
167
+ // TODO 1.621+ use standard method
168
+ return new ParameterizedJobMixIn () {
169
+ @ Override
170
+ protected Job asJob () {
171
+ return job ;
172
+ }
173
+ };
174
+ }
175
+
165
176
public QueueTaskFuture <?> startJob (BitbucketCause cause ) {
166
177
Map <String , ParameterValue > values = this .getDefaultParameters ();
167
- return this .job .scheduleBuild2 (0 , cause , new ParametersAction (new ArrayList (values .values ())), new RevisionParameterAction (cause .getSourceCommitHash ()));
178
+ return retrieveScheduleJob (this .job ).scheduleBuild2 (0 ,
179
+ new CauseAction (cause ),
180
+ new ParametersAction (new ArrayList (values .values ())),
181
+ new RevisionParameterAction (cause .getSourceCommitHash ()));
168
182
}
169
183
170
184
private Map <String , ParameterValue > getDefaultParameters () {
@@ -181,11 +195,8 @@ private Map<String, ParameterValue> getDefaultParameters() {
181
195
182
196
@ Override
183
197
public void run () {
184
- if (this .getBuilder ().getProject ().isDisabled ()) {
185
- logger .info ("Build Skip." );
186
- } else {
187
- this .bitbucketPullRequestsBuilder .run ();
188
- }
198
+ logger .log (Level .INFO , "TODO: check if project is disabled before calling bitbucketPullRequestsBuilder.run()" );
199
+ this .bitbucketPullRequestsBuilder .run ();
189
200
this .getDescriptor ().save ();
190
201
}
191
202
@@ -201,7 +212,7 @@ public BitbucketBuildTriggerDescriptor() {
201
212
202
213
@ Override
203
214
public boolean isApplicable (Item item ) {
204
- return true ;
215
+ return item instanceof Job && item instanceof ParameterizedJobMixIn . ParameterizedJob ;
205
216
}
206
217
207
218
@ Override
0 commit comments