Versions in this module Expand all Collapse all v0 v0.10.0 Sep 11, 2026 Changes in this version + var ErrNoRunnerGroups = errors.New(...) + func SettingsURL(owner string, ownerType OwnerType) string type Installation + func GetInstallation(ctx context.Context, client *http.Client, appID int64, privateKeyPEM []byte, ...) (*Installation, error) + func WaitForInstallation(ctx context.Context, client *http.Client, appID int64, privateKeyPEM []byte, ...) (*Installation, error) type OnboardOptions + OwnerType OwnerType + Target Target + type OwnerType string + const OwnerOrganization + const OwnerUser + func ResolveOwnerType(ctx context.Context, client *http.Client, owner string) (OwnerType, error) + type Scope string + const ScopeOrganization + const ScopeRepository + type Target struct + Owner string + Repository string + func OrganizationTarget(org string) Target + func RepositoryTarget(owner, name string) Target + func (t Target) IsZero() bool + func (t Target) Path() string + func (t Target) Scope() Scope + func (t Target) String() string v0.9.3 Sep 6, 2026 v0.9.2 Sep 5, 2026 v0.9.1 Sep 5, 2026 v0.9.0 Sep 5, 2026 v0.8.0 Sep 5, 2026 v0.7.0 Sep 5, 2026 Changes in this version type RunnerGroupPolicyClient + ValidateRunnerGroupReach func(ctx context.Context, groupID int) error v0.6.1 Sep 4, 2026 v0.6.0 Sep 4, 2026 v0.5.0 Sep 3, 2026 Changes in this version + const ManifestTTL + var ErrAppUnverifiable = errors.New("github: could not verify the App (network or GitHub unavailable)") + var ErrCredentialPreserved = errors.New("the App key was preserved") + var ErrCredentialUncertain = errors.New("billet could not verify whether the App key was saved") + var ErrNotInstalled = errors.New("github: app is not installed on the organization") + var ErrRunnerGroupNotFound = errors.New("github: runner group not found") + func Permissions() map[string]string + func RegistrationURL(org, state string) string + func SignAppJWT(appID int64, privateKeyPEM []byte, now time.Time) (string, error) + func ValidatePrivateKey(pemBytes []byte) error + type APIError struct + Message string + RateLimited bool + Status int + func (e *APIError) Error() string + type App struct + ClientID string + ClientSecret string + HTMLURL string + ID int64 + Name string + NodeID string + Owner struct{ ... } + PEM string + Slug string + WebhookSecret string + func ConvertManifest(ctx context.Context, client *http.Client, code string) (*App, error) + func (a *App) Forget() + func (a *App) InstallURL() string + func (a App) Format(s fmt.State, verb rune) + func (a App) GoString() string + func (a App) LogValue() slog.Value + func (a App) MarshalJSON() ([]byte, error) + func (a App) String() string + type HookAttributes struct + Active bool + URL string + type Installation struct + Account struct{ ... } + ID int64 + Permissions map[string]string + RepositoryCt int + SuspendedAt *time.Time + func GetOrgInstallation(ctx context.Context, client *http.Client, appID int64, privateKeyPEM []byte, ...) (*Installation, error) + func VerifyAppAt(ctx context.Context, client *http.Client, base string, appID int64, ...) (*Installation, error) + func WaitForOrgInstallation(ctx context.Context, client *http.Client, appID int64, privateKeyPEM []byte, ...) (*Installation, error) + func (i *Installation) PermissionMismatches() []string + type Manifest struct + DefaultEvents []string + Description string + HookAttributes *HookAttributes + Name string + Permissions map[string]string + Public bool + RedirectURL string + SetupOnUpdate bool + SetupURL string + URL string + func NewManifest(name, redirectURL, setupURL string) Manifest + type OnboardOptions struct + Client *http.Client + InstallPoll time.Duration + Log func(format string, args ...any) + Name string + OnAppCreated func(*App) error + OpenBrowser func(context.Context, string) error + Org string + Port int + type Onboarding struct + App *App + Installation *Installation + func Onboard(ctx context.Context, opts OnboardOptions) (*Onboarding, error) + type RunnerGroupPolicyClient interface + FindRunnerGroupID func(ctx context.Context, name string) (int, bool, error) + InspectScaleSetRunner func(ctx context.Context, runnerName string, runnerID int64) (RunnerRecovery, error) + ValidateTrustedRunnerGroup func(ctx context.Context, groupID int, wantWorkflows []string) error + func NewRunnerGroupPolicyClient(org string, appID, installationID int64, privateKey []byte) RunnerGroupPolicyClient + func NewRunnerGroupPolicyClientAt(base, org string, appID, installationID int64, privateKey []byte) RunnerGroupPolicyClient + type RunnerRecovery struct + Busy bool + Present bool + RunnerID int64