Skip to content

grokify/go-aha

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

568 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go API Client for Aha! (aha.io)

Build Status Go Report Card Docs License

Go SDK and CLI for the Aha! Roadmap Service 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 or in the docs/ directory.

Overview

This module provides Go client libraries for the Aha! API, generated using OpenAPI Generator.

Packages

Package Description
oag7/aha API client generated by OpenAPI Generator v7 (recommended)
oag7/client Helper functions for creating configured clients
oag7/ideas High-level idea helpers and report generation
oag7/features Feature helper utilities
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

go install github.com/grokify/go-aha/v3/cmd/aha@latest

SDK

go get github.com/grokify/go-aha/v3

CLI Quick Start

# 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 for complete documentation.

SDK Quick Start

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)

oag4 Examples (Legacy)

Additional Resources

Using curl

To retrieve an API response using curl:

curl -X GET "https://company.aha.io/api/v1/features/FEAT-1" \
  -H "Authorization: Bearer <your_api_token>"

About

Go SDK for Aha! (aha.io).

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •