Documentation ¶
Overview ¶
Package webhook contains code for managing and serving webhook services, providing post push events to trigger builds.
Index ¶
- Constants
- Variables
- func CheckSecret(namespace, userSecret string, triggers []*buildv1.WebHookTrigger, ...) (*buildv1.WebHookTrigger, error)
- func GenerateBuildTriggerInfo(revision *buildv1.SourceRevision, hookType string) (buildTriggerCauses []buildv1.BuildTriggerCause)
- func GitRefMatches(eventRef, configRef string, buildSource *buildv1.BuildSource) bool
- func NewWarning(message string) *kerrors.StatusError
- type Plugin
Constants ¶
View Source
const (
DefaultConfigRef = "master"
)
Variables ¶
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 |
Click to show internal directories.
Click to hide internal directories.