https://github.com/grokify/go-aha
Go SDK for Aha! (aha.io).
https://github.com/grokify/go-aha
aha api-client client-library go golang
Last synced: 4 months ago
JSON representation
Go SDK for Aha! (aha.io).
- Host: GitHub
- URL: https://github.com/grokify/go-aha
- Owner: grokify
- License: mit
- Created: 2017-10-27T08:57:38.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-09-01T07:42:59.000Z (9 months ago)
- Last Synced: 2025-09-01T09:54:36.483Z (9 months ago)
- Topics: aha, api-client, client-library, go, golang
- Language: Go
- Homepage: https://www.aha.io/api
- Size: 971 KB
- Stars: 1
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go API Client for Aha! (aha.io)
[![Build Status][build-status-svg]][build-status-url]
[![Go Report Card][goreport-svg]][goreport-url]
[![Docs][docs-godoc-svg]][docs-godoc-url]
[![License][license-svg]][license-url]
[build-status-svg]: https://github.com/grokify/go-aha/actions/workflows/ci.yaml/badge.svg?branch=master
[build-status-url]: https://github.com/grokify/go-aha/actions/workflows/ci.yaml
[goreport-svg]: https://goreportcard.com/badge/github.com/grokify/go-aha
[goreport-url]: https://goreportcard.com/report/github.com/grokify/go-aha
[docs-godoc-svg]: https://pkg.go.dev/badge/github.com/grokify/go-aha
[docs-godoc-url]: https://pkg.go.dev/github.com/grokify/go-aha/v3
[license-svg]: https://img.shields.io/badge/license-MIT-blue.svg
[license-url]: https://github.com/grokify/go-aha/blob/master/LICENSE
Go SDK and CLI for the [Aha! Roadmap Service](https://www.aha.io/) API.
## Features
- **SDK** - Go client libraries generated from OpenAPI specification
- **CLI** - Command-line interface for common operations
- **Reports** - Generate idea-feature-release reports with XLSX/Markdown export
- **Helpers** - High-level functions for common workflows
## Documentation
Full documentation is available at [https://grokify.github.io/go-aha](https://grokify.github.io/go-aha) or in the [`docs/`](docs/) directory.
## Overview
This module provides Go client libraries for the Aha! API, generated using [OpenAPI Generator](https://github.com/OpenAPITools/openapi-generator).
### Packages
| Package | Description |
|---------|-------------|
| [`oag7/aha`](oag7/aha) | API client generated by OpenAPI Generator v7 (recommended) |
| [`oag7/client`](oag7/client) | Helper functions for creating configured clients |
| [`oag7/ideas`](oag7/ideas) | High-level idea helpers and report generation |
| [`oag7/features`](oag7/features) | Feature helper utilities |
| [`oag4/aha`](oag4/aha) | API client generated by OpenAPI Generator v4 (legacy) |
### Supported APIs
The `oag7/aha` client supports the following API operations:
| API | Operations |
|-----|------------|
| **Features** | `GetFeature`, `GetFeatures`, `GetReleaseFeatures` |
| **Ideas** | `GetIdea`, `ListIdeas` |
| **Products** | `GetProduct`, `GetProducts` |
| **Releases** | `GetRelease`, `GetProductReleases`, `UpdateProductRelease` |
## Installation
### CLI
```bash
go install github.com/grokify/go-aha/v3/cmd/aha@latest
```
### SDK
```bash
go get github.com/grokify/go-aha/v3
```
## CLI Quick Start
```bash
# Set credentials
export AHA_DOMAIN="mycompany"
export AHA_API_KEY="your-api-key"
# List ideas
aha ideas list --per-page 10
# Generate a report of all ideas with features
aha report idea-feature --all -f xlsx -o ideas.xlsx
```
See the [CLI Reference](docs/cli/overview.md) for complete documentation.
## SDK Quick Start
```go
package main
import (
"context"
"fmt"
"log"
"github.com/grokify/go-aha/v3/oag7/aha"
"github.com/grokify/go-aha/v3/oag7/client"
)
func main() {
// Create a configured client
cfg, err := client.NewConfiguration("your-subdomain", "your-api-token")
if err != nil {
log.Fatal(err)
}
// Create API client
apiClient := aha.NewAPIClient(cfg)
// List ideas
ideas, resp, err := apiClient.IdeasAPI.ListIdeas(context.Background()).
Sort("recent").
PerPage(10).
Execute()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Status: %d, Ideas: %+v\n", resp.StatusCode, ideas)
}
```
## Examples
### oag7 Examples (Recommended)
- [`oag7/examples/features_get`](oag7/examples/features_get) - Get features
- [`oag7/examples/idea_feature_release`](oag7/examples/idea_feature_release) - Work with ideas, features, and releases
### oag4 Examples (Legacy)
- [`oag4/examples/get_features`](oag4/examples/get_features) - Get features
- [`oag4/examples/get_products`](oag4/examples/get_products) - Get products
- [`oag4/examples/get_feature`](oag4/examples/get_feature) - Get a single feature
- [`oag4/examples/initiatives`](oag4/examples/initiatives) - Get initiatives
- [`oag4/examples/update_release`](oag4/examples/update_release) - Update a release
## Additional Resources
- [OpenAPI Spec](codegen/openapi_spec.json) - The OpenAPI specification used for code generation
- [Aha! API Documentation](https://www.aha.io/api) - Official Aha! API reference
## Using curl
To retrieve an API response using curl:
```bash
curl -X GET "https://company.aha.io/api/v1/features/FEAT-1" \
-H "Authorization: Bearer "
```