Skip to content

buildkite/go-buildkite

Repository files navigation

buildkite-go Go Reference Build status

A Go library and client for the Buildkite API. This project draws a lot of its structure and testing methods from go-github.

Usage

To get the package, execute:

go get github.com/buildkite/go-buildkite/v3/buildkite

Simple shortened example for listing all pipelines:

import (
    "github.com/buildkite/go-buildkite/v3/buildkite"
    "gopkg.in/alecthomas/kingpin.v2"
)

var (
    apiToken = kingpin.Flag("token", "API token").Required().String()
    org = kingpin.Flag("org", "Organization slug").Required().String()
)

client, err := buildkite.NewOpts(buildkite.WithTokenAuth(*apiToken))

if err != nil {
	log.Fatalf("client config failed: %s", err)
}

pipelines, _, err := client.Pipelines.List(*org, nil)

See the examples directory for additional examples.

Note: not all API features are supported by go-buildkite just yet. If you need a feature, please make an issue or submit a pull request.

Releasing

  1. Update the version number in version.go
  2. Generate a changelog using ghch: ghch --format=markdown --next-version=v<next-version-number>, and update it in CHANGELOG.md
  3. Commit and tag the new version
  4. Create a matching GitHub release

License

This library is distributed under the BSD-style license found in the LICENSE file.