Skip to content

Commit 00a206f

Browse files
committed
Update httpRequest for recent versions of http-request-plugin
1 parent ac773b9 commit 00a206f

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

docs/Home.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Browse the Jenkins issue tracker to see any [open issues](https://issues.jenkins
3535
* Added a `SEED_JOB` script variable which provides access to the seed job,
3636
see [Job DSL Commands](Job-DSL-Commands#seed-job)
3737
* Removed anything that has been deprecated in 1.42, see [Migration](Migration#migrating-to-142)
38+
* Enhanced support for the [HTTP Request Plugin](https://wiki.jenkins-ci.org/display/JENKINS/HTTP+Request+Plugin)
3839
* 1.48 (June 24 2016)
3940
* Added option to ignore missing DSL script files or empty wildcards
4041
([JENKINS-34060](https://issues.jenkins-ci.org/browse/JENKINS-34060))

job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/step/HttpRequestContext.groovy

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class HttpRequestContext implements Context {
1111
String authentication
1212
Boolean returnCodeBuildRelevant
1313
Boolean logResponseBody
14+
Boolean passBuildParameters
1415

1516
/**
1617
* Sets the HTTP method to use. Must be one of {@code 'GET'}, {@code 'POST'}, {@code 'PUT'} or {@code 'DELETE'}.
@@ -40,4 +41,13 @@ class HttpRequestContext implements Context {
4041
void logResponseBody(boolean logResponseBody = true) {
4142
this.logResponseBody = logResponseBody
4243
}
44+
45+
/**
46+
* Allows to pass build parameters to the request URL. Defaults to {@code false}.
47+
*
48+
* @since 1.49
49+
*/
50+
void passBuildParameters(boolean passBuildParameters = true) {
51+
this.passBuildParameters = passBuildParameters
52+
}
4353
}

job-dsl-core/src/main/groovy/javaposse/jobdsl/dsl/helpers/step/StepContext.groovy

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -839,13 +839,16 @@ class StepContext extends AbstractExtensibleContext {
839839
*
840840
* @since 1.28
841841
*/
842-
@RequiresPlugin(id = 'http_request')
842+
@RequiresPlugin(id = 'http_request', minimumVersion = '1.8.7')
843843
void httpRequest(String requestUrl, @DslContext(HttpRequestContext) Closure closure = null) {
844844
HttpRequestContext context = new HttpRequestContext()
845845
ContextHelper.executeInContext(closure, context)
846846

847847
stepNodes << new NodeBuilder().'jenkins.plugins.http__request.HttpRequest' {
848848
url(requestUrl)
849+
if (context.passBuildParameters != null) {
850+
passBuildParameters(context.passBuildParameters)
851+
}
849852
if (context.httpMode != null) {
850853
httpMode(context.httpMode)
851854
}

job-dsl-core/src/test/groovy/javaposse/jobdsl/dsl/helpers/step/StepContextSpec.groovy

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2925,7 +2925,7 @@ class StepContextSpec extends Specification {
29252925
children().size() == 1
29262926
url[0].value() == 'http://www.example.com'
29272927
}
2928-
1 * jobManagement.requirePlugin('http_request')
2928+
1 * jobManagement.requireMinimumPluginVersion('http_request', '1.8.7')
29292929
}
29302930

29312931
def 'call http request with all options'() {
@@ -2948,7 +2948,7 @@ class StepContextSpec extends Specification {
29482948
returnCodeBuildRelevant[0].value() == true
29492949
logResponseBody[0].value() == true
29502950
}
2951-
1 * jobManagement.requirePlugin('http_request')
2951+
1 * jobManagement.requireMinimumPluginVersion('http_request', '1.8.7')
29522952
}
29532953

29542954
def 'call http request with invalid HTTP mode'() {
@@ -2975,7 +2975,7 @@ class StepContextSpec extends Specification {
29752975
url[0].value() == 'http://www.example.com'
29762976
httpMode[0].value() == mode
29772977
}
2978-
1 * jobManagement.requirePlugin('http_request')
2978+
1 * jobManagement.requireMinimumPluginVersion('http_request', '1.8.7')
29792979

29802980
where:
29812981
mode << ['GET', 'POST', 'PUT', 'DELETE']

0 commit comments

Comments
 (0)