github

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: May 25, 2026 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PermissionScopeRepository   = "Repository"
	PermissionScopeOrganization = "Organization"

	//
	// Repository-scoped permissions
	//
	PermissionIssues         = "Issues"
	PermissionContents       = "Contents"
	PermissionPullRequests   = "Pull Requests"
	PermissionActions        = "Actions"
	PermissionCommitStatuses = "Commit Statuses"
	PermissionDeployments    = "Deployments"
	PermissionMetadata       = "Metadata"

	//
	// Organization-scoped permissions
	//
	PermissionAdministration = "Organization Administration"
)
View Source
const (
	GitHubAppPEM           = "pem"
	GitHubAppClientSecret  = "clientSecret"
	GitHubAppWebhookSecret = "webhookSecret"
)
View Source
const (
	SetupStepSelectOwner               = "selectOwner"
	SetupStepCapabilitySelection       = "capabilitySelection"
	SetupStepSelectAuthMethod          = "selectAuthMethod"
	SetupStepEnterPAT                  = "enterPAT"
	SetupStepUpdatePATPermissions      = "updatePATPermissions"
	SetupStepUpdateAppPermissions      = "updateAppPermissions"
	SetupStepAcceptAppPermissionUpdate = "acceptAppPermissionUpdate"
	SetupStepCreateApp                 = "createApp"
	SetupStepInstallApp                = "installApp"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CapabilityDef added in v0.20.0

type CapabilityDef struct {
	ReadOnly bool
	Action   core.Action
	Trigger  core.Trigger
}

type CapabilityMapper added in v0.20.0

type CapabilityMapper struct {
	Groups map[string]GroupDef
}

func NewCapabilityMapper added in v0.20.0

func NewCapabilityMapper() *CapabilityMapper

func (*CapabilityMapper) AllNames added in v0.20.0

func (m *CapabilityMapper) AllNames() []string

func (*CapabilityMapper) ForOrg added in v0.20.0

func (m *CapabilityMapper) ForOrg() []string

func (*CapabilityMapper) ForOwnerType added in v0.20.0

func (m *CapabilityMapper) ForOwnerType(ownerType string) []string

func (*CapabilityMapper) ForUserAccount added in v0.20.0

func (m *CapabilityMapper) ForUserAccount() []string

func (*CapabilityMapper) NewPermissionSet added in v0.20.0

func (m *CapabilityMapper) NewPermissionSet(capabilities []string) PermissionSet

type Configuration added in v0.5.0

type Configuration struct {
	Organization string `mapstructure:"organization" json:"organization"`
}

type GitHub added in v0.5.0

type GitHub struct {
}

func (*GitHub) Actions added in v0.6.0

func (g *GitHub) Actions() []core.Action

func (*GitHub) Cleanup added in v0.6.0

func (g *GitHub) Cleanup(ctx core.IntegrationCleanupContext) error

func (*GitHub) Configuration added in v0.5.0

func (g *GitHub) Configuration() []configuration.Field

func (*GitHub) Description added in v0.5.0

func (g *GitHub) Description() string

func (*GitHub) HandleHook added in v0.18.0

func (g *GitHub) HandleHook(ctx core.IntegrationHookContext) error

func (*GitHub) HandleRequest added in v0.5.0

func (g *GitHub) HandleRequest(ctx core.HTTPRequestContext)

func (*GitHub) Hooks added in v0.18.0

func (g *GitHub) Hooks() []core.Hook

func (*GitHub) Icon added in v0.5.0

func (g *GitHub) Icon() string

func (*GitHub) Instructions added in v0.5.0

func (g *GitHub) Instructions() string

func (*GitHub) Label added in v0.5.0

func (g *GitHub) Label() string

func (*GitHub) ListResources added in v0.5.0

func (g *GitHub) ListResources(resourceType string, ctx core.ListResourcesContext) ([]core.IntegrationResource, error)

func (*GitHub) Name added in v0.5.0

func (g *GitHub) Name() string

func (*GitHub) Sync added in v0.5.0

func (g *GitHub) Sync(ctx core.SyncContext) error

func (*GitHub) Triggers added in v0.5.0

func (g *GitHub) Triggers() []core.Trigger

type GitHubAppData added in v0.5.0

type GitHubAppData struct {
	ID            int64  `mapstructure:"id" json:"id"`
	Slug          string `mapstructure:"slug" json:"slug"`
	ClientID      string `mapstructure:"client_id" json:"client_id"`
	ClientSecret  string `mapstructure:"client_secret" json:"client_secret"`
	WebhookSecret string `mapstructure:"webhook_secret" json:"webhook_secret"`
	PEM           string `mapstructure:"pem" json:"pem"`
}

* This is the response GitHub sends back after the GitHub app is created. * NOTE: this contains sensitive data, so we should not save this as part * of the installation metadata.

type GitHubWebhookHandler added in v0.7.0

type GitHubWebhookHandler struct{}

func (*GitHubWebhookHandler) Cleanup added in v0.7.0

func (*GitHubWebhookHandler) CompareConfig added in v0.7.0

func (h *GitHubWebhookHandler) CompareConfig(a, b any) (bool, error)

func (*GitHubWebhookHandler) Merge added in v0.8.0

func (h *GitHubWebhookHandler) Merge(current, requested any) (any, bool, error)

func (*GitHubWebhookHandler) Setup added in v0.7.0

type GroupDef added in v0.20.0

type GroupDef struct {
	PermissionScope string
	Capabilities    []CapabilityDef
}

type LookupEntry added in v0.20.0

type LookupEntry struct {
	Permission string

	// Using uint8 here to easily compare if an access level is greater than another.
	// 0. Read
	// 1. Read & Write
	Access uint8
}

type Permission added in v0.20.0

type Permission struct {
	Name   string
	Scope  string
	Access string
}

type PermissionSet added in v0.20.0

type PermissionSet struct {
	Repository   map[string]uint8
	Organization map[string]uint8
}

func FindPermissionUpdates added in v0.20.0

func FindPermissionUpdates(existing PermissionSet, requested PermissionSet) PermissionSet

* Compares one permission set with another and returns a new permission set.

func (*PermissionSet) ForAppManifest added in v0.20.0

func (p *PermissionSet) ForAppManifest() map[string]string

func (*PermissionSet) ForHuman added in v0.20.0

func (p *PermissionSet) ForHuman() []Permission

func (*PermissionSet) IsEmpty added in v0.20.0

func (p *PermissionSet) IsEmpty() bool

type SetupProvider added in v0.20.0

type SetupProvider struct{}

func (*SetupProvider) CapabilityGroups added in v0.20.0

func (g *SetupProvider) CapabilityGroups() []core.CapabilityGroup

func (*SetupProvider) FirstStep added in v0.20.0

func (g *SetupProvider) FirstStep(ctx core.SetupStepContext) core.SetupStep

func (*SetupProvider) OnCapabilityUpdate added in v0.20.0

func (g *SetupProvider) OnCapabilityUpdate(ctx core.CapabilityUpdateContext) (*core.SetupStep, error)

func (*SetupProvider) OnPropertyUpdate added in v0.20.0

func (g *SetupProvider) OnPropertyUpdate(ctx core.PropertyUpdateContext) (*core.SetupStep, error)

func (*SetupProvider) OnSecretUpdate added in v0.20.0

func (g *SetupProvider) OnSecretUpdate(ctx core.SecretUpdateContext) (*core.SetupStep, error)

func (*SetupProvider) OnStepRevert added in v0.20.0

func (g *SetupProvider) OnStepRevert(ctx core.SetupStepContext) error

func (*SetupProvider) OnStepSubmit added in v0.20.0

func (g *SetupProvider) OnStepSubmit(ctx core.SetupStepContext) (*core.SetupStep, error)

type Webhook

type Webhook struct {
	ID          int64  `json:"id"`
	WebhookName string `json:"name"`
}

Directories

Path Synopsis
components

Jump to

Keyboard shortcuts

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