I suspect that is intentional.  I assume that the '/build' end point is not
intended for use with parameters.  If you want to pass parameters, use the
/buildWithParameters end point.


On Thu, Feb 20, 2020 at 7:35 AM Jay Hayes <[email protected]> wrote:

> Hello,
>
> This seems like a bug to me but, if so, I don't know how it hasn't been
> reported which makes me think I'm overlooking something obvious.
>
> When I invoke a jenkins job via curl and send the parameters as JSON
> data\payload to the job's /build endpoint any parameters I don't pass in
> the payload disappear from the invoked build for that job (even if the
> parameters omitted have default values).
>
> For instance, say I have a job test-job with the following parameters
> defined:
>
> *String Parameter*
> [image: [Help]]
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>   Name [image: Help for feature: Name]
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>   Default Value [image: Help for feature: Default Value]
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>   Description
>
>  [Safe HTML] Preview
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>
> [image: Help for feature: Description]
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>   Trim the string [image: Help for feature: This project is parameterized]
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>
> Delete
> *String Parameter*
> [image: [Help]]
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>   Name [image: Help for feature: Name]
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>   Default Value [image: Help for feature: Default Value]
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>   Description
>
>  [Safe HTML] Preview
> <http://d10b588.na.sas.com:8080/job/extend_choice_parameter_plugin_test/configure#>
>
>
>
> If i invoke said job via curl using the /build endpoint:
> curl --location --request POST '
> http://XXXXXXXXXXXXXXX:8080/job/test-job/build' \
> --header 'Content-Type: application/x-www-form-urlencoded' \
> --header 'Authorization: XXXXXXXXXXXXXXXXXXXXXXX' \
> --data-urlencode
> 'json={"parameter":[{"name":"required_param","value":"myValue"}]}'
>
> The default_param is dropped entirely from the resultant build:
>
> Build #8
> Parameters
>   required_param
>
>
>
>
>
>
>
>
> Instead if I invoke the job via curl with url query params using the
> /buildWithParameters endpoint it works as I would expect:
>
> curl --location --request POST 
> 'http://XXXXXXXXXXXXXXX:8080/job/test-job/buildWithParameters?required_param=myValue'
> \
> --header 'Content-Type: application/x-www-form-urlencoded' \
> --header 'Authorization: XXXXXXXXXXXXXXXXXXXXXXX'
>
> Build #9
> Parameters
>   required_param
>   default_param
>
>
>
>
>
>
>
>
>
>
>
>
> Is there a bug with the /build endpoint WRT passing parameters as json
> data?
>
> Thanks,
> Jay
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/5313272d-8c6a-49c9-9509-94be90d71af9%40googlegroups.com
> <https://groups.google.com/d/msgid/jenkinsci-users/5313272d-8c6a-49c9-9509-94be90d71af9%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtFFJSJz7R-Nag0XcTNkn-PasK7zkvU2KegDXogpbQkNqg%40mail.gmail.com.

Reply via email to