| /* |
| Copyright 2013 Google Inc. All Rights Reserved. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| */ |
| |
| // Package jenkins provides helper methods for interacting with GWT's Jenkins server. |
| package jenkins |
| |
| import ( |
| "net/http" |
| "net/url" |
| |
| "gwt.googlesource.com/buildglue.git/creds" |
| ) |
| |
| // RunPresubmit queues a Jenkins presubmit build. |
| func RunPresubmit(ref string) error { |
| url := (&url.URL{ |
| Scheme: "http", |
| Host: "localhost:8080", |
| Path: "/job/gwt.presubmit/buildWithParameters", |
| RawQuery: url.Values{ |
| "token": {creds.JenkinsAuthToken()}, |
| "COMMIT": {ref}, |
| }.Encode(), |
| }).String() |
| |
| // TODO(mdempsky): Check for failed return codes? |
| resp, err := http.Get(url) |
| if err == nil { |
| resp.Body.Close() |
| } |
| return err |
| } |