Skip to content

Commit 69272f7

Browse files
committed
cleanup
1 parent 3b74998 commit 69272f7

File tree

5 files changed

+42
-24
lines changed

5 files changed

+42
-24
lines changed

docs/Home.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Have a look at the [Jenkins Job DSL Gradle example](https://github.com/sheehan/j
2121
* Added support for [Pre-SCM Build Step Plugin](https://wiki.jenkins-ci.org/display/JENKINS/pre-scm-buildstep)
2222
* Added support for [Sonar Plugin](http://docs.sonarqube.org/display/SONAR/Jenkins+Plugin)
2323
* Added `ignorePostCommitHooks` option for SCM trigger
24+
* Added `commentFilePath` option for [GitHub Pull Request Builder Plugin](https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin)
2425
* Added "Configure Project" column for [Extra Columns Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Extra+Columns+Plugin)
2526
* Added support for [PostBuildScript Plugin](https://wiki.jenkins-ci.org/display/JENKINS/PostBuildScript+Plugin)
2627
* Added support for [Xvfb Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Xvfb+Plugin)

docs/Job-reference.md

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1366,24 +1366,29 @@ gerrit {
13661366
### Github Pull Request Trigger
13671367

13681368
```groovy
1369-
pullRequest {
1370-
admin(String admin) // add admin
1371-
admins(Iterable<String> admins) // add admins
1372-
userWhitelist(String user) // add user to whitelist
1373-
userWhitelist(Iterable<String> users) // add users to whitelist
1374-
orgWhitelist(String organization) // add organization to whitelist
1375-
orgWhitelist(Iterable<String> organizations) // add organizations to whitelist
1376-
cron(String cron) // set cron schedule, defaults to 'H/5 * * * *'
1377-
triggerPhrase(String triggerPhrase) // set phrase to trigger by commenting within the pull request
1378-
onlyTriggerPhrase(boolean onlyTriggerPhrase = true) // defaults to false if not specified
1379-
useGitHubHooks(boolean useGithubHooks = true) // defaults to false if not specified
1380-
permitAll(boolean permitAll = true) // defaults to false if not specified
1381-
autoCloseFailedPullRequests(boolean autoCloseFailedPullRequests = true) // defaults to false if not specified
1382-
commentFilePath(String commentFilePath) // post the content of the commentFile on the pull request as comment
1369+
job('example') {
1370+
triggers {
1371+
pullRequest {
1372+
admin(String admin)
1373+
admins(Iterable<String> admins)
1374+
userWhitelist(String user)
1375+
userWhitelist(Iterable<String> users)
1376+
orgWhitelist(String organization)
1377+
orgWhitelist(Iterable<String> organizations)
1378+
cron(String cron) // defaults to 'H/5 * * * *'
1379+
triggerPhrase(String triggerPhrase)
1380+
onlyTriggerPhrase(boolean value = true) // defaults to false
1381+
useGitHubHooks(boolean useGithubHooks = true) // defaults to false
1382+
permitAll(boolean permitAll = true) // defaults to false
1383+
autoCloseFailedPullRequests(boolean value = true) // defaults to false
1384+
commentFilePath(String commentFilePath) // since 1.31
1385+
}
1386+
}
13831387
}
13841388
```
13851389

1386-
Builds pull requests from GitHub and will report the results directly to the pull request. Requires the [GitHub pull request builder plugin](https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin). (Available since 1.22)
1390+
Builds pull requests from GitHub and will report the results directly to the pull request. Requires the
1391+
[GitHub pull request builder plugin](https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin).
13871392

13881393
The pull request builder plugin requires a special Git SCM configuration, see the plugin documentation for details.
13891394

@@ -1400,9 +1405,9 @@ job('example') {
14001405
}
14011406
triggers {
14021407
pullRequest {
1403-
admins('USER_ID')
1408+
admin('USER_ID')
14041409
userWhitelist('[email protected]')
1405-
orgWhitelist('your_github_org', 'another_org')
1410+
orgWhitelist(['your_github_org', 'another_org'])
14061411
cron('H/5 * * * *')
14071412
triggerPhrase('Ok to test')
14081413
onlyTriggerPhrase()
@@ -1414,6 +1419,8 @@ job('example') {
14141419
}
14151420
```
14161421

1422+
(since 1.22)
1423+
14171424
### URL Trigger
14181425

14191426
The URL trigger plugin checks one or more specified URLs and starts a build when a change is detected. (Since 1.16)

job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/triggers/PullRequestBuilderContext.groovy

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
11
package javaposse.jobdsl.dsl.helpers.triggers
22

33
import javaposse.jobdsl.dsl.Context
4+
import javaposse.jobdsl.dsl.JobManagement
45

56
class PullRequestBuilderContext implements Context {
7+
private final JobManagement jobManagement
8+
69
List admins = []
710
List userWhitelist = []
811
List orgWhitelist = []
912
String cron = 'H/5 * * * *'
10-
String triggerPhrase = ''
13+
String triggerPhrase
1114
boolean onlyTriggerPhrase = false
1215
boolean useGitHubHooks = false
1316
boolean permitAll = false
1417
boolean autoCloseFailedPullRequests = false
15-
String commentFilePath = ''
18+
String commentFilePath
19+
20+
PullRequestBuilderContext(JobManagement jobManagement) {
21+
this.jobManagement = jobManagement
22+
}
1623

1724
void admin(String admin) {
1825
admins << admin
@@ -49,6 +56,8 @@ class PullRequestBuilderContext implements Context {
4956
}
5057

5158
void commentFilePath(String commentFilePath) {
59+
jobManagement.requireMinimumPluginVersion('ghprb', '1.14')
60+
5261
this.commentFilePath = commentFilePath
5362
}
5463

@@ -71,5 +80,4 @@ class PullRequestBuilderContext implements Context {
7180
void autoCloseFailedPullRequests(boolean autoCloseFailedPullRequests = true) {
7281
this.autoCloseFailedPullRequests = autoCloseFailedPullRequests
7382
}
74-
7583
}

job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/triggers/TriggerContext.groovy

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ class TriggerContext implements Context {
139139
* </org.jenkinsci.plugins.ghprb.GhprbTrigger>
140140
*/
141141
void pullRequest(@DslContext(PullRequestBuilderContext) Closure contextClosure) {
142-
PullRequestBuilderContext pullRequestBuilderContext = new PullRequestBuilderContext()
142+
PullRequestBuilderContext pullRequestBuilderContext = new PullRequestBuilderContext(jobManagement)
143143
ContextHelper.executeInContext(contextClosure, pullRequestBuilderContext)
144144

145145
triggerNodes << new NodeBuilder().'org.jenkinsci.plugins.ghprb.GhprbTrigger' {
@@ -148,12 +148,12 @@ class TriggerContext implements Context {
148148
orgslist pullRequestBuilderContext.orgWhitelist.join('\n')
149149
delegate.cron(pullRequestBuilderContext.cron)
150150
spec pullRequestBuilderContext.cron
151-
triggerPhrase pullRequestBuilderContext.triggerPhrase
151+
triggerPhrase pullRequestBuilderContext.triggerPhrase ?: ''
152152
onlyTriggerPhrase pullRequestBuilderContext.onlyTriggerPhrase
153153
useGitHubHooks pullRequestBuilderContext.useGitHubHooks
154154
permitAll pullRequestBuilderContext.permitAll
155155
autoCloseFailedPullRequests pullRequestBuilderContext.autoCloseFailedPullRequests
156-
commentFilePath pullRequestBuilderContext.commentFilePath
156+
commentFilePath pullRequestBuilderContext.commentFilePath ?: ''
157157
}
158158
}
159159

job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/helpers/triggers/TriggerContextSpec.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,8 @@ class TriggerContextSpec extends Specification {
300300

301301
def 'call pull request trigger with no args'() {
302302
when:
303-
context.pullRequest()
303+
context.pullRequest {
304+
}
304305

305306
then:
306307
def pullRequestNode = context.triggerNodes[0]
@@ -368,6 +369,7 @@ class TriggerContextSpec extends Specification {
368369
autoCloseFailedPullRequests[0].value() == true
369370
commentFilePath[0].value() == 'myCommentFile'
370371
}
372+
1 * mockJobManagement.requireMinimumPluginVersion('ghprb', '1.14')
371373
}
372374

373375
def 'call empty gerrit trigger methods'() {

0 commit comments

Comments
 (0)