ghwebhook

package module
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Mar 18, 2019 License: Apache-2.0 Imports: 12 Imported by: 1

README

GHWebHook

release Build Status godoc

Create a Github WebHook in 5 seconds!

Description

  • Default port: 80
  • Default path: /postreceive
  • Default event type: push

Examples

Basic:

package main

import (
	"log"

	"github.com/google/go-github/github"
	ghw "github.com/ldez/ghwebhook"
)

func main() {

	eventHandlers := ghw.NewEventHandlers().
		OnIssues(func(payload *github.WebHookPayload, event *github.IssuesEvent) {
			go func() {
				log.Println(event.GetAction(), event.Issue)
			}()
		}).
		OnPullRequest(func(payload *github.WebHookPayload, event *github.PullRequestEvent) {
			log.Println(event.GetAction(), event.GetNumber(), event.PullRequest)
		})

	webHook := ghw.NewWebHook(eventHandlers, ghw.WithAllEventTypes)

	err := webHook.ListenAndServe()
	if err != nil {
		log.Fatal(err)
	}
}

Secured WebHook with custom port and path:

package main

import (
	"log"

	"github.com/google/go-github/github"
	ghw "github.com/ldez/ghwebhook"
	"github.com/ldez/ghwebhook/eventtype"
)

func main() {

	eventHandlers := ghw.NewEventHandlers().
		OnIssues(func(payload *github.WebHookPayload, event *github.IssuesEvent) {
			go func() {
				log.Println(event.GetAction(), event.Issue)
			}()
		}).
		OnPullRequest(func(payload *github.WebHookPayload, event *github.PullRequestEvent) {
			log.Println(event.GetAction(), event.GetNumber(), event.PullRequest)
		})

	webhook := ghw.NewWebHook(
		eventHandlers,
		ghw.WithPort(5000),
		ghw.WithPath("/github"),
		ghw.WithSecret("SECRET"),
		ghw.Debug,
		ghw.WithEventTypes(eventtype.Issues, eventtype.PullRequest))

	err := webhook.ListenAndServe()
	if err != nil {
		log.Fatal(err)
	}
}

References

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Debug

func Debug(server *WebHook)

Debug activate debug mode.

func WithAllEventTypes

func WithAllEventTypes(server *WebHook)

WithAllEventTypes accept all possible event types.

func WithEventTypes

func WithEventTypes(eventTypes ...string) func(*WebHook)

WithEventTypes define accepted event types.

func WithPath

func WithPath(path string) func(*WebHook)

WithPath define the HTTP handler path.

func WithPort

func WithPort(port int) func(*WebHook)

WithPort define the server port.

func WithSecret

func WithSecret(secret string) func(*WebHook)

WithSecret define the GitHub secret.

Types

type EventHandlers added in v1.1.2

type EventHandlers struct {
	// contains filtered or unexported fields
}

EventHandlers all event handlers

func NewEventHandlers

func NewEventHandlers() *EventHandlers

NewEventHandlers create a new event handlers.

func (*EventHandlers) OnCheckRun added in v1.2.0

func (c *EventHandlers) OnCheckRun(eventHandler func(payload *github.WebHookPayload, event *github.CheckRunEvent)) *EventHandlers

OnCheckRun CheckRun handler.

func (*EventHandlers) OnCheckSuite added in v1.2.0

func (c *EventHandlers) OnCheckSuite(eventHandler func(*github.WebHookPayload, *github.CheckSuiteEvent)) *EventHandlers

OnCheckSuite CheckSuite handler.

func (*EventHandlers) OnCommitComment added in v1.1.2

func (c *EventHandlers) OnCommitComment(eventHandler func(payload *github.WebHookPayload, event *github.CommitCommentEvent)) *EventHandlers

OnCommitComment CommitComment handler.

func (*EventHandlers) OnCreate added in v1.1.2

func (c *EventHandlers) OnCreate(eventHandler func(payload *github.WebHookPayload, event *github.CreateEvent)) *EventHandlers

OnCreate Create handler.

func (*EventHandlers) OnDelete added in v1.1.2

func (c *EventHandlers) OnDelete(eventHandler func(payload *github.WebHookPayload, event *github.DeleteEvent)) *EventHandlers

OnDelete Delete handler.

func (*EventHandlers) OnDeployment added in v1.1.2

func (c *EventHandlers) OnDeployment(eventHandler func(payload *github.WebHookPayload, event *github.DeploymentEvent)) *EventHandlers

OnDeployment Deployment handler.

func (*EventHandlers) OnDeploymentStatus added in v1.1.2

func (c *EventHandlers) OnDeploymentStatus(eventHandler func(payload *github.WebHookPayload, event *github.DeploymentStatusEvent)) *EventHandlers

OnDeploymentStatus DeploymentStatus handler.

func (*EventHandlers) OnDownload added in v1.1.2

func (c *EventHandlers) OnDownload(eventHandler func(payload *github.WebHookPayload, event []byte)) *EventHandlers

OnDownload Download handler. Deprecated

func (*EventHandlers) OnFollow added in v1.1.2

func (c *EventHandlers) OnFollow(eventHandler func(payload *github.WebHookPayload, event []byte)) *EventHandlers

OnFollow Follow handler. Deprecated

func (*EventHandlers) OnFork added in v1.1.2

func (c *EventHandlers) OnFork(eventHandler func(payload *github.WebHookPayload, event *github.ForkEvent)) *EventHandlers

OnFork Fork handler.

func (*EventHandlers) OnGist added in v1.1.2

func (c *EventHandlers) OnGist(eventHandler func(payload *github.WebHookPayload, event []byte)) *EventHandlers

OnGist Gist handler. Deprecated

func (*EventHandlers) OnGollum added in v1.1.2

func (c *EventHandlers) OnGollum(eventHandler func(payload *github.WebHookPayload, event *github.GollumEvent)) *EventHandlers

OnGollum Gollum handler.

func (*EventHandlers) OnInstallation added in v1.1.2

func (c *EventHandlers) OnInstallation(eventHandler func(payload *github.WebHookPayload, event *github.InstallationEvent)) *EventHandlers

OnInstallation Installation handler.

func (*EventHandlers) OnInstallationRepositories added in v1.1.2

func (c *EventHandlers) OnInstallationRepositories(eventHandler func(payload *github.WebHookPayload, event *github.InstallationRepositoriesEvent)) *EventHandlers

OnInstallationRepositories InstallationRepositories handler.

func (*EventHandlers) OnIssueComment added in v1.1.2

func (c *EventHandlers) OnIssueComment(eventHandler func(payload *github.WebHookPayload, event *github.IssueCommentEvent)) *EventHandlers

OnIssueComment IssueComment handler.

func (*EventHandlers) OnIssues added in v1.1.2

func (c *EventHandlers) OnIssues(eventHandler func(payload *github.WebHookPayload, event *github.IssuesEvent)) *EventHandlers

OnIssues Issues handler.

func (*EventHandlers) OnLabel added in v1.1.2

func (c *EventHandlers) OnLabel(eventHandler func(payload *github.WebHookPayload, event *github.LabelEvent)) *EventHandlers

OnLabel Label handler.

func (*EventHandlers) OnMarketplacePurchase added in v1.1.2

func (c *EventHandlers) OnMarketplacePurchase(eventHandler func(payload *github.WebHookPayload, event *github.MarketplacePurchaseEvent)) *EventHandlers

OnMarketplacePurchase MarketplacePurchase handler.

func (*EventHandlers) OnMember added in v1.1.2

func (c *EventHandlers) OnMember(eventHandler func(payload *github.WebHookPayload, event *github.MemberEvent)) *EventHandlers

OnMember Member handler.

func (*EventHandlers) OnMembership added in v1.1.2

func (c *EventHandlers) OnMembership(eventHandler func(payload *github.WebHookPayload, event *github.MembershipEvent)) *EventHandlers

OnMembership Membership handler.

func (*EventHandlers) OnMilestone added in v1.1.2

func (c *EventHandlers) OnMilestone(eventHandler func(payload *github.WebHookPayload, event *github.MilestoneEvent)) *EventHandlers

OnMilestone Milestone handler.

func (*EventHandlers) OnOrgBlock added in v1.1.2

func (c *EventHandlers) OnOrgBlock(eventHandler func(payload *github.WebHookPayload, event *github.OrgBlockEvent)) *EventHandlers

OnOrgBlock OrgBlock handler.

func (*EventHandlers) OnOrganization added in v1.1.2

func (c *EventHandlers) OnOrganization(eventHandler func(payload *github.WebHookPayload, event *github.OrganizationEvent)) *EventHandlers

OnOrganization Organization handler.

func (*EventHandlers) OnPageBuild added in v1.1.2

func (c *EventHandlers) OnPageBuild(eventHandler func(payload *github.WebHookPayload, event *github.PageBuildEvent)) *EventHandlers

OnPageBuild PageBuild handler.

func (*EventHandlers) OnPing added in v1.1.2

func (c *EventHandlers) OnPing(eventHandler func(payload *github.WebHookPayload, event *github.PingEvent)) *EventHandlers

OnPing Ping handler.

func (*EventHandlers) OnProject added in v1.1.2

func (c *EventHandlers) OnProject(eventHandler func(payload *github.WebHookPayload, event *github.ProjectEvent)) *EventHandlers

OnProject Project handler.

func (*EventHandlers) OnProjectCard added in v1.1.2

func (c *EventHandlers) OnProjectCard(eventHandler func(payload *github.WebHookPayload, event *github.ProjectCardEvent)) *EventHandlers

OnProjectCard ProjectCard handler.

func (*EventHandlers) OnProjectColumn added in v1.1.2

func (c *EventHandlers) OnProjectColumn(eventHandler func(payload *github.WebHookPayload, event *github.ProjectColumnEvent)) *EventHandlers

OnProjectColumn ProjectColumn handler.

func (*EventHandlers) OnPublic added in v1.1.2

func (c *EventHandlers) OnPublic(eventHandler func(payload *github.WebHookPayload, event *github.PublicEvent)) *EventHandlers

OnPublic Public handler.

func (*EventHandlers) OnPullRequest added in v1.1.2

func (c *EventHandlers) OnPullRequest(eventHandler func(payload *github.WebHookPayload, event *github.PullRequestEvent)) *EventHandlers

OnPullRequest PullRequest handler.

func (*EventHandlers) OnPullRequestReview added in v1.1.2

func (c *EventHandlers) OnPullRequestReview(eventHandler func(payload *github.WebHookPayload, event *github.PullRequestReviewEvent)) *EventHandlers

OnPullRequestReview PullRequestReview handler.

func (*EventHandlers) OnPullRequestReviewComment added in v1.1.2

func (c *EventHandlers) OnPullRequestReviewComment(eventHandler func(payload *github.WebHookPayload, event *github.PullRequestReviewCommentEvent)) *EventHandlers

OnPullRequestReviewComment PullRequestReviewComment handler.

func (*EventHandlers) OnPush added in v1.1.2

func (c *EventHandlers) OnPush(eventHandler func(payload *github.WebHookPayload, event *github.PushEvent)) *EventHandlers

OnPush Push handler.

func (*EventHandlers) OnRelease added in v1.1.2

func (c *EventHandlers) OnRelease(eventHandler func(payload *github.WebHookPayload, event *github.ReleaseEvent)) *EventHandlers

OnRelease Release handler.

func (*EventHandlers) OnRepository added in v1.1.2

func (c *EventHandlers) OnRepository(eventHandler func(payload *github.WebHookPayload, event *github.RepositoryEvent)) *EventHandlers

OnRepository Repository handler.

func (*EventHandlers) OnRepositoryVulnerabilityAlert added in v1.2.0

func (c *EventHandlers) OnRepositoryVulnerabilityAlert(eventHandler func(payload *github.WebHookPayload, event *github.RepositoryVulnerabilityAlertEvent)) *EventHandlers

OnRepositoryVulnerabilityAlert RepositoryVulnerabilityAlert handler.

func (*EventHandlers) OnStatus added in v1.1.2

func (c *EventHandlers) OnStatus(eventHandler func(payload *github.WebHookPayload, event *github.StatusEvent)) *EventHandlers

OnStatus Status handler.

func (*EventHandlers) OnTeam added in v1.1.2

func (c *EventHandlers) OnTeam(eventHandler func(payload *github.WebHookPayload, event *github.TeamEvent)) *EventHandlers

OnTeam Team handler.

func (*EventHandlers) OnTeamAdd added in v1.1.2

func (c *EventHandlers) OnTeamAdd(eventHandler func(payload *github.WebHookPayload, event *github.TeamAddEvent)) *EventHandlers

OnTeamAdd TeamAdd handler.

func (*EventHandlers) OnWatch added in v1.1.2

func (c *EventHandlers) OnWatch(eventHandler func(payload *github.WebHookPayload, event *github.WatchEvent)) *EventHandlers

OnWatch Watch handler.

type WebHook added in v1.1.2

type WebHook struct {
	// contains filtered or unexported fields
}

WebHook server

func NewWebHook

func NewWebHook(eventHandlers *EventHandlers, options ...serverOption) *WebHook

NewWebHook create a new server as a GitHub WebHook.

func (*WebHook) ListenAndServe added in v1.1.2

func (s *WebHook) ListenAndServe() error

ListenAndServe run GitHub WebHook server.

func (*WebHook) ServeHTTP added in v1.1.2

func (s *WebHook) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP HTTP server handler.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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