| package proxy | |
| import ( | |
| "fmt" | |
| "github.com/fweikert/go-buildkite/buildkite" | |
| ) | |
| type RestClient struct { | |
| org string | |
| client *buildkite.Client | |
| } | |
| func CreateRestClient(org string, apiToken string, debug bool) (*RestClient, error) { | |
| tokenConfig, err := buildkite.NewTokenConfig(apiToken, debug) | |
| if err != nil { | |
| return nil, fmt.Errorf("Could not createa Buildkite config: %v", err) | |
| } | |
| client := buildkite.NewClient(tokenConfig.Client()) | |
| return &RestClient{org: org, client: client}, nil | |
| } | |
| func (client *RestClient) GetBasicSettings() ([]buildkite.Pipeline, error) { | |
| all_pipelines := make([]buildkite.Pipeline, 0) | |
| opt := buildkite.PipelineListOptions{ListOptions: buildkite.ListOptions{Page: 1, PerPage: 100}} | |
| currPage := 1 | |
| lastPage := 1 | |
| for currPage <= lastPage { | |
| pipelines, response, err := client.client.Pipelines.List(client.org, &opt) | |
| if err != nil { | |
| return nil, fmt.Errorf("Could not get page %d of pipelines: %v", currPage, err) | |
| } | |
| all_pipelines = append(all_pipelines, pipelines...) | |
| currPage += 1 | |
| opt.Page = currPage | |
| lastPage = response.LastPage | |
| } | |
| return all_pipelines, nil | |
| } |