Getting started with Go SDK

2 minute read

This section describes how to set up and install the Go SDK and how to deploy a feature flag.

Step 1 - Setting up

To setup Go SDK, follow these steps:

  1. Create a CloudBees Feature Management account. See Signup Page to create an account.

  2. Get your environment key. Copy your environment key from App settings > Environments > Key.

Step 2 - Installing the Go SDK

Add the CloudBees Feature Management Go package to your application

To add the CloudBees Feature Management Go library to your project, run the following command:

# Add the SDK to your project $go get -u github.com/rollout/rox-go/v5/...

Add the following lines of code to your project

import ( "fmt" "github.com/rollout/rox-go/v5/server" ) // Create Roxflags in the Flags container class type Flags struct { EnableTutorial server.RoxFlag TitleColors server.RoxString Page server.RoxInt Percentage server.RoxDouble } var flags = & Flags { // Define the feature flags EnableTutorial: server.NewRoxFlag(false), TitleColors: server.NewRoxString("Green", []string{"White", "Blue", "Green", "Yellow"}), Page: server.NewRoxInt(1, []int{1, 2, 3}), Percentage: server.NewRoxDouble(99.9, []float64{10.5, 50.0, 99.9}), } var rox * server.Rox func main() { options := server.NewRoxOptions(server.RoxOptionsBuilder{DevModeKey: "<ROLLOUT_DEVMODEKEY>"}) rox := server.NewRox() // Register the flags container rox.Register("", flags) // Setup the environment key <-rox.Setup("<ROLLOUT-ENV-KEY>", options) // Boolean flag example if (flags.EnableTutorial.IsEnabled(nil)) { // TODO: Put your code here that needs to be gated } // String flag example fmt.Println("TitleColors is " + flags.TitleColors.GetValue(nil)) // Int flag example fmt.Printf("Page is %v", flags.Page.GetValue(nil)) // Double flag example fmt.Printf("Percentage is %v", flags.Percentage.GetValue(nil)) }

Container class registration and environment key setup

  • You cannot call Rox.setup() twice in the same runtime.

Run your application

Running the application

The flag name is automatically added to the CloudBees Feature Management dashboard after running the application.