cli

package
v0.6.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2026 License: MIT Imports: 41 Imported by: 0

Documentation

Overview

Package cli provides automation commands for CI/CD release workflows.

Package cli provides bulk operations commands for batch processing.

Package cli provides the Kong-based CLI framework for gpd.

Package cli provides app comparison commands for analyzing multiple apps.

Package cli provides shell completion generation commands.

Package cli provides Kong-compatible config commands for gpd.

Package cli provides maintenance commands for the gpd CLI.

Package cli provides release management commands for release lifecycle.

Package cli provides testing and QA commands.

Package cli provides progress indicator utilities for long-running operations.

Index

Constants

This section is empty.

Variables

View Source
var (
	// Version is the current version of the CLI
	Version = version.Version

	// BinaryName is the name of the binary
	BinaryName = "gpd"

	// GitHubRepo is the GitHub repository name
	GitHubRepo = "Google-Play-Developer-CLI"

	// GitCommit is the git commit hash
	GitCommit = version.GitCommit

	// BuildTime is the build timestamp
	BuildTime = version.BuildTime
)

Build-time variables (set by GoReleaser or build flags) These are initialized from the pkg/version package

Functions

func AutoUpdateCheck added in v0.5.2

func AutoUpdateCheck(cacheDir string)

AutoUpdateCheck performs a background update check (for use at startup) It returns immediately and doesn't block

func RunKongCLI

func RunKongCLI() int

Run executes the Kong CLI and returns the exit code.

func WithProgress

func WithProgress(quiet bool, total int64, fn func(ProgressCallback) error) error

WithProgress executes a function with a progress callback, respecting the quiet flag.

Types

type AnalyticsCapabilitiesCmd

type AnalyticsCapabilitiesCmd struct{}

AnalyticsCapabilitiesCmd lists analytics capabilities.

func (*AnalyticsCapabilitiesCmd) Run

func (cmd *AnalyticsCapabilitiesCmd) Run(globals *Globals) error

Run executes the analytics capabilities command.

type AnalyticsCmd

type AnalyticsCmd struct {
	Query        AnalyticsQueryCmd        `cmd:"" help:"Query analytics data"`
	Capabilities AnalyticsCapabilitiesCmd `cmd:"" help:"List analytics capabilities"`
}

AnalyticsCmd contains analytics commands.

type AnalyticsQueryCmd

type AnalyticsQueryCmd struct {
	StartDate  string   `help:"Start date (ISO 8601)"`
	EndDate    string   `help:"End date (ISO 8601)"`
	Metrics    []string `help:"Metrics to retrieve"`
	Dimensions []string `help:"Dimensions for grouping"`
	Format     string   `help:"Output format: json, csv" default:"json" enum:"json,csv"`
	PageSize   int64    `help:"Results per page" default:"100"`
	PageToken  string   `help:"Pagination token"`
	All        bool     `help:"Fetch all pages"`
}

AnalyticsQueryCmd runs an analytics query.

func (*AnalyticsQueryCmd) Run

func (cmd *AnalyticsQueryCmd) Run(globals *Globals) error

Run executes the analytics query command.

type AppsCmd

type AppsCmd struct {
	List AppsListCmd `cmd:"" help:"List apps in the developer account"`
	Get  AppsGetCmd  `cmd:"" help:"Get app details"`
}

AppsCmd contains app discovery commands.

type AppsGetCmd

type AppsGetCmd struct {
	Package string `arg:"" help:"App package name (uses --package when omitted)"`
}

AppsGetCmd gets app details.

func (*AppsGetCmd) Run

func (cmd *AppsGetCmd) Run(globals *Globals) error

Run executes the apps get command.

type AppsListCmd

type AppsListCmd struct {
	PageSize  int64  `help:"Results per page" default:"100"`
	PageToken string `help:"Pagination token"`
	All       bool   `help:"Fetch all pages"`
}

AppsListCmd lists apps in the developer account.

func (*AppsListCmd) Run

func (cmd *AppsListCmd) Run(globals *Globals) error

Run executes the apps list command.

type AuthCmd

type AuthCmd struct {
	Status AuthStatusCmd `cmd:"" help:"Check authentication status"`
	Login  AuthLoginCmd  `cmd:"" help:"Authenticate with Google Play"`
	Logout AuthLogoutCmd `cmd:"" help:"Sign out and clear credentials"`
}

AuthCmd contains authentication commands.

type AuthLoginCmd

type AuthLoginCmd struct {
	Key string `help:"Path to service account key file" type:"existingfile"`
}

AuthLoginCmd authenticates with Google Play.

func (*AuthLoginCmd) Run

func (cmd *AuthLoginCmd) Run(globals *Globals) error

Run executes the auth login command.

type AuthLogoutCmd

type AuthLogoutCmd struct{}

AuthLogoutCmd signs out and clears credentials.

func (*AuthLogoutCmd) Run

func (cmd *AuthLogoutCmd) Run(globals *Globals) error

Run executes the auth logout command.

type AuthStatusCmd

type AuthStatusCmd struct{}

AuthStatusCmd checks authentication status.

func (*AuthStatusCmd) Run

func (cmd *AuthStatusCmd) Run(globals *Globals) error

Run executes the auth status command.

type AutomationCmd

type AutomationCmd struct {
	ReleaseNotes AutomationReleaseNotesCmd `cmd:"" help:"Generate release notes from git history or PRs"`
	Rollout      AutomationRolloutCmd      `cmd:"" help:"Automated staged rollout with health checks"`
	Promote      AutomationPromoteCmd      `cmd:"" help:"Smart promote with optional verification"`
	Validate     AutomationValidateCmd     `cmd:"" help:"Comprehensive pre-release validation"`
	Monitor      AutomationMonitorCmd      `cmd:"" help:"Monitor release health after rollout"`
}

AutomationCmd contains CI/CD release automation commands.

type AutomationMonitorCmd

type AutomationMonitorCmd struct {
	Track             string        `help:"Track to monitor" enum:"internal,alpha,beta,production" required:""`
	Duration          time.Duration `help:"Total monitoring duration" default:"2h"`
	CheckInterval     time.Duration `help:"Interval between health checks" default:"5m"`
	CrashThreshold    float64       `help:"Crash rate threshold (0.0-1.0)" default:"0.01"`
	AnrThreshold      float64       `help:"ANR rate threshold (0.0-1.0)" default:"0.005"`
	ErrorThreshold    float64       `help:"Error rate threshold (0.0-1.0)" default:"0.02"`
	AutoAlert         bool          `help:"Send alert if thresholds exceeded"`
	ExitOnDegradation bool          `help:"Exit with error if health degrades"`
	DryRun            bool          `help:"Show monitoring plan without executing"`
}

AutomationMonitorCmd monitors a release after rollout.

func (*AutomationMonitorCmd) Run

func (cmd *AutomationMonitorCmd) Run(globals *Globals) error

Run executes the monitor command.

type AutomationPromoteCmd

type AutomationPromoteCmd struct {
	FromTrack     string        `help:"Source track" enum:"internal,alpha,beta,production" required:"true"`
	ToTrack       string        `help:"Destination track" enum:"internal,alpha,beta,production" required:"true"`
	VersionCodes  []int64       `help:"Specific version codes to promote"`
	Verify        bool          `help:"Verify promoted version after promotion"`
	VerifyTimeout time.Duration `help:"Maximum time to wait for verification" default:"15m"`
	EditID        string        `help:"Explicit edit transaction ID"`
	DryRun        bool          `help:"Show intended actions without executing"`
	Wait          bool          `help:"Wait for promotion to complete"`
}

AutomationPromoteCmd performs smart promote with optional verification.

func (*AutomationPromoteCmd) Run

func (cmd *AutomationPromoteCmd) Run(globals *Globals) error

Run executes the promote command.

type AutomationReleaseNotesCmd

type AutomationReleaseNotesCmd struct {
	Source     string `help:"Source for release notes: git, pr, or file" enum:"git,pr,file" default:"git"`
	Format     string `help:"Output format: json or markdown" enum:"json,markdown" default:"markdown"`
	OutputFile string `help:"Output file path (stdout if not specified)" type:"path"`
	Since      string `help:"Git reference to generate notes from (tag, commit, or date)"`
	Until      string `help:"Git reference to end at (defaults to HEAD)" default:"HEAD"`
	MaxCommits int    `help:"Maximum commits to include" default:"50"`
}

AutomationReleaseNotesCmd generates release notes from git history or PRs.

func (*AutomationReleaseNotesCmd) Run

func (cmd *AutomationReleaseNotesCmd) Run(globals *Globals) error

Run executes the release notes generation command.

type AutomationRolloutCmd

type AutomationRolloutCmd struct {
	Track            string        `help:"Release track" enum:"internal,alpha,beta,production" default:"production"`
	StartPercentage  float64       `help:"Starting rollout percentage (0.01-100)" default:"1"`
	TargetPercentage float64       `help:"Target rollout percentage (0.01-100)" default:"100"`
	StepSize         float64       `help:"Percentage increase per step" default:"10"`
	StepInterval     time.Duration `help:"Duration between rollout steps" default:"30m"`
	HealthThreshold  float64       `help:"Crash rate threshold for health check (0.0-1.0, 0 disables)" default:"0.01"`
	EditID           string        `help:"Explicit edit transaction ID"`
	DryRun           bool          `help:"Show intended actions without executing"`
	Wait             bool          `help:"Wait for rollout to complete (default: true)" default:"true"`
	AutoRollback     bool          `help:"Automatically rollback on health check failure"`
}

AutomationRolloutCmd performs automated staged rollout.

func (*AutomationRolloutCmd) Run

func (cmd *AutomationRolloutCmd) Run(globals *Globals) error

Run executes the automated rollout command.

type AutomationValidateCmd

type AutomationValidateCmd struct {
	EditID string   `help:"Explicit edit transaction ID"`
	Checks []string `` /* 141-byte string literal not displayed */
	Strict bool     `help:"Treat warnings as failures"`
	DryRun bool     `help:"Show validation plan without running"`
}

AutomationValidateCmd performs comprehensive pre-release validation.

func (*AutomationValidateCmd) Run

func (cmd *AutomationValidateCmd) Run(globals *Globals) error

Run executes the validation command.

type BulkCmd

type BulkCmd struct {
	Upload   BulkUploadCmd   `cmd:"" help:"Upload multiple APKs/AABs in parallel"`
	Listings BulkListingsCmd `cmd:"" help:"Update store listings across multiple locales"`
	Images   BulkImagesCmd   `cmd:"" help:"Batch upload images for multiple types"`
	Tracks   BulkTracksCmd   `cmd:"" help:"Update multiple tracks at once"`
}

BulkCmd contains batch operations commands.

type BulkImagesCmd

type BulkImagesCmd struct {
	ImageDir    string `help:"Directory with images organized by type/locale" type:"existingdir" required:""`
	Locale      string `help:"Target locale (overrides directory structure)" default:"en-US"`
	EditID      string `help:"Explicit edit transaction ID"`
	DryRun      bool   `help:"Show intended actions without executing"`
	MaxParallel int    `help:"Maximum parallel uploads" default:"3"`
}

BulkImagesCmd batch uploads images for multiple types.

func (*BulkImagesCmd) Run

func (cmd *BulkImagesCmd) Run(globals *Globals) error

Run executes the bulk images upload command.

type BulkListingsCmd

type BulkListingsCmd struct {
	DataFile string `help:"JSON file with locale->listing mappings" type:"existingfile" required:""`
	EditID   string `help:"Explicit edit transaction ID"`
	DryRun   bool   `help:"Show intended actions without executing"`
}

BulkListingsCmd updates store listings across multiple locales.

func (*BulkListingsCmd) Run

func (cmd *BulkListingsCmd) Run(globals *Globals) error

Run executes the bulk listings update command.

type BulkTracksCmd

type BulkTracksCmd struct {
	Tracks       []string `help:"Tracks to update (repeatable)" enum:"internal,alpha,beta,production" required:""`
	VersionCodes []string `help:"Version codes to include (repeatable)" required:""`
	Status       string   `help:"Release status" default:"draft" enum:"draft,completed,halted,inProgress"`
	Name         string   `help:"Release name"`
	EditID       string   `help:"Explicit edit transaction ID"`
	DryRun       bool     `help:"Show intended actions without executing"`
}

BulkTracksCmd updates multiple tracks at once.

func (*BulkTracksCmd) Run

func (cmd *BulkTracksCmd) Run(globals *Globals) error

Run executes the bulk tracks update command.

type BulkUploadCmd

type BulkUploadCmd struct {
	Files                     []string `arg:"" help:"APK/AAB files to upload" type:"existingfile"`
	Track                     string   `help:"Target track" default:"internal" enum:"internal,alpha,beta,production"`
	EditID                    string   `help:"Explicit edit transaction ID"`
	NoAutoCommit              bool     `help:"Keep edit open for manual commit"`
	InProgressReviewBehaviour string   `` /* 277-byte string literal not displayed */
	DryRun                    bool     `help:"Show intended actions without executing"`
	MaxParallel               int      `help:"Maximum parallel uploads" default:"3"`
}

BulkUploadCmd uploads multiple APK/AAB files in parallel.

func (*BulkUploadCmd) Run

func (cmd *BulkUploadCmd) Run(globals *Globals) error

Run executes the bulk upload command.

type CompareCmd

type CompareCmd struct {
	Vitals        CompareVitalsCmd        `cmd:"" help:"Compare vitals metrics across multiple apps"`
	Reviews       CompareReviewsCmd       `cmd:"" help:"Compare review metrics across apps"`
	Releases      CompareReleasesCmd      `cmd:"" help:"Compare release history across apps"`
	Subscriptions CompareSubscriptionsCmd `cmd:"" help:"Compare subscription metrics"`
}

CompareCmd contains app comparison commands.

type CompareReleasesCmd

type CompareReleasesCmd struct {
	Packages []string `help:"Package names to compare (repeatable)" required:""`
	Track    string   `help:"Track to compare" default:"production" enum:"internal,alpha,beta,production"`
	Since    string   `help:"Compare releases since this date"`
	Limit    int      `help:"Maximum releases per app" default:"10"`
}

CompareReleasesCmd compares release history across apps.

func (*CompareReleasesCmd) Run

func (cmd *CompareReleasesCmd) Run(globals *Globals) error

Run executes the compare releases command.

type CompareReviewsCmd

type CompareReviewsCmd struct {
	Packages         []string `help:"Package names to compare (repeatable)" required:""`
	StartDate        string   `help:"Start date (ISO 8601)"`
	EndDate          string   `help:"End date (ISO 8601)"`
	IncludeSentiment bool     `help:"Include sentiment analysis"`
	Format           string   `help:"Output format" default:"table" enum:"json,table,csv"`
}

CompareReviewsCmd compares review metrics across apps.

func (*CompareReviewsCmd) Run

func (cmd *CompareReviewsCmd) Run(globals *Globals) error

Run executes the compare reviews command.

type CompareSubscriptionsCmd

type CompareSubscriptionsCmd struct {
	Packages      []string `help:"Package names to compare (repeatable)" required:""`
	Subscriptions []string `help:"Specific subscription IDs to compare"`
	Period        string   `help:"Comparison period" default:"30d" enum:"7d,30d,90d"`
}

CompareSubscriptionsCmd compares subscription metrics across apps.

func (*CompareSubscriptionsCmd) Run

func (cmd *CompareSubscriptionsCmd) Run(globals *Globals) error

Run executes the compare subscriptions command.

type CompareVitalsCmd

type CompareVitalsCmd struct {
	Packages  []string `help:"Package names to compare (repeatable)" required:""`
	Metric    string   `help:"Metric to compare" default:"all" enum:"crash-rate,anr-rate,error-rate,all"`
	StartDate string   `help:"Start date (ISO 8601)"`
	EndDate   string   `help:"End date (ISO 8601)"`
	Format    string   `help:"Output format" default:"table" enum:"json,table,csv"`
}

CompareVitalsCmd compares vitals metrics across multiple apps.

func (*CompareVitalsCmd) Run

func (cmd *CompareVitalsCmd) Run(globals *Globals) error

Run executes the compare vitals command.

type CompletionCmd

type CompletionCmd struct {
	Shell string `arg:"" help:"Shell type (bash, zsh, fish)" enum:"bash,zsh,fish"`
}

CompletionCmd generates shell completion scripts.

func (*CompletionCmd) Run

func (cmd *CompletionCmd) Run(globals *Globals) error

Run generates the completion script for the specified shell.

type ConfigCmd

type ConfigCmd struct {
	Init       ConfigInitCmd       `cmd:"" help:"Initialize project configuration"`
	Doctor     ConfigDoctorCmd     `cmd:"" help:"Diagnose configuration and credential issues"`
	Path       ConfigPathCmd       `cmd:"" help:"Show configuration paths"`
	Get        ConfigGetCmd        `cmd:"" help:"Get configuration value"`
	Set        ConfigSetCmd        `cmd:"" help:"Set configuration value"`
	Print      ConfigPrintCmd      `cmd:"" help:"Print current configuration"`
	Export     ConfigExportCmd     `cmd:"" help:"Export configuration to file"`
	Import     ConfigImportCmd     `cmd:"" help:"Import configuration from file"`
	Completion ConfigCompletionCmd `cmd:"" help:"Generate shell completion script"`
}

ConfigCmd contains configuration commands. Subcommands are defined in kong_config.go.

type ConfigCompletionCmd

type ConfigCompletionCmd struct {
	Shell string `arg:"" help:"Shell type (bash, zsh, fish)" enum:"bash,zsh,fish"`
}

ConfigCompletionCmd generates shell completion scripts.

func (*ConfigCompletionCmd) Run

func (cmd *ConfigCompletionCmd) Run(globals *Globals) error

type ConfigDoctorCmd

type ConfigDoctorCmd struct{}

ConfigDoctorCmd diagnoses configuration and credential issues.

func (*ConfigDoctorCmd) Run

func (cmd *ConfigDoctorCmd) Run(globals *Globals) error

type ConfigExportCmd

type ConfigExportCmd struct {
	OutFile      string `help:"Output file path" default:"gpd-config.json" short:"o"`
	IncludePaths bool   `help:"Include serviceAccountKeyPath (warning: may be machine-specific)"`
}

ConfigExportCmd exports configuration to file.

func (*ConfigExportCmd) Run

func (cmd *ConfigExportCmd) Run(globals *Globals) error

type ConfigGetCmd

type ConfigGetCmd struct {
	Key string `arg:"" help:"Configuration key to get"`
}

ConfigGetCmd gets a configuration value.

func (*ConfigGetCmd) Run

func (cmd *ConfigGetCmd) Run(globals *Globals) error

type ConfigImportCmd

type ConfigImportCmd struct {
	File  string `arg:"" help:"Configuration file to import"`
	Merge bool   `help:"Merge with existing config" default:"true"`
}

ConfigImportCmd imports configuration from file.

func (*ConfigImportCmd) Run

func (cmd *ConfigImportCmd) Run(globals *Globals) error

type ConfigInitCmd

type ConfigInitCmd struct{}

ConfigInitCmd initializes project configuration.

func (*ConfigInitCmd) Run

func (cmd *ConfigInitCmd) Run(globals *Globals) error

type ConfigPathCmd

type ConfigPathCmd struct{}

ConfigPathCmd shows configuration file locations.

func (*ConfigPathCmd) Run

func (cmd *ConfigPathCmd) Run(globals *Globals) error

type ConfigPrintCmd

type ConfigPrintCmd struct {
	Resolved bool `help:"Show precedence resolution"`
}

ConfigPrintCmd prints the configuration.

func (*ConfigPrintCmd) Run

func (cmd *ConfigPrintCmd) Run(globals *Globals) error

type ConfigSetCmd

type ConfigSetCmd struct {
	Key   string `arg:"" help:"Configuration key to set"`
	Value string `arg:"" help:"Value to set"`
}

ConfigSetCmd sets a configuration value.

func (*ConfigSetCmd) Run

func (cmd *ConfigSetCmd) Run(globals *Globals) error

type CustomAppCmd

type CustomAppCmd struct{}

CustomAppCmd contains custom app publishing commands.

type DriftCmd added in v0.5.2

type DriftCmd struct {
	DiscoveryURL string `help:"Discovery API URL" default:"https://www.googleapis.com/discovery/v1/apis/androidpublisher/v3/rest"`
	Format       string `help:"Output format" enum:"json,markdown,text" default:"text"`
	OutputFile   string `help:"Output file path (optional)" name:"output-file" type:"path"`
	Threshold    int    `help:"Fail if drift score exceeds this value" default:"0"`
	DriftVerbose bool   `help:"Enable verbose drift output" name:"verbose-drift"`
}

DriftCmd detects API drift between discovery document and Go client library.

func (*DriftCmd) Run added in v0.5.2

func (cmd *DriftCmd) Run(globals *Globals) error

Run executes the drift detection command.

type ExtensionCmd added in v0.5.7

type ExtensionCmd struct {
	Install ExtensionInstallCmd `cmd:"" help:"Install an extension"`
	List    ExtensionListCmd    `cmd:"" help:"List installed extensions"`
	Remove  ExtensionRemoveCmd  `cmd:"" help:"Remove an extension"`
	Upgrade ExtensionUpgradeCmd `cmd:"" help:"Upgrade an extension"`
	Exec    ExtensionExecCmd    `cmd:"" help:"Execute an extension explicitly"`
}

ExtensionCmd manages CLI extensions.

type ExtensionExecCmd added in v0.5.7

type ExtensionExecCmd struct {
	Name string   `arg:"" help:"Extension name to execute"`
	Args []string `arg:"" optional:"" help:"Arguments to pass to extension"`
}

ExtensionExecCmd executes an extension explicitly.

func (*ExtensionExecCmd) Run added in v0.5.7

func (c *ExtensionExecCmd) Run(globals *Globals) error

type ExtensionInstallCmd added in v0.5.7

type ExtensionInstallCmd struct {
	Source string `arg:"" help:"Extension source (GitHub: owner/repo or local: path)"`
	Pin    bool   `help:"Pin to current version (disable auto-upgrade)"`
	Force  bool   `help:"Overwrite existing extension"`
}

ExtensionInstallCmd installs an extension from GitHub or local path.

func (*ExtensionInstallCmd) Run added in v0.5.7

func (c *ExtensionInstallCmd) Run(globals *Globals) error

type ExtensionListCmd added in v0.5.7

type ExtensionListCmd struct {
	Format string `help:"Output format: table, json" default:"table" enum:"table,json"`
}

ExtensionListCmd lists installed extensions.

func (*ExtensionListCmd) Run added in v0.5.7

func (c *ExtensionListCmd) Run(globals *Globals) error

type ExtensionRemoveCmd added in v0.5.7

type ExtensionRemoveCmd struct {
	Name string `arg:"" help:"Extension name to remove"`
}

ExtensionRemoveCmd removes an installed extension.

func (*ExtensionRemoveCmd) Run added in v0.5.7

func (c *ExtensionRemoveCmd) Run(globals *Globals) error

type ExtensionUpgradeCmd added in v0.5.7

type ExtensionUpgradeCmd struct {
	Name  string `arg:"" help:"Extension name to upgrade (or --all)"`
	All   bool   `help:"Upgrade all extensions"`
	Force bool   `help:"Force upgrade even if extension is pinned"`
	Pin   bool   `help:"Pin to current version after upgrade"`
}

ExtensionUpgradeCmd upgrades an installed extension.

func (*ExtensionUpgradeCmd) Run added in v0.5.7

func (c *ExtensionUpgradeCmd) Run(globals *Globals) error

type ExternalTransactionsCmd added in v0.5.3

type ExternalTransactionsCmd struct {
	Create ExternalTransactionsCreateCmd `cmd:"" help:"Create an external transaction"`
	Get    ExternalTransactionsGetCmd    `cmd:"" help:"Get an external transaction"`
	Refund ExternalTransactionsRefundCmd `cmd:"" help:"Refund an external transaction"`
}

ExternalTransactionsCmd contains external transaction management commands. External transactions are used for alternative billing and reporting transactions that occur outside of Google Play's billing system.

type ExternalTransactionsCreateCmd added in v0.5.3

type ExternalTransactionsCreateCmd struct {
	ExternalTransactionID    string `help:"Unique external transaction ID (1-63 chars, a-zA-Z0-9_-)" required:""`
	TransactionTime          string `help:"Transaction time (RFC3339)" required:""`
	PriceMicros              string `help:"Price in micros (e.g., 990000 for $0.99)" required:""`
	Currency                 string `help:"Currency code (ISO 4217)" required:""`
	TaxMicros                string `help:"Tax amount in micros (default: 0)" default:"0"`
	RegionCode               string `help:"Two-letter region code (ISO-3166-1 Alpha-2) for tax address" required:""`
	AdministrativeArea       string `help:"Administrative area (required for India)"`
	ExternalTransactionToken string `help:"External transaction token from alternative billing flow"`
	OneTime                  bool   `help:"One-time transaction (default: true)" default:"true"`
	TransactionProgramCode   int64  `help:"Transaction program code for partner programs"`
	File                     string `help:"JSON file with external transaction data (alternative to flags)" type:"existingfile"`
}

ExternalTransactionsCreateCmd creates a new external transaction.

func (*ExternalTransactionsCreateCmd) Run added in v0.5.3

func (cmd *ExternalTransactionsCreateCmd) Run(globals *Globals) error

Run executes the create external transaction command.

type ExternalTransactionsGetCmd added in v0.5.3

type ExternalTransactionsGetCmd struct {
	ExternalTransactionID string `arg:"" help:"External transaction ID" required:""`
}

ExternalTransactionsGetCmd gets an external transaction by ID.

func (*ExternalTransactionsGetCmd) Run added in v0.5.3

func (cmd *ExternalTransactionsGetCmd) Run(globals *Globals) error

Run executes the get external transaction command.

type ExternalTransactionsRefundCmd added in v0.5.3

type ExternalTransactionsRefundCmd struct {
	ExternalTransactionID string `arg:"" help:"External transaction ID" required:""`
	RefundTime            string `help:"Refund time (RFC3339, default: now)"`
	RefundID              string `help:"Unique refund ID (required for partial refund)"`
	PartialRefund         bool   `help:"Perform partial refund"`
	RefundPriceMicros     string `help:"Refund amount in micros for partial refund"`
	RefundCurrency        string `help:"Refund currency for partial refund (defaults to original)"`
}

ExternalTransactionsRefundCmd refunds or partially refunds an external transaction.

func (*ExternalTransactionsRefundCmd) Run added in v0.5.3

func (cmd *ExternalTransactionsRefundCmd) Run(globals *Globals) error

Run executes the refund external transaction command.

type GamesAchievementsCmd

type GamesAchievementsCmd struct {
	Reset GamesAchievementsResetCmd `cmd:"" help:"Reset achievements"`
}

GamesAchievementsCmd manages game achievements.

type GamesAchievementsResetCmd

type GamesAchievementsResetCmd struct {
	AchievementID string   `arg:"" help:"Achievement ID to reset (uses --all-players to reset all)"`
	AllPlayers    bool     `help:"Reset for all players (requires admin)"`
	IDs           []string `help:"Multiple achievement IDs to reset (comma-separated)"`
}

GamesAchievementsResetCmd resets achievements.

func (*GamesAchievementsResetCmd) Run

func (cmd *GamesAchievementsResetCmd) Run(globals *Globals) error

Run executes the achievements reset command.

type GamesCapabilitiesCmd

type GamesCapabilitiesCmd struct{}

GamesCapabilitiesCmd lists Games management capabilities.

func (*GamesCapabilitiesCmd) Run

func (cmd *GamesCapabilitiesCmd) Run(globals *Globals) error

Run executes the games capabilities command.

type GamesCmd

type GamesCmd struct {
	Achievements GamesAchievementsCmd `cmd:"" help:"Manage game achievements"`
	Scores       GamesScoresCmd       `cmd:"" help:"Manage leaderboard scores"`
	Events       GamesEventsCmd       `cmd:"" help:"Manage game events"`
	Players      GamesPlayersCmd      `cmd:"" help:"Manage player visibility"`
	Capabilities GamesCapabilitiesCmd `cmd:"" help:"List Games management capabilities"`
}

GamesCmd contains Google Play Games services commands.

type GamesEventsCmd

type GamesEventsCmd struct {
	Reset GamesEventsResetCmd `cmd:"" help:"Reset game events"`
}

GamesEventsCmd manages game events.

type GamesEventsResetCmd

type GamesEventsResetCmd struct {
	EventID    string   `arg:"" help:"Event ID to reset (uses --all-players to reset all)"`
	AllPlayers bool     `help:"Reset for all players (requires admin)"`
	IDs        []string `help:"Multiple event IDs to reset (comma-separated)"`
}

GamesEventsResetCmd resets game events.

func (*GamesEventsResetCmd) Run

func (cmd *GamesEventsResetCmd) Run(globals *Globals) error

Run executes the events reset command.

type GamesPlayersCmd

type GamesPlayersCmd struct {
	Hide   GamesPlayersHideCmd   `cmd:"" help:"Hide a player"`
	Unhide GamesPlayersUnhideCmd `cmd:"" help:"Unhide a player"`
}

GamesPlayersCmd manages player visibility.

type GamesPlayersHideCmd

type GamesPlayersHideCmd struct {
	PlayerID      string `arg:"" help:"Player ID to hide"`
	ApplicationID string `help:"Game application ID (required)" required:""`
}

GamesPlayersHideCmd hides a player.

func (*GamesPlayersHideCmd) Run

func (cmd *GamesPlayersHideCmd) Run(globals *Globals) error

Run executes the players hide command.

type GamesPlayersUnhideCmd

type GamesPlayersUnhideCmd struct {
	PlayerID      string `arg:"" help:"Player ID to unhide"`
	ApplicationID string `help:"Game application ID (required)" required:""`
}

GamesPlayersUnhideCmd unhides a player.

func (*GamesPlayersUnhideCmd) Run

func (cmd *GamesPlayersUnhideCmd) Run(globals *Globals) error

Run executes the players unhide command.

type GamesScoresCmd

type GamesScoresCmd struct {
	Reset GamesScoresResetCmd `cmd:"" help:"Reset scores on a leaderboard"`
}

GamesScoresCmd manages leaderboard scores.

type GamesScoresResetCmd

type GamesScoresResetCmd struct {
	LeaderboardID string   `arg:"" help:"Leaderboard ID to reset (uses --all-players to reset all)"`
	AllPlayers    bool     `help:"Reset for all players (requires admin)"`
	IDs           []string `help:"Multiple leaderboard IDs to reset (comma-separated)"`
}

GamesScoresResetCmd resets leaderboard scores.

func (*GamesScoresResetCmd) Run

func (cmd *GamesScoresResetCmd) Run(globals *Globals) error

Run executes the scores reset command.

type GeneratedApksCmd added in v0.5.3

type GeneratedApksCmd struct {
	List     GeneratedApksListCmd     `cmd:"" help:"List generated APK variants for a bundle"`
	Download GeneratedApksDownloadCmd `cmd:"" help:"Download a generated APK"`
}

GeneratedApksCmd contains generated APKs management commands.

type GeneratedApksDownloadCmd added in v0.5.3

type GeneratedApksDownloadCmd struct {
	VersionCode        int64  `help:"Version code of the app bundle" required:""`
	DownloadID         string `help:"Download ID from generatedapks.list" required:""`
	OutputFile         string `help:"Output file path (default: {downloadId}.apk in current directory)" name:"output-file"`
	DeviceTierConfigID string `help:"Device tier config ID (optional)"`
}

GeneratedApksDownloadCmd downloads a generated APK.

func (*GeneratedApksDownloadCmd) Run added in v0.5.3

func (cmd *GeneratedApksDownloadCmd) Run(globals *Globals) error

Run executes the download command.

type GeneratedApksListCmd added in v0.5.3

type GeneratedApksListCmd struct {
	VersionCode        int64  `help:"Version code of the app bundle" required:""`
	DeviceTierConfigID string `help:"Device tier config ID (optional)"`
}

GeneratedApksListCmd lists generated APK variants for a bundle.

func (*GeneratedApksListCmd) Run added in v0.5.3

func (cmd *GeneratedApksListCmd) Run(globals *Globals) error

Run executes the list command.

type GitHubRelease added in v0.5.2

type GitHubRelease struct {
	TagName     string    `json:"tag_name"`
	Name        string    `json:"name"`
	PublishedAt time.Time `json:"published_at"`
	HTMLURL     string    `json:"html_url"`
	Body        string    `json:"body"`
	Prerelease  bool      `json:"prerelease"`
	Draft       bool      `json:"draft"`
}

GitHubRelease represents the release information from GitHub API

type Globals

type Globals struct {
	Package     string        `help:"App package name" short:"p"`
	Output      string        `help:"Output format: json, table, markdown, csv, excel" default:"json" enum:"json,table,markdown,csv,excel"`
	Pretty      bool          `help:"Pretty print JSON output"`
	Timeout     time.Duration `help:"Network timeout" default:"30s"`
	StoreTokens string        `help:"Token storage: auto, never, secure" default:"auto" enum:"auto,never,secure"`
	Fields      string        `help:"JSON field projection (comma-separated paths)"`
	Quiet       bool          `help:"Suppress non-error output"`
	Verbose     bool          `help:"Enable verbose logging" short:"v"`
	KeyPath     string        `help:"Path to service account key file"`
	Profile     string        `help:"Configuration profile to use"`
	CacheDir    string        `help:"Cache directory for temporary data" env:"GPD_CACHE_DIR"`

	// Context is set by RunKongCLI and propagated to commands
	Context context.Context `kong:"-"`

	// Cache is initialized by RunKongCLI
	Cache *cache.Cache `kong:"-"`
}

Globals contains all global flags shared across all commands.

type GroupingCmd

type GroupingCmd struct{}

GroupingCmd contains app access grouping commands.

type HealthCmd added in v0.5.2

type HealthCmd struct {
	CheckAPI    bool `help:"Check API connectivity"`
	CheckAuth   bool `help:"Check authentication status"`
	CheckConfig bool `help:"Check configuration validity"`
}

HealthCmd checks system health and dependencies.

func (*HealthCmd) Run added in v0.5.2

func (cmd *HealthCmd) Run(globals *Globals) error

Run executes the health check command.

type IntegrityCmd

type IntegrityCmd struct {
	Decode IntegrityDecodeCmd `cmd:"" help:"Decode integrity token"`
}

IntegrityCmd contains Play Integrity API commands.

type IntegrityDecodeCmd

type IntegrityDecodeCmd struct {
	Token  string `arg:"" help:"Integrity token to decode" required:""`
	Verify bool   `help:"Verify token signature"`
}

IntegrityDecodeCmd decodes an integrity token.

func (*IntegrityDecodeCmd) Run

func (cmd *IntegrityDecodeCmd) Run(globals *Globals) error

Run executes the integrity decode command.

type KongCLI

type KongCLI struct {
	Globals

	// Top-level commands
	Auth          AuthCmd          `cmd:"" help:"Authentication commands"`
	Config        ConfigCmd        `cmd:"" help:"Configuration commands"`
	Publish       PublishCmd       `cmd:"" help:"Publishing commands"`
	Reviews       ReviewsCmd       `cmd:"" help:"Review management commands"`
	Vitals        VitalsCmd        `cmd:"" help:"Android vitals commands"`
	Monitor       MonitorCmd       `cmd:"" help:"Monitoring and alerting commands"`
	Analytics     AnalyticsCmd     `cmd:"" help:"Analytics commands"`
	Purchases     PurchasesCmd     `cmd:"" help:"Purchase verification commands"`
	Monetization  MonetizationCmd  `cmd:"" help:"Monetization commands"`
	Permissions   PermissionsCmd   `cmd:"" help:"Permissions management"`
	Recovery      RecoveryCmd      `cmd:"" help:"App recovery commands"`
	Apps          AppsCmd          `cmd:"" help:"App discovery commands"`
	Games         GamesCmd         `cmd:"" help:"Google Play Games services"`
	Integrity     IntegrityCmd     `cmd:"" help:"Play Integrity API commands"`
	Migrate       MigrateCmd       `cmd:"" help:"Migration commands"`
	CustomApp     CustomAppCmd     `cmd:"" help:"Custom app publishing" aliases:"customapp"`
	GeneratedApks GeneratedApksCmd `cmd:"" help:"Generated APKs management"`
	SystemApks    SystemApksCmd    `cmd:"" help:"System APKs management"`
	Grouping      GroupingCmd      `cmd:"" help:"App access grouping"`
	Version       VersionCmd       `cmd:"" help:"Show version information"`
	CheckUpdate   UpdateCheckCmd   `cmd:"" name:"check-update" help:"Check for available updates"`
	Completion    CompletionCmd    `cmd:"" help:"Generate shell completion scripts"`
	Maintenance   MaintenanceCmd   `cmd:"" help:"System maintenance and monitoring commands"`

	// New advanced commands
	Bulk        BulkCmd        `cmd:"" help:"Batch operations for uploads and updates"`
	Compare     CompareCmd     `cmd:"" help:"Compare metrics across multiple apps"`
	ReleaseMgmt ReleaseMgmtCmd `cmd:"" name:"release-mgmt" help:"Advanced release management"`
	Testing     TestingCmd     `cmd:"" help:"Testing and QA tools"`
	Automation  AutomationCmd  `cmd:"" help:"CI/CD release automation"`
	Workflow    WorkflowCmd    `cmd:"" help:"Declarative workflow execution"`

	// Extension commands
	Extension ExtensionCmd `cmd:"" help:"Manage CLI extensions"`
}

KongCLI represents the complete Kong CLI structure.

type MaintenanceCmd added in v0.5.2

type MaintenanceCmd struct {
	Drift       DriftCmd       `cmd:"" help:"Detect API drift between discovery and client library"`
	MultiDrift  MultiDriftCmd  `cmd:"" help:"Monitor drift across multiple Google APIs"`
	Health      HealthCmd      `cmd:"" help:"Check system health and dependencies"`
	UpdateCheck UpdateCheckCmd `cmd:"" name:"update-check" help:"Check for CLI updates"`
}

MaintenanceCmd groups all system maintenance and monitoring commands.

type MigrateCmd

type MigrateCmd struct{}

MigrateCmd contains migration commands.

type MonetizationBasePlansActivateCmd

type MonetizationBasePlansActivateCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
}

MonetizationBasePlansActivateCmd activates a base plan.

func (*MonetizationBasePlansActivateCmd) Run

func (cmd *MonetizationBasePlansActivateCmd) Run(globals *Globals) error

Run executes the activate base plan command.

type MonetizationBasePlansBatchMigrateCmd

type MonetizationBasePlansBatchMigrateCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	File           string `help:"Batch migrate JSON file" required:"" type:"existingfile"`
}

MonetizationBasePlansBatchMigrateCmd batch migrates base plan prices.

func (*MonetizationBasePlansBatchMigrateCmd) Run

Run executes the batch migrate prices command.

type MonetizationBasePlansBatchUpdateStatesCmd

type MonetizationBasePlansBatchUpdateStatesCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	File           string `help:"Batch update JSON file" required:"" type:"existingfile"`
}

MonetizationBasePlansBatchUpdateStatesCmd batch updates base plan states.

func (*MonetizationBasePlansBatchUpdateStatesCmd) Run

Run executes the batch update states command.

type MonetizationBasePlansCmd

type MonetizationBasePlansCmd struct {
	Activate          MonetizationBasePlansActivateCmd          `cmd:"" help:"Activate a base plan"`
	Deactivate        MonetizationBasePlansDeactivateCmd        `cmd:"" help:"Deactivate a base plan"`
	Delete            MonetizationBasePlansDeleteCmd            `cmd:"" help:"Delete a base plan"`
	MigratePrices     MonetizationBasePlansMigratePricesCmd     `cmd:"" help:"Migrate base plan prices"`
	BatchMigrate      MonetizationBasePlansBatchMigrateCmd      `cmd:"" help:"Batch migrate base plan prices"`
	BatchUpdateStates MonetizationBasePlansBatchUpdateStatesCmd `cmd:"" help:"Batch update base plan states"`
}

MonetizationBasePlansCmd contains base plan management commands.

type MonetizationBasePlansDeactivateCmd

type MonetizationBasePlansDeactivateCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
}

MonetizationBasePlansDeactivateCmd deactivates a base plan.

func (*MonetizationBasePlansDeactivateCmd) Run

Run executes the deactivate base plan command.

type MonetizationBasePlansDeleteCmd

type MonetizationBasePlansDeleteCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	Confirm        bool   `help:"Confirm destructive operation" required:""`
}

MonetizationBasePlansDeleteCmd deletes a base plan.

func (*MonetizationBasePlansDeleteCmd) Run

func (cmd *MonetizationBasePlansDeleteCmd) Run(globals *Globals) error

Run executes the delete base plan command.

type MonetizationBasePlansMigratePricesCmd

type MonetizationBasePlansMigratePricesCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	RegionCode     string `help:"Region code" required:""`
	PriceMicros    int64  `help:"Price in micros" required:""`
}

MonetizationBasePlansMigratePricesCmd migrates base plan prices.

func (*MonetizationBasePlansMigratePricesCmd) Run

Run executes the migrate prices command.

type MonetizationCapabilitiesCmd

type MonetizationCapabilitiesCmd struct{}

MonetizationCapabilitiesCmd lists monetization capabilities.

func (*MonetizationCapabilitiesCmd) Run

func (cmd *MonetizationCapabilitiesCmd) Run(globals *Globals) error

Run executes the capabilities command.

type MonetizationCmd

type MonetizationCmd struct {
	Products        MonetizationProductsCmd        `cmd:"" help:"Manage products"`
	Subscriptions   MonetizationSubscriptionsCmd   `cmd:"" help:"Manage subscriptions"`
	OneTimeProducts MonetizationOneTimeProductsCmd `cmd:"" help:"Manage one-time products"`
	BasePlans       MonetizationBasePlansCmd       `cmd:"" help:"Manage base plans"`
	Offers          MonetizationOffersCmd          `cmd:"" help:"Manage offers"`
	Capabilities    MonetizationCapabilitiesCmd    `cmd:"" help:"List monetization capabilities"`
}

MonetizationCmd contains monetization commands.

type MonetizationOffersActivateCmd

type MonetizationOffersActivateCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	OfferID        string `arg:"" help:"Offer ID" required:""`
}

MonetizationOffersActivateCmd activates an offer.

func (*MonetizationOffersActivateCmd) Run

func (cmd *MonetizationOffersActivateCmd) Run(globals *Globals) error

Run executes the activate offer command.

type MonetizationOffersBatchGetCmd

type MonetizationOffersBatchGetCmd struct {
	SubscriptionID string   `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string   `arg:"" help:"Base plan ID" required:""`
	OfferIDs       []string `help:"Offer IDs" required:""`
}

MonetizationOffersBatchGetCmd batch gets offers.

func (*MonetizationOffersBatchGetCmd) Run

func (cmd *MonetizationOffersBatchGetCmd) Run(globals *Globals) error

Run executes the batch get offers command.

type MonetizationOffersBatchUpdateCmd

type MonetizationOffersBatchUpdateCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	File           string `help:"Batch update JSON file" required:"" type:"existingfile"`
}

MonetizationOffersBatchUpdateCmd batch updates offers.

func (*MonetizationOffersBatchUpdateCmd) Run

func (cmd *MonetizationOffersBatchUpdateCmd) Run(globals *Globals) error

Run executes the batch update offers command.

type MonetizationOffersBatchUpdateStatesCmd

type MonetizationOffersBatchUpdateStatesCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	File           string `help:"Batch update states JSON file" required:"" type:"existingfile"`
}

MonetizationOffersBatchUpdateStatesCmd batch updates offer states.

func (*MonetizationOffersBatchUpdateStatesCmd) Run

Run executes the batch update states command.

type MonetizationOffersCmd

type MonetizationOffersCmd struct {
	Create            MonetizationOffersCreateCmd            `cmd:"" help:"Create an offer"`
	Get               MonetizationOffersGetCmd               `cmd:"" help:"Get an offer"`
	List              MonetizationOffersListCmd              `cmd:"" help:"List offers"`
	Delete            MonetizationOffersDeleteCmd            `cmd:"" help:"Delete an offer"`
	Activate          MonetizationOffersActivateCmd          `cmd:"" help:"Activate an offer"`
	Deactivate        MonetizationOffersDeactivateCmd        `cmd:"" help:"Deactivate an offer"`
	BatchGet          MonetizationOffersBatchGetCmd          `cmd:"" help:"Batch get offers"`
	BatchUpdate       MonetizationOffersBatchUpdateCmd       `cmd:"" help:"Batch update offers"`
	BatchUpdateStates MonetizationOffersBatchUpdateStatesCmd `cmd:"" help:"Batch update offer states"`
}

MonetizationOffersCmd contains offer management commands.

type MonetizationOffersCreateCmd

type MonetizationOffersCreateCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	OfferID        string `help:"Offer ID" required:""`
	File           string `help:"Offer JSON file" required:"" type:"existingfile"`
}

MonetizationOffersCreateCmd creates an offer.

func (*MonetizationOffersCreateCmd) Run

func (cmd *MonetizationOffersCreateCmd) Run(globals *Globals) error

Run executes the create offer command.

type MonetizationOffersDeactivateCmd

type MonetizationOffersDeactivateCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	OfferID        string `arg:"" help:"Offer ID" required:""`
}

MonetizationOffersDeactivateCmd deactivates an offer.

func (*MonetizationOffersDeactivateCmd) Run

func (cmd *MonetizationOffersDeactivateCmd) Run(globals *Globals) error

Run executes the deactivate offer command.

type MonetizationOffersDeleteCmd

type MonetizationOffersDeleteCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	OfferID        string `arg:"" help:"Offer ID" required:""`
	Confirm        bool   `help:"Confirm destructive operation" required:""`
}

MonetizationOffersDeleteCmd deletes an offer.

func (*MonetizationOffersDeleteCmd) Run

func (cmd *MonetizationOffersDeleteCmd) Run(globals *Globals) error

Run executes the delete offer command.

type MonetizationOffersGetCmd

type MonetizationOffersGetCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	OfferID        string `arg:"" help:"Offer ID" required:""`
}

MonetizationOffersGetCmd gets an offer.

func (*MonetizationOffersGetCmd) Run

func (cmd *MonetizationOffersGetCmd) Run(globals *Globals) error

Run executes the get offer command.

type MonetizationOffersListCmd

type MonetizationOffersListCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	BasePlanID     string `arg:"" help:"Base plan ID" required:""`
	PageSize       int64  `help:"Results per page" default:"100"`
	PageToken      string `help:"Pagination token"`
	All            bool   `help:"Fetch all pages"`
}

MonetizationOffersListCmd lists offers.

func (*MonetizationOffersListCmd) Run

func (cmd *MonetizationOffersListCmd) Run(globals *Globals) error

Run executes the list offers command.

type MonetizationOneTimeProductsBatchGetCmd added in v0.5.2

type MonetizationOneTimeProductsBatchGetCmd struct {
	IDs []string `help:"Product IDs" required:""`
}

MonetizationOneTimeProductsBatchGetCmd batch gets one-time products.

func (*MonetizationOneTimeProductsBatchGetCmd) Run added in v0.5.2

Run executes the batch get one-time products command.

type MonetizationOneTimeProductsBatchUpdateCmd added in v0.5.2

type MonetizationOneTimeProductsBatchUpdateCmd struct {
	File string `help:"Batch update JSON file" required:"" type:"existingfile"`
}

MonetizationOneTimeProductsBatchUpdateCmd batch updates one-time products.

func (*MonetizationOneTimeProductsBatchUpdateCmd) Run added in v0.5.2

Run executes the batch update one-time products command.

type MonetizationOneTimeProductsCmd added in v0.5.2

type MonetizationOneTimeProductsCmd struct {
	List        MonetizationOneTimeProductsListCmd        `cmd:"" help:"List one-time products"`
	Get         MonetizationOneTimeProductsGetCmd         `cmd:"" help:"Get a one-time product"`
	Create      MonetizationOneTimeProductsCreateCmd      `cmd:"" help:"Create a one-time product"`
	Update      MonetizationOneTimeProductsUpdateCmd      `cmd:"" help:"Update a one-time product"`
	Delete      MonetizationOneTimeProductsDeleteCmd      `cmd:"" help:"Delete a one-time product"`
	BatchGet    MonetizationOneTimeProductsBatchGetCmd    `cmd:"" help:"Batch get one-time products"`
	BatchUpdate MonetizationOneTimeProductsBatchUpdateCmd `cmd:"" help:"Batch update one-time products"`
}

MonetizationOneTimeProductsCmd contains one-time product management commands.

type MonetizationOneTimeProductsCreateCmd added in v0.5.2

type MonetizationOneTimeProductsCreateCmd struct {
	ProductID string `help:"Product ID" required:""`
	File      string `help:"One-time product JSON file" required:"" type:"existingfile"`
}

MonetizationOneTimeProductsCreateCmd creates a one-time product.

func (*MonetizationOneTimeProductsCreateCmd) Run added in v0.5.2

Run executes the create one-time product command.

type MonetizationOneTimeProductsDeleteCmd added in v0.5.2

type MonetizationOneTimeProductsDeleteCmd struct {
	ProductID string `arg:"" help:"Product ID" required:""`
}

MonetizationOneTimeProductsDeleteCmd deletes a one-time product.

func (*MonetizationOneTimeProductsDeleteCmd) Run added in v0.5.2

Run executes the delete one-time product command.

type MonetizationOneTimeProductsGetCmd added in v0.5.2

type MonetizationOneTimeProductsGetCmd struct {
	ProductID string `arg:"" help:"Product ID" required:""`
}

MonetizationOneTimeProductsGetCmd gets a one-time product.

func (*MonetizationOneTimeProductsGetCmd) Run added in v0.5.2

func (cmd *MonetizationOneTimeProductsGetCmd) Run(globals *Globals) error

Run executes the get one-time product command.

type MonetizationOneTimeProductsListCmd added in v0.5.2

type MonetizationOneTimeProductsListCmd struct {
	PageSize  int64  `help:"Results per page" default:"100"`
	PageToken string `help:"Pagination token"`
	All       bool   `help:"Fetch all pages"`
}

MonetizationOneTimeProductsListCmd lists one-time products.

func (*MonetizationOneTimeProductsListCmd) Run added in v0.5.2

Run executes the list one-time products command.

type MonetizationOneTimeProductsUpdateCmd added in v0.5.2

type MonetizationOneTimeProductsUpdateCmd struct {
	ProductID string `arg:"" help:"Product ID" required:""`
	File      string `help:"One-time product JSON file" required:"" type:"existingfile"`
}

MonetizationOneTimeProductsUpdateCmd updates a one-time product.

func (*MonetizationOneTimeProductsUpdateCmd) Run added in v0.5.2

Run executes the update one-time product command.

type MonetizationProductsCmd

type MonetizationProductsCmd struct {
	List   MonetizationProductsListCmd   `cmd:"" help:"List in-app products"`
	Get    MonetizationProductsGetCmd    `cmd:"" help:"Get an in-app product"`
	Create MonetizationProductsCreateCmd `cmd:"" help:"Create an in-app product"`
	Update MonetizationProductsUpdateCmd `cmd:"" help:"Update an in-app product"`
	Delete MonetizationProductsDeleteCmd `cmd:"" help:"Delete an in-app product"`
}

MonetizationProductsCmd contains product management commands.

type MonetizationProductsCreateCmd

type MonetizationProductsCreateCmd struct {
	ProductID    string `help:"Product SKU" required:""`
	Type         string `help:"Product type: managed, consumable" default:"managed"`
	DefaultPrice string `help:"Default price in micros (e.g., 990000 for $0.99)"`
	Status       string `help:"Product status: active, inactive" default:"active"`
}

MonetizationProductsCreateCmd creates an in-app product.

func (*MonetizationProductsCreateCmd) Run

func (cmd *MonetizationProductsCreateCmd) Run(globals *Globals) error

Run executes the create product command.

type MonetizationProductsDeleteCmd

type MonetizationProductsDeleteCmd struct {
	ProductID string `arg:"" help:"Product ID (SKU)" required:""`
}

MonetizationProductsDeleteCmd deletes an in-app product.

func (*MonetizationProductsDeleteCmd) Run

func (cmd *MonetizationProductsDeleteCmd) Run(globals *Globals) error

Run executes the delete product command.

type MonetizationProductsGetCmd

type MonetizationProductsGetCmd struct {
	ProductID string `arg:"" help:"Product ID (SKU)" required:""`
}

MonetizationProductsGetCmd gets an in-app product.

func (*MonetizationProductsGetCmd) Run

func (cmd *MonetizationProductsGetCmd) Run(globals *Globals) error

Run executes the get product command.

type MonetizationProductsListCmd

type MonetizationProductsListCmd struct {
	PageSize  int64  `help:"Results per page" default:"100"`
	PageToken string `help:"Pagination token"`
	All       bool   `help:"Fetch all pages"`
}

MonetizationProductsListCmd lists in-app products.

func (*MonetizationProductsListCmd) Run

func (cmd *MonetizationProductsListCmd) Run(globals *Globals) error

Run executes the list products command.

type MonetizationProductsUpdateCmd

type MonetizationProductsUpdateCmd struct {
	ProductID    string `arg:"" help:"Product ID (SKU)" required:""`
	DefaultPrice string `help:"Default price in micros"`
	Status       string `help:"Product status: active, inactive"`
}

MonetizationProductsUpdateCmd updates an in-app product.

func (*MonetizationProductsUpdateCmd) Run

func (cmd *MonetizationProductsUpdateCmd) Run(globals *Globals) error

Run executes the update product command.

type MonetizationSubscriptionsArchiveCmd

type MonetizationSubscriptionsArchiveCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
}

MonetizationSubscriptionsArchiveCmd archives a subscription.

func (*MonetizationSubscriptionsArchiveCmd) Run

Run executes the archive subscription command.

type MonetizationSubscriptionsBatchGetCmd

type MonetizationSubscriptionsBatchGetCmd struct {
	IDs []string `help:"Subscription IDs" required:""`
}

MonetizationSubscriptionsBatchGetCmd batch gets subscriptions.

func (*MonetizationSubscriptionsBatchGetCmd) Run

Run executes the batch get subscriptions command.

type MonetizationSubscriptionsBatchUpdateCmd

type MonetizationSubscriptionsBatchUpdateCmd struct {
	File string `help:"Batch update JSON file" required:"" type:"existingfile"`
}

MonetizationSubscriptionsBatchUpdateCmd batch updates subscriptions.

func (*MonetizationSubscriptionsBatchUpdateCmd) Run

Run executes the batch update subscriptions command.

type MonetizationSubscriptionsCmd

type MonetizationSubscriptionsCmd struct {
	List        MonetizationSubscriptionsListCmd        `cmd:"" help:"List subscription products"`
	Get         MonetizationSubscriptionsGetCmd         `cmd:"" help:"Get a subscription product"`
	Create      MonetizationSubscriptionsCreateCmd      `cmd:"" help:"Create a subscription"`
	Update      MonetizationSubscriptionsUpdateCmd      `cmd:"" help:"Update a subscription"`
	Patch       MonetizationSubscriptionsPatchCmd       `cmd:"" help:"Patch a subscription"`
	Delete      MonetizationSubscriptionsDeleteCmd      `cmd:"" help:"Delete a subscription"`
	Archive     MonetizationSubscriptionsArchiveCmd     `cmd:"" help:"Archive a subscription"`
	BatchGet    MonetizationSubscriptionsBatchGetCmd    `cmd:"" help:"Batch get subscriptions"`
	BatchUpdate MonetizationSubscriptionsBatchUpdateCmd `cmd:"" help:"Batch update subscriptions"`
}

MonetizationSubscriptionsCmd contains subscription management commands.

type MonetizationSubscriptionsCreateCmd

type MonetizationSubscriptionsCreateCmd struct {
	SubscriptionID string `help:"Subscription product ID" required:""`
	File           string `help:"Subscription JSON file" required:"" type:"existingfile"`
}

MonetizationSubscriptionsCreateCmd creates a subscription.

func (*MonetizationSubscriptionsCreateCmd) Run

Run executes the create subscription command.

type MonetizationSubscriptionsDeleteCmd

type MonetizationSubscriptionsDeleteCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	Confirm        bool   `help:"Confirm destructive operation" required:""`
}

MonetizationSubscriptionsDeleteCmd deletes a subscription.

func (*MonetizationSubscriptionsDeleteCmd) Run

Run executes the delete subscription command.

type MonetizationSubscriptionsGetCmd

type MonetizationSubscriptionsGetCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
}

MonetizationSubscriptionsGetCmd gets a subscription product.

func (*MonetizationSubscriptionsGetCmd) Run

func (cmd *MonetizationSubscriptionsGetCmd) Run(globals *Globals) error

Run executes the get subscription command.

type MonetizationSubscriptionsListCmd

type MonetizationSubscriptionsListCmd struct {
	PageSize     int64  `help:"Results per page" default:"100"`
	PageToken    string `help:"Pagination token"`
	All          bool   `help:"Fetch all pages"`
	ShowArchived bool   `help:"Include archived subscriptions"`
}

MonetizationSubscriptionsListCmd lists subscription products.

func (*MonetizationSubscriptionsListCmd) Run

func (cmd *MonetizationSubscriptionsListCmd) Run(globals *Globals) error

Run executes the list subscriptions command.

type MonetizationSubscriptionsPatchCmd

type MonetizationSubscriptionsPatchCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	File           string `help:"Subscription JSON file" required:"" type:"existingfile"`
	UpdateMask     string `help:"Fields to update (comma-separated)"`
	AllowMissing   bool   `help:"Create if missing"`
}

MonetizationSubscriptionsPatchCmd patches a subscription.

func (*MonetizationSubscriptionsPatchCmd) Run

func (cmd *MonetizationSubscriptionsPatchCmd) Run(globals *Globals) error

Run executes the patch subscription command.

type MonetizationSubscriptionsUpdateCmd

type MonetizationSubscriptionsUpdateCmd struct {
	SubscriptionID string `arg:"" help:"Subscription ID" required:""`
	File           string `help:"Subscription JSON file" required:"" type:"existingfile"`
}

MonetizationSubscriptionsUpdateCmd updates a subscription.

func (*MonetizationSubscriptionsUpdateCmd) Run

Run executes the update subscription command.

type MonitorAnomaliesCmd

type MonitorAnomaliesCmd struct {
	Metrics        []string `help:"Metrics to analyze: crashes, anrs, errors, all" default:"all"`
	BaselinePeriod int      `help:"Days of baseline data for comparison" default:"30"`
	Sensitivity    string   `help:"Anomaly sensitivity: low, medium, high" default:"medium" enum:"low,medium,high"`
	Since          string   `help:"Start date for anomaly detection (ISO 8601)"`
	Format         string   `help:"Output format: json, table, html" default:"json" enum:"json,table,html"`
}

MonitorAnomaliesCmd detects statistical anomalies in vitals metrics.

func (*MonitorAnomaliesCmd) Run

func (cmd *MonitorAnomaliesCmd) Run(globals *Globals) error

Run executes the anomalies detection command.

type MonitorCmd

type MonitorCmd struct {
	Watch     MonitorWatchCmd     `cmd:"" help:"Continuous vitals monitoring with threshold alerts"`
	Anomalies MonitorAnomaliesCmd `cmd:"" help:"Detect statistical anomalies in vitals metrics"`
	Dashboard MonitorDashboardCmd `cmd:"" help:"Generate monitoring dashboard data"`
	Report    MonitorReportCmd    `cmd:"" help:"Generate scheduled monitoring reports"`
	Webhooks  MonitorWebhooksCmd  `cmd:"" help:"Manage monitoring webhooks (simulated - no Play API)"`
}

MonitorCmd contains monitoring and alerting commands.

type MonitorDashboardCmd

type MonitorDashboardCmd struct {
	Metrics []string `help:"Metrics to include: crashes, anrs, errors, slow-rendering, slow-start, wakeups, wakelocks, all" default:"all"`
	Period  int      `help:"Days of data to include" default:"7"`
	Format  string   `help:"Output format: json, html, markdown" default:"json" enum:"json,html,markdown"`
}

MonitorDashboardCmd generates monitoring dashboard data.

func (*MonitorDashboardCmd) Run

func (cmd *MonitorDashboardCmd) Run(globals *Globals) error

Run executes the dashboard command.

type MonitorReportCmd

type MonitorReportCmd struct {
	Period         string `help:"Report period: daily, weekly, monthly" default:"daily" enum:"daily,weekly,monthly"`
	Format         string `help:"Output format: json, html, markdown" default:"json" enum:"json,html,markdown"`
	IncludeRawData bool   `help:"Include raw metric data in report"`
}

MonitorReportCmd generates scheduled monitoring reports.

func (*MonitorReportCmd) Run

func (cmd *MonitorReportCmd) Run(globals *Globals) error

Run executes the report command.

type MonitorWatchCmd

type MonitorWatchCmd struct {
	Metrics         []string      `help:"Metrics to monitor: crashes, anrs, errors, all" default:"all"`
	Interval        time.Duration `help:"Poll interval for continuous monitoring" default:"5m"`
	Duration        time.Duration `help:"Total monitoring duration (0 = one-shot)" default:"0"`
	CrashThreshold  float64       `help:"Crash rate threshold for alerting (0-1)" default:"0.01"`
	AnrThreshold    float64       `help:"ANR rate threshold for alerting (0-1)" default:"0.005"`
	ErrorThreshold  float64       `help:"Error count threshold for alerting" default:"100"`
	AlertOnBreaches bool          `help:"Exit with error code when thresholds breached"`
	Format          string        `help:"Output format: json, table, html" default:"json" enum:"json,table,html"`
}

MonitorWatchCmd continuously monitors vitals and alerts on threshold breaches.

func (*MonitorWatchCmd) Run

func (cmd *MonitorWatchCmd) Run(globals *Globals) error

Run executes the watch command.

type MonitorWebhooksCmd

type MonitorWebhooksCmd struct {
	List MonitorWebhooksListCmd `cmd:"" help:"List configured webhooks (simulated)"`
}

MonitorWebhooksCmd contains webhook management commands.

type MonitorWebhooksListCmd

type MonitorWebhooksListCmd struct{}

MonitorWebhooksListCmd lists configured webhooks.

func (*MonitorWebhooksListCmd) Run

func (cmd *MonitorWebhooksListCmd) Run(globals *Globals) error

Run executes the webhooks list command.

type MultiDriftCmd added in v0.5.2

type MultiDriftCmd struct {
	APIs      []string `` /* 167-byte string literal not displayed */
	Format    string   `help:"Output format" enum:"json,table,markdown" default:"table"`
	OutputDir string   `help:"Output directory for reports" default:".artifacts/drift" type:"path"`
}

MultiDriftCmd monitors drift across multiple Google APIs.

func (*MultiDriftCmd) Run added in v0.5.2

func (cmd *MultiDriftCmd) Run(globals *Globals) error

Run executes multi-API drift monitoring.

type OrdersBatchGetCmd added in v0.5.3

type OrdersBatchGetCmd struct {
	OrderIDs []string `arg:"" help:"Order IDs to fetch (comma-separated or multiple)" optional:""`
	FromFile string   `help:"File containing order IDs (one per line)" type:"existingfile"`
	All      bool     `help:"Fetch all pages (if paginated)"`
}

OrdersBatchGetCmd batch gets orders by order IDs.

func (*OrdersBatchGetCmd) Run added in v0.5.3

func (cmd *OrdersBatchGetCmd) Run(globals *Globals) error

Run executes the orders batch get command.

type OrdersCmd added in v0.5.3

type OrdersCmd struct {
	Get      OrdersGetCmd      `cmd:"" help:"Get order details"`
	Refund   OrdersRefundCmd   `cmd:"" help:"Refund an order"`
	BatchGet OrdersBatchGetCmd `cmd:"" name:"batch-get" help:"Batch get orders"`
}

OrdersCmd contains order management commands.

type OrdersGetCmd added in v0.5.3

type OrdersGetCmd struct {
	OrderID string `arg:"" help:"Order ID to fetch" required:""`
}

OrdersGetCmd gets order details by order ID.

func (*OrdersGetCmd) Run added in v0.5.3

func (cmd *OrdersGetCmd) Run(globals *Globals) error

Run executes the orders get command.

type OrdersRefundCmd added in v0.5.3

type OrdersRefundCmd struct {
	OrderID string `arg:"" help:"Order ID to refund" required:""`
	Revoke  bool   `help:"Revoke the purchase (grant refund but cancel the item/subscription)"`
}

OrdersRefundCmd refunds an order.

func (*OrdersRefundCmd) Run added in v0.5.3

func (cmd *OrdersRefundCmd) Run(globals *Globals) error

Run executes the orders refund command.

type PageQuery

type PageQuery[T any, R PageResponse[T]] func(pageToken string) (R, error)

PageQuery is a function that fetches a single page given a page token. It returns the response which must implement PageResponse, or an error.

type PageResponse

type PageResponse[T any] interface {
	GetNextPageToken() string
	GetItems() []T
}

PageResponse is the interface that any paginated API response must implement.

type PermissionsCmd

type PermissionsCmd struct {
	Users  PermissionsUsersCmd  `cmd:"" help:"Manage users"`
	Grants PermissionsGrantsCmd `cmd:"" help:"Manage grants"`
	List   PermissionsListCmd   `cmd:"" help:"List permissions"`
}

PermissionsCmd contains permissions management commands.

type PermissionsGrantsAddCmd

type PermissionsGrantsAddCmd struct {
	Email  string `help:"User email address" required:""`
	Grant  string `help:"Permission grant" required:""`
	Expiry string `help:"Grant expiry date (YYYY-MM-DD)"`
}

PermissionsGrantsAddCmd adds a grant.

func (*PermissionsGrantsAddCmd) Run

func (cmd *PermissionsGrantsAddCmd) Run(globals *Globals) error

Run executes the grants add command.

type PermissionsGrantsCmd

type PermissionsGrantsCmd struct {
	Add    PermissionsGrantsAddCmd    `cmd:"" help:"Add a grant"`
	Remove PermissionsGrantsRemoveCmd `cmd:"" help:"Remove a grant"`
	List   PermissionsGrantsListCmd   `cmd:"" help:"List grants"`
}

PermissionsGrantsCmd manages grants.

type PermissionsGrantsListCmd

type PermissionsGrantsListCmd struct {
	Email string `help:"Filter by user email"`
}

PermissionsGrantsListCmd lists grants.

func (*PermissionsGrantsListCmd) Run

func (cmd *PermissionsGrantsListCmd) Run(globals *Globals) error

Run executes the grants list command.

type PermissionsGrantsRemoveCmd

type PermissionsGrantsRemoveCmd struct {
	Email string `help:"User email address" required:""`
	Grant string `help:"Permission grant" required:""`
}

PermissionsGrantsRemoveCmd removes a grant.

func (*PermissionsGrantsRemoveCmd) Run

func (cmd *PermissionsGrantsRemoveCmd) Run(globals *Globals) error

Run executes the grants remove command.

type PermissionsListCmd

type PermissionsListCmd struct{}

PermissionsListCmd lists permissions.

func (*PermissionsListCmd) Run

func (cmd *PermissionsListCmd) Run(globals *Globals) error

Run executes the permissions list command.

type PermissionsUsersAddCmd

type PermissionsUsersAddCmd struct {
	Email string `help:"User email address" required:""`
	Role  string `help:"User role" required:"" enum:"admin,developer,viewer"`
}

PermissionsUsersAddCmd adds a user.

func (*PermissionsUsersAddCmd) Run

func (cmd *PermissionsUsersAddCmd) Run(globals *Globals) error

Run executes the users add command.

type PermissionsUsersCmd

type PermissionsUsersCmd struct {
	Add    PermissionsUsersAddCmd    `cmd:"" help:"Add a user"`
	Remove PermissionsUsersRemoveCmd `cmd:"" help:"Remove a user"`
	List   PermissionsUsersListCmd   `cmd:"" help:"List users"`
}

PermissionsUsersCmd manages users.

type PermissionsUsersListCmd

type PermissionsUsersListCmd struct{}

PermissionsUsersListCmd lists users.

func (*PermissionsUsersListCmd) Run

func (cmd *PermissionsUsersListCmd) Run(globals *Globals) error

Run executes the users list command.

type PermissionsUsersRemoveCmd

type PermissionsUsersRemoveCmd struct {
	Email string `help:"User email address" required:""`
}

PermissionsUsersRemoveCmd removes a user.

func (*PermissionsUsersRemoveCmd) Run

func (cmd *PermissionsUsersRemoveCmd) Run(globals *Globals) error

Run executes the users remove command.

type ProgressBar

type ProgressBar struct {
	// contains filtered or unexported fields
}

ProgressBar is a console progress bar for file uploads and long operations.

func NewProgressBar

func NewProgressBar(quiet bool) *ProgressBar

NewProgressBar creates a new progress bar. Set quiet to true to suppress output (respects --quiet flag).

func (*ProgressBar) Callback

func (p *ProgressBar) Callback() ProgressCallback

Callback returns a ProgressCallback function that updates this bar.

func (*ProgressBar) Finish

func (p *ProgressBar) Finish()

Finish completes the progress bar.

func (*ProgressBar) Start

func (p *ProgressBar) Start(totalBytes int64)

Start begins tracking progress for a transfer of totalBytes.

func (*ProgressBar) Update

func (p *ProgressBar) Update(transferred int64)

Update updates the progress with bytes transferred.

type ProgressCallback

type ProgressCallback func(transferred, total int64, speed float64)

ProgressCallback is called during file uploads to report progress.

type ProgressReader

type ProgressReader struct {
	// contains filtered or unexported fields
}

ProgressReader wraps an io.Reader to report progress.

func NewProgressReader

func NewProgressReader(r io.Reader, total int64, bar *ProgressBar) *ProgressReader

NewProgressReader creates a reader that reports progress.

func (*ProgressReader) Read

func (pr *ProgressReader) Read(p []byte) (n int, err error)

Read implements io.Reader and updates progress.

type PublishAssetsCmd

type PublishAssetsCmd struct {
	Upload PublishAssetsUploadCmd `cmd:"" help:"Upload assets from directory"`
	Spec   PublishAssetsSpecCmd   `cmd:"" help:"Output asset validation matrix"`
}

PublishAssetsCmd manages store assets.

type PublishAssetsSpecCmd

type PublishAssetsSpecCmd struct{}

PublishAssetsSpecCmd outputs asset validation matrix.

func (*PublishAssetsSpecCmd) Run

func (cmd *PublishAssetsSpecCmd) Run(globals *Globals) error

Run executes the assets spec command.

type PublishAssetsUploadCmd

type PublishAssetsUploadCmd struct {
	Dir          string `arg:"" help:"Assets directory" default:"assets"`
	Category     string `help:"Category to replace (phone, tablet, tv, wear)"`
	ReplaceAll   bool   `help:"Replace all existing assets"`
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishAssetsUploadCmd uploads assets from directory.

func (*PublishAssetsUploadCmd) Run

func (cmd *PublishAssetsUploadCmd) Run(globals *Globals) error

Run executes the assets upload command.

type PublishBetaGroupsAddTestersCmd

type PublishBetaGroupsAddTestersCmd struct {
	Group        string   `arg:"" help:"Beta group (track) name: internal, alpha, or beta"`
	Groups       []string `help:"Google Group email addresses to add"`
	EditID       string   `help:"Explicit edit transaction ID"`
	NoAutoCommit bool     `help:"Keep edit open for manual commit"`
	DryRun       bool     `help:"Show intended actions without executing"`
}

PublishBetaGroupsAddTestersCmd adds tester Google Groups to a beta group.

func (*PublishBetaGroupsAddTestersCmd) Run

func (cmd *PublishBetaGroupsAddTestersCmd) Run(globals *Globals) error

Run executes the beta-groups add-testers command.

type PublishBetaGroupsCmd

type PublishBetaGroupsCmd struct {
	List          PublishBetaGroupsListCmd          `cmd:"" help:"List beta groups"`
	Get           PublishBetaGroupsGetCmd           `cmd:"" help:"Get beta group details"`
	Create        PublishBetaGroupsCreateCmd        `cmd:"" help:"Create beta group"`
	Update        PublishBetaGroupsUpdateCmd        `cmd:"" help:"Update beta group testers"`
	Delete        PublishBetaGroupsDeleteCmd        `cmd:"" help:"Delete beta group"`
	AddTesters    PublishBetaGroupsAddTestersCmd    `cmd:"" help:"Add tester Google Groups to a beta group"`
	RemoveTesters PublishBetaGroupsRemoveTestersCmd `cmd:"" help:"Remove tester Google Groups from a beta group"`
}

PublishBetaGroupsCmd manages beta groups (ASC compatibility).

type PublishBetaGroupsCreateCmd

type PublishBetaGroupsCreateCmd struct {
	Group        string   `arg:"" help:"Beta group (track) name: internal, alpha, or beta"`
	Groups       []string `help:"Google Group email addresses"`
	EditID       string   `help:"Explicit edit transaction ID"`
	NoAutoCommit bool     `help:"Keep edit open for manual commit"`
	DryRun       bool     `help:"Show intended actions without executing"`
}

PublishBetaGroupsCreateCmd creates a beta group.

func (*PublishBetaGroupsCreateCmd) Run

func (cmd *PublishBetaGroupsCreateCmd) Run(globals *Globals) error

Run executes the beta-groups create command.

type PublishBetaGroupsDeleteCmd

type PublishBetaGroupsDeleteCmd struct {
	Group string `arg:"" help:"Beta group (track) name: internal, alpha, or beta"`
}

PublishBetaGroupsDeleteCmd deletes a beta group.

func (*PublishBetaGroupsDeleteCmd) Run

func (cmd *PublishBetaGroupsDeleteCmd) Run(globals *Globals) error

Run executes the beta-groups delete command.

type PublishBetaGroupsGetCmd

type PublishBetaGroupsGetCmd struct {
	Group string `arg:"" help:"Beta group (track) name: internal, alpha, or beta"`
}

PublishBetaGroupsGetCmd gets beta group details.

func (*PublishBetaGroupsGetCmd) Run

func (cmd *PublishBetaGroupsGetCmd) Run(globals *Globals) error

Run executes the beta-groups get command.

type PublishBetaGroupsListCmd

type PublishBetaGroupsListCmd struct {
	Track string `help:"Track to list (internal, alpha, beta). Empty lists all supported tracks"`
}

PublishBetaGroupsListCmd lists beta groups.

func (*PublishBetaGroupsListCmd) Run

func (cmd *PublishBetaGroupsListCmd) Run(globals *Globals) error

Run executes the beta-groups list command.

type PublishBetaGroupsRemoveTestersCmd

type PublishBetaGroupsRemoveTestersCmd struct {
	Group        string   `arg:"" help:"Beta group (track) name: internal, alpha, or beta"`
	Groups       []string `help:"Google Group email addresses to remove"`
	EditID       string   `help:"Explicit edit transaction ID"`
	NoAutoCommit bool     `help:"Keep edit open for manual commit"`
	DryRun       bool     `help:"Show intended actions without executing"`
}

PublishBetaGroupsRemoveTestersCmd removes tester Google Groups from a beta group.

func (*PublishBetaGroupsRemoveTestersCmd) Run

func (cmd *PublishBetaGroupsRemoveTestersCmd) Run(globals *Globals) error

Run executes the beta-groups remove-testers command.

type PublishBetaGroupsUpdateCmd

type PublishBetaGroupsUpdateCmd struct {
	Group        string   `arg:"" help:"Beta group (track) name: internal, alpha, or beta"`
	Groups       []string `help:"Google Group email addresses to add"`
	EditID       string   `help:"Explicit edit transaction ID"`
	NoAutoCommit bool     `help:"Keep edit open for manual commit"`
	DryRun       bool     `help:"Show intended actions without executing"`
}

PublishBetaGroupsUpdateCmd updates beta group testers.

func (*PublishBetaGroupsUpdateCmd) Run

func (cmd *PublishBetaGroupsUpdateCmd) Run(globals *Globals) error

Run executes the beta-groups update command.

type PublishBuildsCmd

type PublishBuildsCmd struct {
	List      PublishBuildsListCmd      `cmd:"" help:"List uploaded builds"`
	Get       PublishBuildsGetCmd       `cmd:"" help:"Get build details"`
	Expire    PublishBuildsExpireCmd    `cmd:"" help:"Expire a build from tracks"`
	ExpireAll PublishBuildsExpireAllCmd `cmd:"" help:"Expire all builds from tracks"`
}

PublishBuildsCmd manages uploaded builds.

type PublishBuildsExpireAllCmd

type PublishBuildsExpireAllCmd struct {
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	Confirm      bool   `help:"Confirm destructive operation"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishBuildsExpireAllCmd expires all builds from tracks.

func (*PublishBuildsExpireAllCmd) Run

func (cmd *PublishBuildsExpireAllCmd) Run(globals *Globals) error

Run executes the builds expire-all command.

type PublishBuildsExpireCmd

type PublishBuildsExpireCmd struct {
	VersionCode  int64  `arg:"" help:"Version code to expire"`
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	Confirm      bool   `help:"Confirm destructive operation"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishBuildsExpireCmd expires a build from tracks.

func (*PublishBuildsExpireCmd) Run

func (cmd *PublishBuildsExpireCmd) Run(globals *Globals) error

Run executes the builds expire command.

type PublishBuildsGetCmd

type PublishBuildsGetCmd struct {
	VersionCode int64  `arg:"" help:"Version code to get"`
	Type        string `help:"Build type (apk, bundle, all)" default:"all"`
	EditID      string `help:"Explicit edit transaction ID"`
}

PublishBuildsGetCmd gets build details.

func (*PublishBuildsGetCmd) Run

func (cmd *PublishBuildsGetCmd) Run(globals *Globals) error

Run executes the builds get command.

type PublishBuildsListCmd

type PublishBuildsListCmd struct {
	Type   string `help:"Build type (apk, bundle, all)" default:"all"`
	EditID string `help:"Explicit edit transaction ID"`
}

PublishBuildsListCmd lists uploaded builds.

func (*PublishBuildsListCmd) Run

func (cmd *PublishBuildsListCmd) Run(globals *Globals) error

Run executes the builds list command.

type PublishCapabilitiesCmd

type PublishCapabilitiesCmd struct{}

PublishCapabilitiesCmd lists publishing capabilities.

func (*PublishCapabilitiesCmd) Run

func (cmd *PublishCapabilitiesCmd) Run(globals *Globals) error

Run executes the capabilities command.

type PublishCmd

type PublishCmd struct {
	Upload        PublishUploadCmd        `cmd:"" help:"Upload APK or AAB"`
	Release       PublishReleaseCmd       `cmd:"" help:"Create or update a release"`
	Rollout       PublishRolloutCmd       `cmd:"" help:"Update rollout percentage"`
	Promote       PublishPromoteCmd       `cmd:"" help:"Promote a release between tracks"`
	Halt          PublishHaltCmd          `cmd:"" help:"Halt a production rollout"`
	Rollback      PublishRollbackCmd      `cmd:"" help:"Rollback to a previous version"`
	Status        PublishStatusCmd        `cmd:"" help:"Get track status"`
	Tracks        PublishTracksCmd        `cmd:"" help:"List all tracks"`
	Capabilities  PublishCapabilitiesCmd  `cmd:"" help:"List publishing capabilities"`
	Listing       PublishListingCmd       `cmd:"" help:"Manage store listing"`
	Details       PublishDetailsCmd       `cmd:"" help:"Manage app details"`
	Images        PublishImagesCmd        `cmd:"" help:"Manage store images"`
	Assets        PublishAssetsCmd        `cmd:"" help:"Manage store assets"`
	Deobfuscation PublishDeobfuscationCmd `cmd:"" help:"Manage deobfuscation files"`
	Testers       PublishTestersCmd       `cmd:"" help:"Manage testers"`
	Builds        PublishBuildsCmd        `cmd:"" help:"Manage uploaded builds"`
	BetaGroups    PublishBetaGroupsCmd    `cmd:"" help:"Beta group management (ASC compatibility)"`
	InternalShare PublishInternalShareCmd `cmd:"" help:"Upload artifacts for internal sharing"`
}

PublishCmd contains publishing commands.

type PublishDeobfuscationCmd

type PublishDeobfuscationCmd struct {
	Upload PublishDeobfuscationUploadCmd `cmd:"" help:"Upload deobfuscation file"`
}

PublishDeobfuscationCmd manages deobfuscation files.

type PublishDeobfuscationUploadCmd

type PublishDeobfuscationUploadCmd struct {
	File         string `arg:"" help:"File to upload" type:"existingfile"`
	Type         string `help:"Deobfuscation file type: proguard or nativeCode" required:"" enum:"proguard,nativeCode"`
	VersionCode  int64  `help:"Version code to associate"`
	EditID       string `help:"Explicit edit transaction ID"`
	ChunkSize    int64  `help:"Upload chunk size in bytes" default:"10485760"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishDeobfuscationUploadCmd uploads deobfuscation file.

func (*PublishDeobfuscationUploadCmd) Run

func (cmd *PublishDeobfuscationUploadCmd) Run(globals *Globals) error

Run executes the deobfuscation upload command.

type PublishDetailsCmd

type PublishDetailsCmd struct {
	Get    PublishDetailsGetCmd    `cmd:"" help:"Get app details"`
	Update PublishDetailsUpdateCmd `cmd:"" help:"Update app details"`
	Patch  PublishDetailsPatchCmd  `cmd:"" help:"Patch app details"`
}

PublishDetailsCmd manages app details.

type PublishDetailsGetCmd

type PublishDetailsGetCmd struct{}

PublishDetailsGetCmd gets app details.

func (*PublishDetailsGetCmd) Run

func (cmd *PublishDetailsGetCmd) Run(globals *Globals) error

Run executes the details get command.

type PublishDetailsPatchCmd

type PublishDetailsPatchCmd struct {
	ContactEmail    string `help:"Contact email"`
	ContactPhone    string `help:"Contact phone"`
	ContactWebsite  string `help:"Contact website"`
	DefaultLanguage string `help:"Default language"`
	UpdateMask      string `help:"Fields to update (comma-separated)"`
	EditID          string `help:"Explicit edit transaction ID"`
	NoAutoCommit    bool   `help:"Keep edit open for manual commit"`
	DryRun          bool   `help:"Show intended actions without executing"`
}

PublishDetailsPatchCmd patches app details.

func (*PublishDetailsPatchCmd) Run

func (cmd *PublishDetailsPatchCmd) Run(globals *Globals) error

Run executes the details patch command.

type PublishDetailsUpdateCmd

type PublishDetailsUpdateCmd struct {
	ContactEmail    string `help:"Contact email"`
	ContactPhone    string `help:"Contact phone"`
	ContactWebsite  string `help:"Contact website"`
	DefaultLanguage string `help:"Default language"`
	EditID          string `help:"Explicit edit transaction ID"`
	NoAutoCommit    bool   `help:"Keep edit open for manual commit"`
	DryRun          bool   `help:"Show intended actions without executing"`
}

PublishDetailsUpdateCmd updates app details.

func (*PublishDetailsUpdateCmd) Run

func (cmd *PublishDetailsUpdateCmd) Run(globals *Globals) error

Run executes the details update command.

type PublishHaltCmd

type PublishHaltCmd struct {
	Track        string `help:"Release track" default:"production" enum:"internal,alpha,beta,production"`
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	Confirm      bool   `help:"Confirm destructive operation"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishHaltCmd halts a production rollout.

func (*PublishHaltCmd) Run

func (cmd *PublishHaltCmd) Run(globals *Globals) error

Run executes the halt command.

type PublishImagesCmd

type PublishImagesCmd struct {
	Upload    PublishImagesUploadCmd    `cmd:"" help:"Upload an image"`
	List      PublishImagesListCmd      `cmd:"" help:"List images"`
	Delete    PublishImagesDeleteCmd    `cmd:"" help:"Delete an image"`
	DeleteAll PublishImagesDeleteAllCmd `cmd:"" help:"Delete all images for type"`
}

PublishImagesCmd manages store images.

type PublishImagesDeleteAllCmd

type PublishImagesDeleteAllCmd struct {
	Type         string `arg:"" help:"Image type"`
	Locale       string `help:"Locale code" default:"en-US"`
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishImagesDeleteAllCmd deletes all images for type.

func (*PublishImagesDeleteAllCmd) Run

func (cmd *PublishImagesDeleteAllCmd) Run(globals *Globals) error

Run executes the images deleteall command.

type PublishImagesDeleteCmd

type PublishImagesDeleteCmd struct {
	Type         string `arg:"" help:"Image type"`
	ID           string `arg:"" help:"Image ID to delete"`
	Locale       string `help:"Locale code" default:"en-US"`
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishImagesDeleteCmd deletes an image.

func (*PublishImagesDeleteCmd) Run

func (cmd *PublishImagesDeleteCmd) Run(globals *Globals) error

Run executes the images delete command.

type PublishImagesListCmd

type PublishImagesListCmd struct {
	Type   string `arg:"" help:"Image type (icon, featureGraphic, phoneScreenshots, etc.)"`
	Locale string `help:"Locale code" default:"en-US"`
	EditID string `help:"Explicit edit transaction ID"`
}

PublishImagesListCmd lists images.

func (*PublishImagesListCmd) Run

func (cmd *PublishImagesListCmd) Run(globals *Globals) error

Run executes the images list command.

type PublishImagesUploadCmd

type PublishImagesUploadCmd struct {
	Type         string `arg:"" help:"Image type (icon, featureGraphic, phoneScreenshots, etc.)"`
	File         string `arg:"" help:"Image file path" type:"existingfile"`
	Locale       string `help:"Locale code" default:"en-US"`
	SyncImages   bool   `help:"Skip upload if identical image already exists"`
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishImagesUploadCmd uploads an image.

func (*PublishImagesUploadCmd) Run

func (cmd *PublishImagesUploadCmd) Run(globals *Globals) error

Run executes the images upload command.

type PublishInternalShareCmd

type PublishInternalShareCmd struct {
	Upload PublishInternalShareUploadCmd `cmd:"" help:"Upload artifact for internal sharing"`
}

PublishInternalShareCmd uploads artifacts for internal sharing.

type PublishInternalShareUploadCmd

type PublishInternalShareUploadCmd struct {
	File   string `arg:"" help:"File to upload (APK or AAB)" type:"existingfile"`
	DryRun bool   `help:"Show intended actions without executing"`
}

PublishInternalShareUploadCmd uploads artifact for internal sharing.

func (*PublishInternalShareUploadCmd) Run

func (cmd *PublishInternalShareUploadCmd) Run(globals *Globals) error

Run executes the internal-share upload command.

type PublishListingCmd

type PublishListingCmd struct {
	Update PublishListingUpdateCmd `cmd:"" help:"Update store listing"`
	Get    PublishListingGetCmd    `cmd:"" help:"Get store listing"`
	Delete PublishListingDeleteCmd `cmd:"" help:"Delete store listing"`
}

PublishListingCmd manages store listing.

type PublishListingDeleteCmd

type PublishListingDeleteCmd struct {
	Locale       string `help:"Locale code (required)"`
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	Confirm      bool   `help:"Confirm destructive operation"`
	DryRun       bool   `help:"Show intended actions without executing"`
	All          bool   `help:"Delete all store listings"`
}

PublishListingDeleteCmd deletes store listing.

func (*PublishListingDeleteCmd) Run

func (cmd *PublishListingDeleteCmd) Run(globals *Globals) error

Run executes the listing delete command.

type PublishListingGetCmd

type PublishListingGetCmd struct {
	Locale string `help:"Locale code (leave empty for all)"`
}

PublishListingGetCmd gets store listing.

func (*PublishListingGetCmd) Run

func (cmd *PublishListingGetCmd) Run(globals *Globals) error

Run executes the listing get command.

type PublishListingUpdateCmd

type PublishListingUpdateCmd struct {
	Locale       string `help:"Locale code" default:"en-US"`
	Title        string `help:"App title"`
	ShortDesc    string `help:"Short description"`
	FullDesc     string `help:"Full description"`
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishListingUpdateCmd updates store listing.

func (*PublishListingUpdateCmd) Run

func (cmd *PublishListingUpdateCmd) Run(globals *Globals) error

Run executes the listing update command.

type PublishPromoteCmd

type PublishPromoteCmd struct {
	FromTrack    string  `help:"Source track"`
	ToTrack      string  `help:"Destination track"`
	Percentage   float64 `help:"Rollout percentage for destination" default:"0"`
	EditID       string  `help:"Explicit edit transaction ID"`
	NoAutoCommit bool    `help:"Keep edit open for manual commit"`
	DryRun       bool    `help:"Show intended actions without executing"`
}

PublishPromoteCmd promotes a release between tracks.

func (*PublishPromoteCmd) Run

func (cmd *PublishPromoteCmd) Run(globals *Globals) error

Run executes the promote command.

type PublishReleaseCmd

type PublishReleaseCmd struct {
	Track                     string   `help:"Release track" default:"internal" enum:"internal,alpha,beta,production"`
	Name                      string   `help:"Release name"`
	Status                    string   `help:"Release status" default:"draft" enum:"draft,completed,halted,inProgress"`
	VersionCodes              []string `help:"Version codes to include (repeatable)"`
	RetainVersionCodes        []string `help:"Version codes to retain (repeatable)"`
	InAppUpdatePriority       int      `help:"In-app update priority (0-5)" default:"-1"`
	ReleaseNotesFile          string   `help:"JSON file with localized release notes" type:"existingfile"`
	EditID                    string   `help:"Explicit edit transaction ID"`
	NoAutoCommit              bool     `help:"Keep edit open for manual commit"`
	InProgressReviewBehaviour string   `` /* 277-byte string literal not displayed */
	DryRun                    bool     `help:"Show intended actions without executing"`
	Wait                      bool     `help:"Wait for release to complete"`
	WaitTimeout               string   `help:"Maximum time to wait" default:"30m"`
}

PublishReleaseCmd creates or updates a release.

func (*PublishReleaseCmd) Run

func (cmd *PublishReleaseCmd) Run(globals *Globals) error

Run executes the release command.

type PublishRollbackCmd

type PublishRollbackCmd struct {
	Track        string `help:"Release track"`
	VersionCode  string `help:"Specific version code to rollback to"`
	EditID       string `help:"Explicit edit transaction ID"`
	NoAutoCommit bool   `help:"Keep edit open for manual commit"`
	Confirm      bool   `help:"Confirm destructive operation"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

PublishRollbackCmd rolls back to a previous version.

func (*PublishRollbackCmd) Run

func (cmd *PublishRollbackCmd) Run(globals *Globals) error

Run executes the rollback command.

type PublishRolloutCmd

type PublishRolloutCmd struct {
	Track        string  `help:"Release track" default:"production" enum:"internal,alpha,beta,production"`
	Percentage   float64 `help:"Rollout percentage (0.01-100.00)"`
	EditID       string  `help:"Explicit edit transaction ID"`
	NoAutoCommit bool    `help:"Keep edit open for manual commit"`
	DryRun       bool    `help:"Show intended actions without executing"`
}

PublishRolloutCmd updates rollout percentage.

func (*PublishRolloutCmd) Run

func (cmd *PublishRolloutCmd) Run(globals *Globals) error

Run executes the rollout command.

type PublishStatusCmd

type PublishStatusCmd struct {
	Track string `help:"Release track (leave empty for all tracks)"`
}

PublishStatusCmd gets track status.

func (*PublishStatusCmd) Run

func (cmd *PublishStatusCmd) Run(globals *Globals) error

Run executes the status command.

type PublishTestersAddCmd

type PublishTestersAddCmd struct {
	Track        string   `help:"Track to add testers to" default:"internal"`
	Groups       []string `help:"Google Group email addresses"`
	EditID       string   `help:"Explicit edit transaction ID"`
	NoAutoCommit bool     `help:"Keep edit open for manual commit"`
	DryRun       bool     `help:"Show intended actions without executing"`
}

PublishTestersAddCmd adds tester groups.

func (*PublishTestersAddCmd) Run

func (cmd *PublishTestersAddCmd) Run(globals *Globals) error

Run executes the testers add command.

type PublishTestersCmd

type PublishTestersCmd struct {
	Add    PublishTestersAddCmd    `cmd:"" help:"Add tester groups"`
	Remove PublishTestersRemoveCmd `cmd:"" help:"Remove tester groups"`
	List   PublishTestersListCmd   `cmd:"" help:"List tester groups"`
	Get    PublishTestersGetCmd    `cmd:"" help:"Get tester groups for a track"`
}

PublishTestersCmd manages testers.

type PublishTestersGetCmd

type PublishTestersGetCmd struct {
	Track string `help:"Track to get testers for (required)"`
}

PublishTestersGetCmd gets tester groups for a track.

func (*PublishTestersGetCmd) Run

func (cmd *PublishTestersGetCmd) Run(globals *Globals) error

Run executes the testers get command.

type PublishTestersListCmd

type PublishTestersListCmd struct {
	Track string `help:"Track to list testers for (empty for all)"`
}

PublishTestersListCmd lists tester groups.

func (*PublishTestersListCmd) Run

func (cmd *PublishTestersListCmd) Run(globals *Globals) error

Run executes the testers list command.

type PublishTestersRemoveCmd

type PublishTestersRemoveCmd struct {
	Track        string   `help:"Track to remove testers from" default:"internal"`
	Groups       []string `help:"Google Group email addresses"`
	EditID       string   `help:"Explicit edit transaction ID"`
	NoAutoCommit bool     `help:"Keep edit open for manual commit"`
	DryRun       bool     `help:"Show intended actions without executing"`
}

PublishTestersRemoveCmd removes tester groups.

func (*PublishTestersRemoveCmd) Run

func (cmd *PublishTestersRemoveCmd) Run(globals *Globals) error

Run executes the testers remove command.

type PublishTracksCmd

type PublishTracksCmd struct{}

PublishTracksCmd lists all tracks.

func (*PublishTracksCmd) Run

func (cmd *PublishTracksCmd) Run(globals *Globals) error

Run executes the tracks command.

type PublishUploadCmd

type PublishUploadCmd struct {
	File                      string `arg:"" help:"File to upload (APK or AAB)" type:"existingfile"`
	Track                     string `help:"Target track" default:"internal" enum:"internal,alpha,beta,production"`
	EditID                    string `help:"Explicit edit transaction ID"`
	ObbMain                   string `help:"Main expansion file path"`
	ObbPatch                  string `help:"Patch expansion file path"`
	ObbMainRefVersion         int64  `help:"Reference version code for main expansion file"`
	ObbPatchRefVersion        int64  `help:"Reference version code for patch expansion file"`
	NoAutoCommit              bool   `help:"Keep edit open for manual commit"`
	InProgressReviewBehaviour string `` /* 277-byte string literal not displayed */
	DryRun                    bool   `help:"Show intended actions without executing"`
}

PublishUploadCmd uploads APK or AAB.

func (*PublishUploadCmd) Run

func (cmd *PublishUploadCmd) Run(globals *Globals) error

Run executes the upload command.

type PurchasesCapabilitiesCmd

type PurchasesCapabilitiesCmd struct{}

PurchasesCapabilitiesCmd lists purchase verification capabilities.

func (*PurchasesCapabilitiesCmd) Run

func (cmd *PurchasesCapabilitiesCmd) Run(globals *Globals) error

Run executes the capabilities command.

type PurchasesCmd

type PurchasesCmd struct {
	Products      PurchasesProductsCmd      `cmd:"" help:"Product purchases"`
	Subscriptions PurchasesSubscriptionsCmd `cmd:"" help:"Subscription purchases"`
	Verify        PurchasesVerifyCmd        `cmd:"" help:"Verify purchase"`
	Voided        PurchasesVoidedCmd        `cmd:"" help:"Voided purchases"`
	Capabilities  PurchasesCapabilitiesCmd  `cmd:"" help:"List purchase verification capabilities"`
}

PurchasesCmd contains purchase verification commands.

type PurchasesProductsAcknowledgeCmd

type PurchasesProductsAcknowledgeCmd struct {
	ProductID        string `help:"Product ID" required:""`
	Token            string `help:"Purchase token" required:""`
	DeveloperPayload string `help:"Developer payload"`
}

PurchasesProductsAcknowledgeCmd acknowledges a product purchase.

func (*PurchasesProductsAcknowledgeCmd) Run

func (cmd *PurchasesProductsAcknowledgeCmd) Run(globals *Globals) error

Run executes the acknowledge command.

type PurchasesProductsCmd

type PurchasesProductsCmd struct {
	Acknowledge PurchasesProductsAcknowledgeCmd `cmd:"" help:"Acknowledge a product purchase"`
	Consume     PurchasesProductsConsumeCmd     `cmd:"" help:"Consume a product purchase"`
}

PurchasesProductsCmd contains product purchase actions.

type PurchasesProductsConsumeCmd

type PurchasesProductsConsumeCmd struct {
	ProductID string `help:"Product ID" required:""`
	Token     string `help:"Purchase token" required:""`
}

PurchasesProductsConsumeCmd consumes a product purchase.

func (*PurchasesProductsConsumeCmd) Run

func (cmd *PurchasesProductsConsumeCmd) Run(globals *Globals) error

Run executes the consume command.

type PurchasesSubscriptionsAcknowledgeCmd

type PurchasesSubscriptionsAcknowledgeCmd struct {
	SubscriptionID   string `help:"Subscription ID" required:""`
	Token            string `help:"Purchase token" required:""`
	DeveloperPayload string `help:"Developer payload"`
}

PurchasesSubscriptionsAcknowledgeCmd acknowledges a subscription purchase.

func (*PurchasesSubscriptionsAcknowledgeCmd) Run

Run executes the acknowledge subscription command.

type PurchasesSubscriptionsCancelCmd

type PurchasesSubscriptionsCancelCmd struct {
	SubscriptionID string `help:"Subscription ID" required:""`
	Token          string `help:"Purchase token" required:""`
}

PurchasesSubscriptionsCancelCmd cancels a subscription.

func (*PurchasesSubscriptionsCancelCmd) Run

func (cmd *PurchasesSubscriptionsCancelCmd) Run(globals *Globals) error

Run executes the cancel subscription command.

type PurchasesSubscriptionsCmd

type PurchasesSubscriptionsCmd struct {
	Acknowledge PurchasesSubscriptionsAcknowledgeCmd `cmd:"" help:"Acknowledge a subscription purchase"`
	Cancel      PurchasesSubscriptionsCancelCmd      `cmd:"" help:"Cancel a subscription"`
	Defer       PurchasesSubscriptionsDeferCmd       `cmd:"" help:"Defer a subscription renewal"`
	Refund      PurchasesSubscriptionsRefundCmd      `cmd:"" help:"Refund a subscription"`
	Revoke      PurchasesSubscriptionsRevokeCmd      `cmd:"" help:"Revoke a subscription"`
}

PurchasesSubscriptionsCmd contains subscription purchase actions.

type PurchasesSubscriptionsDeferCmd

type PurchasesSubscriptionsDeferCmd struct {
	SubscriptionID string `help:"Subscription ID" required:""`
	Token          string `help:"Purchase token" required:""`
	ExpectedExpiry string `help:"Expected expiry time (RFC3339 or millis)" required:""`
	DesiredExpiry  string `help:"Desired expiry time (RFC3339 or millis)" required:""`
}

PurchasesSubscriptionsDeferCmd defers a subscription renewal.

func (*PurchasesSubscriptionsDeferCmd) Run

func (cmd *PurchasesSubscriptionsDeferCmd) Run(globals *Globals) error

Run executes the defer subscription command.

type PurchasesSubscriptionsRefundCmd

type PurchasesSubscriptionsRefundCmd struct {
	SubscriptionID string `help:"Subscription ID" required:""`
	Token          string `help:"Purchase token" required:""`
}

PurchasesSubscriptionsRefundCmd refunds a subscription.

func (*PurchasesSubscriptionsRefundCmd) Run

func (cmd *PurchasesSubscriptionsRefundCmd) Run(globals *Globals) error

Run executes the refund subscription command.

type PurchasesSubscriptionsRevokeCmd

type PurchasesSubscriptionsRevokeCmd struct {
	SubscriptionID string `help:"Subscription ID (v1 API)"`
	Token          string `help:"Purchase token" required:""`
	RevokeType     string `help:"Revoke type for v2: fullRefund, partialRefund, itemBasedRefund"`
}

PurchasesSubscriptionsRevokeCmd revokes a subscription.

func (*PurchasesSubscriptionsRevokeCmd) Run

func (cmd *PurchasesSubscriptionsRevokeCmd) Run(globals *Globals) error

Run executes the revoke subscription command.

type PurchasesSubscriptionsV2CancelCmd added in v0.5.3

type PurchasesSubscriptionsV2CancelCmd struct {
	Token            string `help:"Purchase token" required:""`
	CancellationType string `help:"Cancellation type: userRequestedStopRenewals, developerRequestedStopPayments" required:""`
}

PurchasesSubscriptionsV2CancelCmd cancels a subscription using the v2 API.

func (*PurchasesSubscriptionsV2CancelCmd) Run added in v0.5.3

func (cmd *PurchasesSubscriptionsV2CancelCmd) Run(globals *Globals) error

Run executes the cancel subscriptionsv2 command.

type PurchasesSubscriptionsV2Cmd added in v0.5.3

type PurchasesSubscriptionsV2Cmd struct {
	Get    PurchasesSubscriptionsV2GetCmd    `cmd:"" help:"Get a subscription purchase (v2 API)"`
	Cancel PurchasesSubscriptionsV2CancelCmd `cmd:"" help:"Cancel a subscription (v2 API)"`
	Defer  PurchasesSubscriptionsV2DeferCmd  `cmd:"" help:"Defer a subscription renewal (v2 API)"`
	Revoke PurchasesSubscriptionsV2RevokeCmd `cmd:"" help:"Revoke a subscription with refund (v2 API)"`
}

PurchasesSubscriptionsV2Cmd contains subscriptionsv2 purchase actions.

type PurchasesSubscriptionsV2DeferCmd added in v0.5.3

type PurchasesSubscriptionsV2DeferCmd struct {
	Token         string `help:"Purchase token" required:""`
	DeferDuration string `help:"Deferral duration (e.g., '7d', '1w', '30d')" required:""`
	Etag          string `help:"ETag from subscriptionsv2.get (required for consistency)" required:""`
	ValidateOnly  bool   `help:"Dry run - validate only without applying"`
}

PurchasesSubscriptionsV2DeferCmd defers a subscription renewal using the v2 API.

func (*PurchasesSubscriptionsV2DeferCmd) Run added in v0.5.3

func (cmd *PurchasesSubscriptionsV2DeferCmd) Run(globals *Globals) error

Run executes the defer subscriptionsv2 command.

type PurchasesSubscriptionsV2GetCmd added in v0.5.3

type PurchasesSubscriptionsV2GetCmd struct {
	Token string `help:"Purchase token" required:""`
}

PurchasesSubscriptionsV2GetCmd gets a subscription purchase using the v2 API.

func (*PurchasesSubscriptionsV2GetCmd) Run added in v0.5.3

func (cmd *PurchasesSubscriptionsV2GetCmd) Run(globals *Globals) error

Run executes the get subscriptionsv2 command.

type PurchasesSubscriptionsV2RevokeCmd added in v0.5.3

type PurchasesSubscriptionsV2RevokeCmd struct {
	Token      string `help:"Purchase token" required:""`
	RevokeType string `help:"Revoke type: fullRefund, partialRefund (prorated), itemBasedRefund" required:""`
}

PurchasesSubscriptionsV2RevokeCmd revokes a subscription using the v2 API.

func (*PurchasesSubscriptionsV2RevokeCmd) Run added in v0.5.3

func (cmd *PurchasesSubscriptionsV2RevokeCmd) Run(globals *Globals) error

Run executes the revoke subscriptionsv2 command.

type PurchasesVerifyCmd

type PurchasesVerifyCmd struct {
	ProductID   string `help:"Product ID"`
	Token       string `help:"Purchase token" required:""`
	Environment string `help:"Environment: sandbox, production, auto" default:"auto"`
	Type        string `help:"Product type: product, subscription, auto" default:"auto"`
}

PurchasesVerifyCmd verifies a purchase token.

func (*PurchasesVerifyCmd) Run

func (cmd *PurchasesVerifyCmd) Run(globals *Globals) error

Run executes the verify command.

type PurchasesVoidedCmd

type PurchasesVoidedCmd struct {
	List PurchasesVoidedListCmd `cmd:"" help:"List voided purchases"`
}

PurchasesVoidedCmd contains voided purchase commands.

type PurchasesVoidedListCmd

type PurchasesVoidedListCmd struct {
	StartTime  string `help:"Start time (RFC3339 or millis)"`
	EndTime    string `help:"End time (RFC3339 or millis)"`
	Type       string `help:"Type: product or subscription"`
	MaxResults int64  `help:"Max results per page"`
	PageToken  string `help:"Pagination token"`
	All        bool   `help:"Fetch all pages"`
}

PurchasesVoidedListCmd lists voided purchases.

func (*PurchasesVoidedListCmd) Run

func (cmd *PurchasesVoidedListCmd) Run(globals *Globals) error

Run executes the voided list command.

type RecoveryCancelCmd

type RecoveryCancelCmd struct {
	ID     string `arg:"" help:"Recovery action ID" required:""`
	Reason string `help:"Reason for cancellation"`
}

RecoveryCancelCmd cancels a recovery.

func (*RecoveryCancelCmd) Run

func (cmd *RecoveryCancelCmd) Run(globals *Globals) error

Run executes the recovery cancel command.

type RecoveryCmd

type RecoveryCmd struct {
	List   RecoveryListCmd   `cmd:"" help:"List recovery actions"`
	Create RecoveryCreateCmd `cmd:"" help:"Create recovery action"`
	Deploy RecoveryDeployCmd `cmd:"" help:"Deploy recovery"`
	Cancel RecoveryCancelCmd `cmd:"" help:"Cancel recovery"`
}

RecoveryCmd contains app recovery commands.

type RecoveryCreateCmd

type RecoveryCreateCmd struct {
	Type   string `help:"Recovery type" required:"" enum:"rollback,emergency_update,version_hold"`
	Target string `help:"Target version or track"`
	Reason string `help:"Reason for recovery" required:""`
}

RecoveryCreateCmd creates a recovery action.

func (*RecoveryCreateCmd) Run

func (cmd *RecoveryCreateCmd) Run(globals *Globals) error

Run executes the recovery create command.

type RecoveryDeployCmd

type RecoveryDeployCmd struct {
	ID string `arg:"" help:"Recovery action ID" required:""`
}

RecoveryDeployCmd deploys a recovery.

func (*RecoveryDeployCmd) Run

func (cmd *RecoveryDeployCmd) Run(globals *Globals) error

Run executes the recovery deploy command.

type RecoveryListCmd

type RecoveryListCmd struct {
	Status string `help:"Filter by status: pending,active,completed,cancelled,failed"`
}

RecoveryListCmd lists recovery actions.

func (*RecoveryListCmd) Run

func (cmd *RecoveryListCmd) Run(globals *Globals) error

Run executes the recovery list command.

type ReleaseCalendarCmd

type ReleaseCalendarCmd struct {
	Track      string `help:"Track to show calendar for" default:"all" enum:"internal,alpha,beta,production,all"`
	DaysAhead  int    `help:"Days to look ahead" default:"30"`
	DaysBehind int    `help:"Days to look back" default:"30"`
	Format     string `help:"Output format" default:"table" enum:"json,table,markdown"`
}

ReleaseCalendarCmd shows upcoming and past releases.

func (*ReleaseCalendarCmd) Run

func (cmd *ReleaseCalendarCmd) Run(globals *Globals) error

Run executes the release calendar command.

type ReleaseConflictsCmd

type ReleaseConflictsCmd struct {
	VersionCodes []string `help:"Version codes to check (repeatable)"`
	CheckTrack   string   `help:"Specific track to check" default:"all" enum:"internal,alpha,beta,production,all"`
	SuggestFix   bool     `help:"Suggest fixes for conflicts"`
}

ReleaseConflictsCmd detects version code conflicts.

func (*ReleaseConflictsCmd) Run

func (cmd *ReleaseConflictsCmd) Run(globals *Globals) error

Run executes the release conflicts command.

type ReleaseHistoryCmd

type ReleaseHistoryCmd struct {
	Track         string `help:"Track to show history for" default:"production" enum:"internal,alpha,beta,production"`
	Limit         int    `help:"Maximum releases to show" default:"20"`
	IncludeVitals bool   `help:"Include health metrics for each release"`
	Format        string `help:"Output format" default:"table" enum:"json,table,csv"`
}

ReleaseHistoryCmd shows detailed release history.

func (*ReleaseHistoryCmd) Run

func (cmd *ReleaseHistoryCmd) Run(globals *Globals) error

Run executes the release history command.

type ReleaseMgmtCmd

type ReleaseMgmtCmd struct {
	Calendar  ReleaseCalendarCmd  `cmd:"" help:"Show upcoming and past releases"`
	Conflicts ReleaseConflictsCmd `cmd:"" help:"Detect version code conflicts"`
	Strategy  ReleaseStrategyCmd  `cmd:"" help:"Get rollback/roll-forward recommendations"`
	History   ReleaseHistoryCmd   `cmd:"" help:"Show detailed release history"`
	Notes     ReleaseNotesCmd     `cmd:"" help:"Manage release notes across locales"`
}

ReleaseMgmtCmd contains release management commands.

type ReleaseNotesCmd

type ReleaseNotesCmd struct {
	Action        string   `help:"Action to perform" enum:"get,set,copy,list" required:""`
	Track         string   `help:"Track for the release" default:"production" enum:"internal,alpha,beta,production"`
	VersionCode   string   `help:"Version code for the release"`
	SourceLocale  string   `help:"Source locale (for copy action)" default:"en-US"`
	TargetLocales []string `help:"Target locales (for copy action, repeatable)"`
	File          string   `help:"JSON file with release notes (for set action)" type:"existingfile"`
	Format        string   `help:"Output format" default:"json" enum:"json,table"`
}

ReleaseNotesCmd manages release notes across locales.

func (*ReleaseNotesCmd) Run

func (cmd *ReleaseNotesCmd) Run(globals *Globals) error

Run executes the release notes command.

type ReleaseStrategyCmd

type ReleaseStrategyCmd struct {
	Track           string  `help:"Track to analyze" default:"production" enum:"internal,alpha,beta,production"`
	CurrentVersion  string  `help:"Current release version code"`
	HealthThreshold float64 `help:"Health score threshold (0-1)" default:"0.95"`
	DryRun          bool    `help:"Show strategy without executing"`
}

ReleaseStrategyCmd provides rollback/roll-forward recommendations.

func (*ReleaseStrategyCmd) Run

func (cmd *ReleaseStrategyCmd) Run(globals *Globals) error

Run executes the release strategy command.

type ReviewsCmd

type ReviewsCmd struct {
	List           ReviewsListCmd           `cmd:"" help:"List user reviews"`
	Get            ReviewsGetCmd            `cmd:"" help:"Get a review by ID"`
	Reply          ReviewsReplyCmd          `cmd:"" help:"Reply to a review"`
	ResponseGet    ReviewsResponseGetCmd    `cmd:"" name:"response-get" help:"Get response for a review"`
	ResponseDelete ReviewsResponseDeleteCmd `cmd:"" name:"response-delete" help:"Delete response for a review"`
}

ReviewsCmd contains review management commands.

type ReviewsGetCmd

type ReviewsGetCmd struct {
	ReviewID            string `arg:"" optional:"" help:"Review ID to fetch"`
	IncludeReviewText   bool   `help:"Include review text in output"`
	TranslationLanguage string `help:"Language for translated review"`
}

ReviewsGetCmd gets a single review by ID.

func (*ReviewsGetCmd) Run

func (cmd *ReviewsGetCmd) Run(globals *Globals) error

Run executes the reviews get command.

type ReviewsListCmd

type ReviewsListCmd struct {
	MinRating           int    `help:"Minimum rating filter (1-5)"`
	MaxRating           int    `help:"Maximum rating filter (1-5)"`
	Language            string `help:"Filter by review language"`
	StartDate           string `help:"Start date (ISO 8601)"`
	EndDate             string `help:"End date (ISO 8601)"`
	ScanLimit           int    `help:"Maximum reviews to scan" default:"100"`
	IncludeReviewText   bool   `help:"Include review text in output"`
	TranslationLanguage string `help:"Language for translated reviews"`
	PageSize            int64  `help:"Results per page" default:"50"`
	PageToken           string `help:"Pagination token"`
	All                 bool   `help:"Fetch all pages"`
}

ReviewsListCmd lists user reviews with optional filtering.

func (*ReviewsListCmd) Run

func (cmd *ReviewsListCmd) Run(globals *Globals) error

Run executes the reviews list command.

type ReviewsReplyCmd

type ReviewsReplyCmd struct {
	ReviewID     string `arg:"" optional:"" help:"Review ID to reply to"`
	Text         string `help:"Reply text"`
	TemplateFile string `help:"Template file for reply" type:"existingfile"`
	MaxActions   int    `help:"Maximum replies per execution" default:"10"`
	RateLimit    string `help:"Rate limit between replies" default:"5s"`
	DryRun       bool   `help:"Show intended actions without executing"`
}

ReviewsReplyCmd replies to a review.

func (*ReviewsReplyCmd) Run

func (cmd *ReviewsReplyCmd) Run(globals *Globals) error

Run executes the reviews reply command.

type ReviewsResponseDeleteCmd

type ReviewsResponseDeleteCmd struct {
	ReviewID string `arg:"" optional:"" help:"Review ID to delete response for"`
}

ReviewsResponseDeleteCmd deletes a review response.

func (*ReviewsResponseDeleteCmd) Run

func (cmd *ReviewsResponseDeleteCmd) Run(globals *Globals) error

Run executes the reviews response delete command.

type ReviewsResponseGetCmd

type ReviewsResponseGetCmd struct {
	ReviewID string `arg:"" optional:"" help:"Review ID to fetch response for"`
}

ReviewsResponseGetCmd gets a review response.

func (*ReviewsResponseGetCmd) Run

func (cmd *ReviewsResponseGetCmd) Run(globals *Globals) error

Run executes the reviews response get command.

type SystemApksCmd added in v0.5.3

type SystemApksCmd struct {
	Variants SystemApksVariantsCmd `cmd:"" help:"System APK variants management"`
}

SystemApksCmd contains system APKs management commands.

type SystemApksVariantsCmd added in v0.5.3

type SystemApksVariantsCmd struct {
	List     SystemApksVariantsListCmd     `cmd:"" help:"List system APK variants for a version code"`
	Get      SystemApksVariantsGetCmd      `cmd:"" help:"Get a specific system APK variant"`
	Create   SystemApksVariantsCreateCmd   `cmd:"" help:"Create a system APK variant for a device spec"`
	Download SystemApksVariantsDownloadCmd `cmd:"" help:"Download a system APK variant"`
}

SystemApksVariantsCmd contains system APK variant commands.

type SystemApksVariantsCreateCmd added in v0.5.3

type SystemApksVariantsCreateCmd struct {
	VersionCode  int64  `help:"Version code of the app bundle" required:""`
	DeviceSpec   string `help:"Device specification (JSON or comma-separated: density=480,abis=arm64-v8a,locales=en-US,es-ES)"`
	File         string `help:"Path to JSON file with device specification" type:"existingfile"`
	NoAutoCommit bool   `help:"Keep edit open after operation"`
	DryRun       bool   `help:"Show actions without executing"`
}

SystemApksVariantsCreateCmd creates a system APK variant for a device spec.

func (*SystemApksVariantsCreateCmd) Run added in v0.5.3

func (cmd *SystemApksVariantsCreateCmd) Run(globals *Globals) error

Run executes the create command.

type SystemApksVariantsDownloadCmd added in v0.5.3

type SystemApksVariantsDownloadCmd struct {
	VersionCode int64  `help:"Version code of the app bundle" required:""`
	VariantID   int64  `help:"Variant ID to download" required:""`
	OutputFile  string `help:"Output file path (default: systemapk-{variantId}.apk)" name:"output-file"`
}

SystemApksVariantsDownloadCmd downloads a system APK variant.

func (*SystemApksVariantsDownloadCmd) Run added in v0.5.3

func (cmd *SystemApksVariantsDownloadCmd) Run(globals *Globals) error

Run executes the download command.

type SystemApksVariantsGetCmd added in v0.5.3

type SystemApksVariantsGetCmd struct {
	VersionCode int64 `help:"Version code of the app bundle" required:""`
	VariantId   int64 `help:"Variant ID of the system APK" required:""`
}

SystemApksVariantsGetCmd gets a specific system APK variant.

func (*SystemApksVariantsGetCmd) Run added in v0.5.3

func (cmd *SystemApksVariantsGetCmd) Run(globals *Globals) error

Run executes the get command.

type SystemApksVariantsListCmd added in v0.5.3

type SystemApksVariantsListCmd struct {
	VersionCode int64 `help:"Version code of the app bundle" required:""`
}

SystemApksVariantsListCmd lists system APK variants for a version code.

func (*SystemApksVariantsListCmd) Run added in v0.5.3

func (cmd *SystemApksVariantsListCmd) Run(globals *Globals) error

Run executes the list command.

type TestingCmd

type TestingCmd struct {
	Prelaunch     TestingPrelaunchCmd     `cmd:"" help:"Trigger or check pre-launch report"`
	DeviceLab     TestingDeviceLabCmd     `cmd:"" help:"Run tests on Firebase Test Lab"`
	Screenshots   TestingScreenshotsCmd   `cmd:"" help:"Capture screenshots across devices"`
	Validate      TestingValidateCmd      `cmd:"" help:"Comprehensive app validation"`
	Compatibility TestingCompatibilityCmd `cmd:"" help:"Check device compatibility"`
}

TestingCmd contains testing and QA commands.

type TestingCompatibilityCmd

type TestingCompatibilityCmd struct {
	AppFile       string `help:"App file (APK/AAB)" type:"existingfile" required:""`
	MinSDK        int    `help:"Minimum SDK version check"`
	TargetSDK     int    `help:"Target SDK version check"`
	DeviceCatalog string `help:"Device catalog to check against" default:"play" enum:"play,all"`
	Format        string `help:"Output format" default:"table" enum:"json,table,csv"`
}

TestingCompatibilityCmd checks device compatibility.

func (*TestingCompatibilityCmd) Run

func (cmd *TestingCompatibilityCmd) Run(globals *Globals) error

Run executes the compatibility command.

type TestingDeviceLabCmd

type TestingDeviceLabCmd struct {
	AppFile     string   `help:"App file to test (APK/AAB)" type:"existingfile" required:""`
	TestFile    string   `help:"Test APK file (optional for robo tests)" type:"existingfile"`
	Devices     []string `help:"Device IDs to test on (repeatable)"`
	TestTimeout string   `help:"Test timeout duration" default:"15m"`
	Async       bool     `help:"Don't wait for results"`
	TestType    string   `help:"Test type" default:"robo" enum:"robo,instrumentation"`
}

TestingDeviceLabCmd runs tests on Firebase Test Lab.

func (*TestingDeviceLabCmd) Run

func (cmd *TestingDeviceLabCmd) Run(globals *Globals) error

Run executes the device lab command.

type TestingPrelaunchCmd

type TestingPrelaunchCmd struct {
	Action      string `help:"Action to perform" enum:"trigger,check,wait" default:"check"`
	EditID      string `help:"Edit ID to check"`
	MaxWaitTime string `help:"Maximum time to wait for results" default:"30m"`
	Format      string `help:"Output format" default:"table" enum:"json,table"`
}

TestingPrelaunchCmd triggers or checks pre-launch report.

func (*TestingPrelaunchCmd) Run

func (cmd *TestingPrelaunchCmd) Run(globals *Globals) error

Run executes the pre-launch command.

type TestingScreenshotsCmd

type TestingScreenshotsCmd struct {
	AppFile      string   `help:"App file (APK/AAB)" type:"existingfile" required:""`
	Devices      []string `help:"Device IDs (repeatable)"`
	Orientations []string `help:"Screen orientations" default:"portrait" enum:"portrait,landscape"`
	Locales      []string `help:"Locales to test (repeatable)"`
	OutputDir    string   `help:"Directory to save screenshots" default:"./screenshots"`
	TestLab      bool     `help:"Use Firebase Test Lab for screenshots"`
}

TestingScreenshotsCmd captures screenshots across devices.

func (*TestingScreenshotsCmd) Run

func (cmd *TestingScreenshotsCmd) Run(globals *Globals) error

Run executes the screenshots command.

type TestingValidateCmd

type TestingValidateCmd struct {
	AppFile string   `help:"App file to validate (APK/AAB)" type:"existingfile" required:""`
	Checks  []string `help:"Validation checks to run (repeatable)" default:"all" enum:"all,aab,signing,permissions,size,api-level"`
	Strict  bool     `help:"Treat warnings as errors"`
}

TestingValidateCmd performs comprehensive app validation.

func (*TestingValidateCmd) Run

func (cmd *TestingValidateCmd) Run(globals *Globals) error

Run executes the validate command.

type UpdateCheckCmd added in v0.5.2

type UpdateCheckCmd struct {
	Force  bool   `help:"Force check, bypassing cache" flag:"force"`
	Format string `help:"Output format" enum:"json,table" default:"table"`
}

UpdateCheckCmd handles checking for available updates

func (*UpdateCheckCmd) Run added in v0.5.2

func (c *UpdateCheckCmd) Run(globals *Globals) error

Run executes the update check

type UpdateInfo added in v0.5.2

type UpdateInfo struct {
	CurrentVersion  string `json:"current_version"`
	LatestVersion   string `json:"latest_version"`
	UpdateAvailable bool   `json:"update_available"`
	ReleaseURL      string `json:"release_url"`
	PublishedAt     string `json:"published_at"`
	IsPrerelease    bool   `json:"is_prerelease"`
}

UpdateInfo holds the update check result

type ValidationIssue added in v0.5.7

type ValidationIssue struct {
	Type    string `json:"type"`
	Field   string `json:"field,omitempty"`
	Step    string `json:"step,omitempty"`
	Message string `json:"message"`
}

ValidationIssue represents a single validation issue.

type ValidationResult added in v0.5.7

type ValidationResult struct {
	Valid   bool              `json:"valid"`
	Issues  []ValidationIssue `json:"issues,omitempty"`
	Summary map[string]int    `json:"summary"`
}

ValidationResult represents the complete validation result.

type VersionCmd

type VersionCmd struct{}

VersionCmd shows version information.

func (*VersionCmd) Run

func (cmd *VersionCmd) Run(globals *Globals) error

Run executes the version command.

type VitalsAnomaliesCmd

type VitalsAnomaliesCmd struct {
	List VitalsAnomaliesListCmd `cmd:"" help:"List anomalies"`
}

VitalsAnomaliesCmd contains anomaly commands.

type VitalsAnomaliesListCmd

type VitalsAnomaliesListCmd struct {
	Metric      string `help:"Metric name filter"`
	TimePeriod  string `help:"Time period: last7Days, last30Days, last90Days" default:"last30Days"`
	MinSeverity string `help:"Minimum severity filter"`
	PageSize    int64  `help:"Results per page" default:"20"`
	PageToken   string `help:"Pagination token"`
	All         bool   `help:"Fetch all pages"`
}

VitalsAnomaliesListCmd lists anomalies.

func (*VitalsAnomaliesListCmd) Run

func (cmd *VitalsAnomaliesListCmd) Run(globals *Globals) error

Run executes the anomalies list command.

type VitalsAnrsCmd

type VitalsAnrsCmd struct {
	StartDate  string   `help:"Start date (ISO 8601)"`
	EndDate    string   `help:"End date (ISO 8601)"`
	Dimensions []string `help:"Dimensions for grouping"`
	Format     string   `help:"Output format: json, csv" default:"json"`
	PageSize   int64    `help:"Results per page" default:"100"`
	PageToken  string   `help:"Pagination token"`
	All        bool     `help:"Fetch all pages"`
}

VitalsAnrsCmd queries ANR rate data.

func (*VitalsAnrsCmd) Run

func (cmd *VitalsAnrsCmd) Run(globals *Globals) error

Run executes the anrs command.

type VitalsCapabilitiesCmd

type VitalsCapabilitiesCmd struct{}

VitalsCapabilitiesCmd lists available vitals metrics.

func (*VitalsCapabilitiesCmd) Run

func (cmd *VitalsCapabilitiesCmd) Run(globals *Globals) error

Run executes the capabilities command.

type VitalsCmd

type VitalsCmd struct {
	Crashes      VitalsCrashesCmd      `cmd:"" help:"Query crash rate data"`
	Anrs         VitalsAnrsCmd         `cmd:"" help:"Query ANR rate data"`
	Errors       VitalsErrorsCmd       `cmd:"" help:"Search and report errors"`
	Metrics      VitalsMetricsCmd      `cmd:"" help:"Query performance metrics"`
	Anomalies    VitalsAnomaliesCmd    `cmd:"" help:"Anomalies in vitals metrics"`
	Query        VitalsQueryCmd        `cmd:"" help:"Query vitals metrics"`
	Capabilities VitalsCapabilitiesCmd `cmd:"" help:"List available vitals metrics"`
}

Ensure the KongCLI Vitals field is properly typed

type VitalsCrashesCmd

type VitalsCrashesCmd struct {
	StartDate  string   `help:"Start date (ISO 8601)"`
	EndDate    string   `help:"End date (ISO 8601)"`
	Dimensions []string `help:"Dimensions for grouping"`
	Format     string   `help:"Output format: json, csv" default:"json"`
	PageSize   int64    `help:"Results per page" default:"100"`
	PageToken  string   `help:"Pagination token"`
	All        bool     `help:"Fetch all pages"`
}

VitalsCrashesCmd queries crash rate data.

func (*VitalsCrashesCmd) Run

func (cmd *VitalsCrashesCmd) Run(globals *Globals) error

Run executes the crashes command.

type VitalsErrorsCmd

type VitalsErrorsCmd struct {
	Issues  VitalsErrorsIssuesCmd  `cmd:"" help:"Search error issues"`
	Reports VitalsErrorsReportsCmd `cmd:"" help:"Search error reports"`
	Counts  VitalsErrorsCountsCmd  `cmd:"" help:"Error count metrics"`
}

VitalsErrorsCmd contains error commands.

type VitalsErrorsCountsCmd

type VitalsErrorsCountsCmd struct {
	Get   VitalsErrorsCountsGetCmd   `cmd:"" help:"Get error count metrics"`
	Query VitalsErrorsCountsQueryCmd `cmd:"" help:"Query error counts over time"`
}

VitalsErrorsCountsCmd contains error counts commands.

type VitalsErrorsCountsGetCmd

type VitalsErrorsCountsGetCmd struct{}

VitalsErrorsCountsGetCmd gets error count metrics.

func (*VitalsErrorsCountsGetCmd) Run

func (cmd *VitalsErrorsCountsGetCmd) Run(globals *Globals) error

Run executes the errors counts get command.

type VitalsErrorsCountsQueryCmd

type VitalsErrorsCountsQueryCmd struct {
	StartDate  string   `help:"Start date (ISO 8601)"`
	EndDate    string   `help:"End date (ISO 8601)"`
	Dimensions []string `help:"Dimensions for grouping"`
	PageSize   int64    `help:"Results per page" default:"100"`
	PageToken  string   `help:"Pagination token"`
	All        bool     `help:"Fetch all pages"`
}

VitalsErrorsCountsQueryCmd queries error counts over time.

func (*VitalsErrorsCountsQueryCmd) Run

func (cmd *VitalsErrorsCountsQueryCmd) Run(globals *Globals) error

Run executes the errors counts query command.

type VitalsErrorsIssuesCmd

type VitalsErrorsIssuesCmd struct {
	Query                  string `help:"Search query"`
	Interval               string `help:"Time interval: last7Days, last30Days, last90Days" default:"last30Days"`
	PageSize               int64  `help:"Results per page" default:"50"`
	PageToken              string `help:"Pagination token"`
	All                    bool   `help:"Fetch all pages"`
	SampleErrorReportLimit int64  `help:"Limit for sample error reports per issue"`
}

VitalsErrorsIssuesCmd searches error issues.

func (*VitalsErrorsIssuesCmd) Run

func (cmd *VitalsErrorsIssuesCmd) Run(globals *Globals) error

Run executes the errors issues search command.

type VitalsErrorsReportsCmd

type VitalsErrorsReportsCmd struct {
	Query       string `help:"Search query"`
	Interval    string `help:"Time interval: last7Days, last30Days, last90Days" default:"last30Days"`
	PageSize    int64  `help:"Results per page" default:"50"`
	PageToken   string `help:"Pagination token"`
	All         bool   `help:"Fetch all pages"`
	Deobfuscate bool   `help:"Format report text for readability"`
}

VitalsErrorsReportsCmd searches error reports.

func (*VitalsErrorsReportsCmd) Run

func (cmd *VitalsErrorsReportsCmd) Run(globals *Globals) error

Run executes the errors reports search command.

type VitalsMetricsCmd

type VitalsMetricsCmd struct {
	ExcessiveWakeups VitalsMetricsExcessiveWakeupsCmd `cmd:"" help:"Query excessive wakeups data"`
	SlowRendering    VitalsMetricsSlowRenderingCmd    `cmd:"" help:"Query slow rendering data"`
	SlowStart        VitalsMetricsSlowStartCmd        `cmd:"" help:"Query slow start data"`
	StuckWakelocks   VitalsMetricsStuckWakelocksCmd   `cmd:"" help:"Query stuck wakelocks data"`
}

VitalsMetricsCmd contains performance metrics commands.

type VitalsMetricsExcessiveWakeupsCmd

type VitalsMetricsExcessiveWakeupsCmd struct {
	StartDate  string   `help:"Start date (ISO 8601)"`
	EndDate    string   `help:"End date (ISO 8601)"`
	Dimensions []string `help:"Dimensions for grouping"`
	Format     string   `help:"Output format: json, csv" default:"json"`
	PageSize   int64    `help:"Results per page" default:"100"`
	PageToken  string   `help:"Pagination token"`
	All        bool     `help:"Fetch all pages"`
}

VitalsMetricsExcessiveWakeupsCmd queries excessive wakeups data.

func (*VitalsMetricsExcessiveWakeupsCmd) Run

func (cmd *VitalsMetricsExcessiveWakeupsCmd) Run(globals *Globals) error

Run executes the excessive-wakeups command.

type VitalsMetricsSlowRenderingCmd

type VitalsMetricsSlowRenderingCmd struct {
	StartDate  string   `help:"Start date (ISO 8601)"`
	EndDate    string   `help:"End date (ISO 8601)"`
	Dimensions []string `help:"Dimensions for grouping"`
	Format     string   `help:"Output format: json, csv" default:"json"`
	PageSize   int64    `help:"Results per page" default:"100"`
	PageToken  string   `help:"Pagination token"`
	All        bool     `help:"Fetch all pages"`
}

VitalsMetricsSlowRenderingCmd queries slow rendering data.

func (*VitalsMetricsSlowRenderingCmd) Run

func (cmd *VitalsMetricsSlowRenderingCmd) Run(globals *Globals) error

Run executes the slow-rendering command.

type VitalsMetricsSlowStartCmd

type VitalsMetricsSlowStartCmd struct {
	StartDate  string   `help:"Start date (ISO 8601)"`
	EndDate    string   `help:"End date (ISO 8601)"`
	Dimensions []string `help:"Dimensions for grouping"`
	Format     string   `help:"Output format: json, csv" default:"json"`
	PageSize   int64    `help:"Results per page" default:"100"`
	PageToken  string   `help:"Pagination token"`
	All        bool     `help:"Fetch all pages"`
}

VitalsMetricsSlowStartCmd queries slow start data.

func (*VitalsMetricsSlowStartCmd) Run

func (cmd *VitalsMetricsSlowStartCmd) Run(globals *Globals) error

Run executes the slow-start command.

type VitalsMetricsStuckWakelocksCmd

type VitalsMetricsStuckWakelocksCmd struct {
	StartDate  string   `help:"Start date (ISO 8601)"`
	EndDate    string   `help:"End date (ISO 8601)"`
	Dimensions []string `help:"Dimensions for grouping"`
	Format     string   `help:"Output format: json, csv" default:"json"`
	PageSize   int64    `help:"Results per page" default:"100"`
	PageToken  string   `help:"Pagination token"`
	All        bool     `help:"Fetch all pages"`
}

VitalsMetricsStuckWakelocksCmd queries stuck wakelocks data.

func (*VitalsMetricsStuckWakelocksCmd) Run

func (cmd *VitalsMetricsStuckWakelocksCmd) Run(globals *Globals) error

Run executes the stuck-wakelocks command.

type VitalsQueryCmd

type VitalsQueryCmd struct {
	StartDate  string   `help:"Start date (ISO 8601)"`
	EndDate    string   `help:"End date (ISO 8601)"`
	Metrics    []string `help:"Metrics to retrieve" default:"crashRate"`
	Dimensions []string `help:"Dimensions for grouping"`
	Format     string   `help:"Output format: json, csv" default:"json"`
	PageSize   int64    `help:"Results per page" default:"100"`
	PageToken  string   `help:"Pagination token"`
	All        bool     `help:"Fetch all pages"`
}

VitalsQueryCmd queries vitals metrics.

func (*VitalsQueryCmd) Run

func (cmd *VitalsQueryCmd) Run(globals *Globals) error

Run executes the query command.

type WorkflowCmd added in v0.5.7

type WorkflowCmd struct {
	Run      WorkflowRunCmd      `cmd:"" help:"Execute a workflow from a JSON file"`
	List     WorkflowListCmd     `cmd:"" help:"List available workflows and run history"`
	Show     WorkflowShowCmd     `cmd:"" help:"Show workflow definition and details"`
	Status   WorkflowStatusCmd   `cmd:"" help:"Show status of a workflow run"`
	Init     WorkflowInitCmd     `cmd:"" help:"Create a new workflow from template"`
	Logs     WorkflowLogsCmd     `cmd:"" help:"Show logs from a workflow run step"`
	Validate WorkflowValidateCmd `cmd:"" help:"Validate workflow file for errors"`
}

WorkflowCmd contains declarative workflow commands.

type WorkflowInitCmd added in v0.5.7

type WorkflowInitCmd struct {
	Name       string `arg:"" help:"Workflow name"`
	Template   string `help:"Template to use" enum:"simple,release,cicd,custom" default:"simple"`
	File       string `help:"Output file path (defaults to <name>.json)" type:"path"`
	AppPackage string `help:"App package name for the workflow"`
}

WorkflowInitCmd creates a new workflow from template.

func (*WorkflowInitCmd) Run added in v0.5.7

func (cmd *WorkflowInitCmd) Run(globals *Globals) error

Run creates a new workflow file from template.

type WorkflowListCmd added in v0.5.7

type WorkflowListCmd struct {
	All bool `help:"Include run history"`
}

WorkflowListCmd lists available workflows and run history.

func (*WorkflowListCmd) Run added in v0.5.7

func (cmd *WorkflowListCmd) Run(globals *Globals) error

Run lists workflows.

type WorkflowLogsCmd added in v0.5.7

type WorkflowLogsCmd struct {
	RunID string `arg:"" help:"Run ID"`
	Step  string `arg:"" help:"Step name (omit for all steps)" optional:""`
}

WorkflowLogsCmd shows logs from a workflow run step.

func (*WorkflowLogsCmd) Run added in v0.5.7

func (cmd *WorkflowLogsCmd) Run(globals *Globals) error

Run displays logs from a workflow run.

type WorkflowRunCmd added in v0.5.7

type WorkflowRunCmd struct {
	File        string            `help:"Path to workflow JSON file" required:"" type:"path"`
	Resume      string            `help:"Resume a previous run by ID"`
	DryRun      bool              `help:"Validate workflow without executing"`
	Force       bool              `help:"Re-run completed steps even in resume mode"`
	Watch       bool              `help:"Watch workflow execution with real-time progress updates"`
	WatchFormat string            `help:"Watch mode output format (text, json, tui)" enum:"text,json,tui" default:"text"`
	Env         map[string]string `help:"Environment variables for workflow" placeholder:"KEY=VALUE"`
}

WorkflowRunCmd executes a workflow from a JSON file.

func (*WorkflowRunCmd) Run added in v0.5.7

func (cmd *WorkflowRunCmd) Run(globals *Globals) error

Run executes a workflow.

type WorkflowShowCmd added in v0.5.7

type WorkflowShowCmd struct {
	Workflow string `arg:"" help:"Workflow name or file path"`
}

WorkflowShowCmd shows workflow definition.

func (*WorkflowShowCmd) Run added in v0.5.7

func (cmd *WorkflowShowCmd) Run(globals *Globals) error

Run shows workflow details.

type WorkflowStatusCmd added in v0.5.7

type WorkflowStatusCmd struct {
	RunID string `arg:"" help:"Run ID to check status for"`
}

WorkflowStatusCmd shows workflow run status.

func (*WorkflowStatusCmd) Run added in v0.5.7

func (cmd *WorkflowStatusCmd) Run(globals *Globals) error

Run shows run status.

type WorkflowValidateCmd added in v0.5.7

type WorkflowValidateCmd struct {
	File string `arg:"" help:"Path to workflow JSON file" required:"" type:"path"`
}

WorkflowValidateCmd validates a workflow file.

func (*WorkflowValidateCmd) Run added in v0.5.7

func (cmd *WorkflowValidateCmd) Run(globals *Globals) error

Run validates a workflow file and returns detailed results.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL