webhook

package
v4.0.0-alpha.0 Latest Latest
Warning

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

Go to latest
Published: Sep 13, 2018 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package webhook contains code for managing and serving webhook services, providing post push events to trigger builds.

Index

Constants

View Source
const (
	DefaultConfigRef = "master"
)

Variables

View Source
var (
	ErrSecretMismatch  = errors.New("the provided secret does not match")
	ErrHookNotEnabled  = errors.New("the specified hook is not enabled")
	MethodNotSupported = errors.New("unsupported HTTP method")
)

Functions

func CheckSecret

func CheckSecret(namespace, userSecret string, triggers []*buildv1.WebHookTrigger, secretsClient kubernetes.SecretsGetter) (*buildv1.WebHookTrigger, error)

CheckSecret tests the user provided secret against the secrets for the webhook triggers, if a match is found then the corresponding webhook trigger is returned.

func GenerateBuildTriggerInfo

func GenerateBuildTriggerInfo(revision *buildv1.SourceRevision, hookType string) (buildTriggerCauses []buildv1.BuildTriggerCause)

func GitRefMatches

func GitRefMatches(eventRef, configRef string, buildSource *buildv1.BuildSource) bool

GitRefMatches determines if the ref from a webhook event matches a build configuration

func NewWarning

func NewWarning(message string) *kerrors.StatusError

NewWarning returns an StatusError object with a http.StatusOK (200) code.

Types

type Plugin

type Plugin interface {
	// Method extracts build information and returns:
	// - newly created build object or nil if default is to be created
	// - information whether to trigger the build itself
	// - eventual error.
	Extract(buildCfg *buildv1.BuildConfig, trigger *buildv1.WebHookTrigger, req *http.Request) (*buildv1.SourceRevision, []corev1.EnvVar, *buildv1.DockerStrategyOptions, bool, error)
	GetTriggers(buildConfig *buildv1.BuildConfig) ([]*buildv1.WebHookTrigger, error)
}

Plugin for Webhook verification is dependent on the sending side, it can be eg. github, bitbucket or else, so there must be a separate Plugin instance for each webhook provider.

Directories

Path Synopsis
Package bitbucket contains webhook.Plugin implementation of bitbucket webhooks according to https://confluence.atlassian.com/bitbucket/manage-webhooks-735643732.html
Package bitbucket contains webhook.Plugin implementation of bitbucket webhooks according to https://confluence.atlassian.com/bitbucket/manage-webhooks-735643732.html
Package generic contains webhook.Plugin implementation of a generic webhooks for use in testing and/or other ad/hoc usage
Package generic contains webhook.Plugin implementation of a generic webhooks for use in testing and/or other ad/hoc usage
Package github contains webhook.Plugin implementation of github webhooks according to https://developer.github.com/webhooks/
Package github contains webhook.Plugin implementation of github webhooks according to https://developer.github.com/webhooks/
Package gitlab contains webhook.Plugin implementation of gitlab webhooks according to https://docs.gitlab.com/ce/user/project/integrations/webhooks.html
Package gitlab contains webhook.Plugin implementation of gitlab webhooks according to https://docs.gitlab.com/ce/user/project/integrations/webhooks.html

Jump to

Keyboard shortcuts

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