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.
