You can have a look at python library for working with GoCD API: https://github.com/grundic/yagocd. In recent version I've added a checker for all resources about version compatibility, so if you would use it, it might be easier to locate the issue ;) Unfortunately I haven't implemented API changes for 16.10.0, but it's coming soon.
On Wednesday, September 28, 2016 at 2:14:54 PM UTC+2, Carl Reid wrote: > > 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.
