git

package
v1.1.3 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2026 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BitbucketProvider

type BitbucketProvider struct {
}

BitbucketProvider implements the Provider interface for Bitbucket

func NewBitbucketProvider

func NewBitbucketProvider() *BitbucketProvider

NewBitbucketProvider creates a new Bitbucket provider

func (*BitbucketProvider) ParseWebhookPayload

func (p *BitbucketProvider) ParseWebhookPayload(payload []byte) (*WebhookEvent, error)

ParseWebhookPayload parses Bitbucket webhook payload

func (*BitbucketProvider) ValidateWebhookPayload

func (p *BitbucketProvider) ValidateWebhookPayload(payload []byte, signature, secret string) error

ValidateWebhookPayload validates the Bitbucket webhook HMAC-SHA256 signature. Bitbucket signs webhooks with the configured secret and sends the digest in the X-Hub-Signature header as "sha256=<hex>". Validation fails closed: a missing secret or a missing/invalid signature is rejected.

type GitHubProvider

type GitHubProvider struct {
}

GitHubProvider implements the Provider interface for GitHub

func NewGitHubProvider

func NewGitHubProvider() *GitHubProvider

NewGitHubProvider creates a new GitHub provider

func (*GitHubProvider) ParseWebhookPayload

func (p *GitHubProvider) ParseWebhookPayload(payload []byte) (*WebhookEvent, error)

ParseWebhookPayload parses GitHub webhook payload

func (*GitHubProvider) ValidateWebhookPayload

func (p *GitHubProvider) ValidateWebhookPayload(payload []byte, signature, secret string) error

ValidateWebhookPayload validates the GitHub webhook HMAC-SHA256 signature. GitHub sends the digest in the X-Hub-Signature-256 header as "sha256=<hex>".

type GitLabProvider

type GitLabProvider struct {
}

GitLabProvider implements the Provider interface for GitLab

func NewGitLabProvider

func NewGitLabProvider() *GitLabProvider

NewGitLabProvider creates a new GitLab provider

func (*GitLabProvider) ParseWebhookPayload

func (p *GitLabProvider) ParseWebhookPayload(payload []byte) (*WebhookEvent, error)

ParseWebhookPayload parses GitLab webhook payload

func (*GitLabProvider) ValidateWebhookPayload

func (p *GitLabProvider) ValidateWebhookPayload(payload []byte, token, secret string) error

ValidateWebhookPayload validates the GitLab webhook token

type Provider

type Provider interface {
	// ValidateWebhookPayload validates the webhook payload signature
	ValidateWebhookPayload(payload []byte, signature, secret string) error

	// ParseWebhookPayload parses the webhook payload and extracts relevant information
	ParseWebhookPayload(payload []byte) (*WebhookEvent, error)
}

Provider defines the interface for git provider operations

func GetProvider

func GetProvider(providerType ProviderType) (Provider, error)

GetProvider returns a git provider instance based on the type

type ProviderType

type ProviderType string

ProviderType represents the git provider type

const (
	ProviderGitHub    ProviderType = "github"
	ProviderGitLab    ProviderType = "gitlab"
	ProviderBitbucket ProviderType = "bitbucket"
)

type WebhookEvent

type WebhookEvent struct {
	Provider      string
	RepositoryURL string
	Ref           string
	Commit        string
	Branch        string
	ModifiedPaths []string
}

WebhookEvent represents a normalized webhook event

Jump to

Keyboard shortcuts

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