Thank you for the quick reply. My bad on the username/password encoding, too hasty with my post!
I will change it although the server is internal only and we have not provided any DNS details. I had not realised that there was a new version of GO available until you mentioned it! We are on 16.9 and I stupidly missed the requirement for 16.10 for this API call. The cadence of these releases seems ever increasing, great work. We will get the version updated and I will test again. Thanks On Wednesday, 28 September 2016 12:16:56 UTC+1, Carl Reid wrote: > > Trying to add an existing pipeline to an environment using the new > environment > config API <https://api.go.cd/current/#environment-config>. > > The method is PATCH. > > I have tried this in PowerShell and in Curl and the error is the same. > > 412 PreCondition Failed. > > In addition, in Curl you see the following message: "Someone has modified > the configuration for environment 'Commit'. Please update your copy of the > config with the changes." > > Looking at the source code > <https://github.com/gocd/gocd/blob/832b21a7e563ad0893f94331886482921f1e908c/server/webapp/WEB-INF/rails.new/spec/controllers/api_v1/admin/environments_controller_spec.rb> > > (and I am no expert in rails!) it *seems to me* that this message should > only be returned if the method is PUT whereas this is PATCH. > > Looking at the example <https://api.go.cd/current/#update-an-environment>, > in an environment update call (which uses PUT) there is an additional > header required it seems from the example curl request > > If-Match: "26b227605daf6f2d7768c8edaf61b861" > > There is no explanation of what this header is used for and why it needs > to present and it is not there in the PATCH example. > > > Is this a bug or am I doing something silly? > > > My CURL request is: > > curl 'https://myserver.com/go/api/admin/environments/Commit' -u > 'user:passwordI' -H 'Accept: application/vnd.go.cd.v1+json' -H > 'Content-Type: application/json' -X PATCH -d > '{"pipelines":{"add":["pipeline_to_add"]}}' -verbose > > > > The response is: > > * Connected to myserver.com (10.129.0.9) port 443 (#0) > * successfully set certificate verify locations: > * CAfile: none > CApath: /etc/ssl/certs > * SSLv3, TLS handshake, Client hello (1): > * SSLv3, TLS handshake, Server hello (2): > * SSLv3, TLS handshake, CERT (11): > * SSLv3, TLS handshake, Server key exchange (12): > * SSLv3, TLS handshake, Request CERT (13): > * SSLv3, TLS handshake, Server finished (14): > * SSLv3, TLS handshake, CERT (11): > * SSLv3, TLS handshake, Client key exchange (16): > * SSLv3, TLS change cipher, Client hello (1): > * SSLv3, TLS handshake, Finished (20): > * SSLv3, TLS change cipher, Client hello (1): > * SSLv3, TLS handshake, Finished (20): > * SSL connection using TLSv1.2 / ECDHE-RSA-AES256-SHA384 > * Server certificate: > * subject: blabla > * start date: 2015-09-07 12:02:02 GMT > * expire date: 2017-09-06 12:02:02 GMT > * subjectAltName: myserver.com matched > * issuer: blabla > * SSL certificate verify ok. > * Server auth using Basic with user 'user' > > PATCH /go/api/admin/environments/Commit HTTP/1.1 > > Authorization: Basic R29BZG1pbjpwViMlKUxNdkRQRTQjZzZJ > > User-Agent: curl/7.38.0 > > Host: myserver.com > > Referer: rbose > > Accept: application/vnd.go.cd.v1+json > > Content-Type: application/json > > Content-Length: 60 > > > * upload completely sent off: 60 out of 60 bytes > < HTTP/1.1 412 Precondition Failed > < Date: Wed, 28 Sep 2016 11:03:01 GMT > < Set-Cookie: JSESSIONID=ed06udyt7bsh1eym9kbppbhyg;Path=/go;Expires=Wed, > 12-Oct-2016 11:03:01 GMT;Secure;HttpOnly > < Expires: Thu, 01 Jan 1970 00:00:00 GMT > < X-Frame-Options: SAMEORIGIN > < X-XSS-Protection: 1; mode=block > < X-Content-Type-Options: nosniff > < X-UA-Compatible: chrome=1 > < Content-Type: application/vnd.go.cd.v1+json; charset=utf-8 > < Cache-Control: no-cache > < X-Request-Id: aaa733e9-5986-4425-b04b-cad515dde4bc > < X-Runtime: 0.004000 > < Transfer-Encoding: chunked > < > { > "message": "Someone has modified the configuration for environment > 'Commit'. Please update your copy of the config with the changes." > } > > > > > > > > > -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
