This is an auto-generated API client based on the OpenAPI Spec for Cycle. Please do not open any PRs for the generated code in generated.go. If you have any questions on what changes are made in the latest version, please refer to the spec above.
go get github.com/cycleplatform/api-client-go
Create a client
package main
import (
"log"
"os"
"context"
"net/http"
"fmt"
"github.com/cycleplatform/api-client-go"
)
func main() {
apiKey := os.Getenv("CYCLE_API_KEY")
if apiKey == "" {
log.Fatal("missing env var CYCLE_API_KEY")
}
hubId := os.Getenv("CYCLE_HUB_ID")
if hubId == "" {
log.Fatal("missing env var CYCLE_HUB_ID")
}
c, err := cycle.NewAuthenticatedClient(cycle.ClientConfig{
APIKey: apiKey,
HubID: hubId,
})
if err != nil {
log.Fatal(err)
}
// Get list of environments
resp, err := c.GetEnvironmentsWithResponse(context.TODO(), &cycle.GetEnvironmentsParams{})
if err != nil {
log.Fatal(err)
}
if resp.StatusCode() != http.StatusOK {
log.Fatalf("Expected HTTP 200 but received %d %s", resp.StatusCode(), *resp.JSONDefault.Error.Title)
}
for _, v := range resp.JSON200.Data {
fmt.Printf("ID: %s - Name: %s\n", v.Id, v.Name)
}
}Update the API spec to the latest version:
git submodule update --recursive --remote
Using npm, run (cd api-spec; npm run build:platform && npm run downconvert:platform)
go generate
See ogen for usage.