blob: 0ccec098f432ce4febd1868db95796224a07a905 [file] [log] [blame]
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
}