Go types and API client for Rootly incident management platform, auto-generated from OpenAPI specifications.
go get github.com/rootlyhq/rootly-go
package main
import (
"context"
"fmt"
"net/http"
"github.com/rootlyhq/rootly-go"
)
func main() {
// Create a new client
client, err := rootly.NewClient("https://api.rootly.com", rootly.WithRequestEditorFn(
func(ctx context.Context, req *http.Request) error {
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
return nil
},
))
if err != nil {
panic(err)
}
// Use the client to make API calls
ctx := context.Background()
// Example: List incidents
// response, err := client.GetIncidents(ctx, &rootly.GetIncidentsParams{})
}
- Go 1.22.5 or later
- oapi-codegen v2
- Fetch latest API specification:
make fetch-spec
- Generate Go code:
make gen
- Complete workflow:
make fetch-spec gen
- Build:
make build
orgo build ./...
- Test:
make test
orgo test ./...
- Types: Comprehensive struct definitions for all Rootly API entities
- Client: HTTP client implementing all API operations
- Constants: Enum values and configuration constants
- Response handling: Structured response types with error handling
See CONTRIBUTING.md for development guidelines.