Skip to content

Bullet Train Client

The SDK client for Go https://bullet-train.io/. Bullet Train allows you to manage feature flags and remote config across multiple projects, environments and organisations.

The source code for the client is available on Github.

Getting Started

go get github.com/BulletTrainHQ/bullet-train-go-client
import (
  "github.com/BulletTrainHQ/bullet-train-go-client"
)

Usage

Retrieving feature flags for your project

For full documentation visit https://docs.bullet-train.io

Sign Up and create account at https://bullet-train.io/

In your application initialise the BulletTrain client with your API key

bt := bullettrain.DefaultBulletTrainClient("<Your API Key>")

To check if a feature flag exists and is enabled:

bt := bullettrain.DefaultBulletTrainClient("<Your API Key>")
enabled, err := bt.FeatureEnabled("cart_abundant_notification_ab_test_enabled")
if err != nil {
    log.Fatal(err)
} else {
    if (enabled) {
        fmt.Printf("Feature enabled")
    }
}

To get the configuration value for feature flag value:

feature_value, err := bt.GetValue("cart_abundant_notification_ab_test")
if err != nil {
    log.Fatal(err)
} else {
    fmt.Printf(feature_value)
}

More examples can be found in the Tests

Override default configuration

By default, client is using default configuration. You can override configuration as follows:

bt := bullettrain.NewBulletTrainClient("<Your API Key>", bullettrain.Config{BaseURI: "<Your API URL>"})

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Getting Help

If you encounter a bug or feature request we would like to hear about it. Before you submit an issue please search existing issues in order to prevent duplicates.

Get in touch

If you have any questions about our projects you can email support@bullet-train.io.