github

package
v1.33.1 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2025 License: MIT Imports: 12 Imported by: 14

README

github webhooks

You should configure your Organization's Webhooks to point at the webhooks service. To do this go to github.com/{my_organization} and click Settings > Webhooks > Add webhook. In the resulting menu set Payload URL to http://<my_ip>:1619/github, Content type to application/json and under the section Which events would you like to trigger this webhook? select 'Send me everything'. By default all of the events will write to the github_webhooks measurement, this is configurable by setting the measurement_name in the config file.

You can also add a secret that will be used by telegraf to verify the authenticity of the requests.

Metrics

The titles of the following sections are links to the full payloads and details for each event. The body contains what information from the event is persisted. The format is as follows:

# TAGS
* 'tagKey' = `tagValue` type
# FIELDS
* 'fieldKey' = `fieldValue` type

The tag values and field values show the place on the incoming JSON object where the data is sourced from.

commit_comment event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'commit' = event.comment.commit_id string
  • 'comment' = event.comment.body string
create event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'ref' = event.ref string
  • 'refType' = event.ref_type string
delete event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'ref' = event.ref string
  • 'refType' = event.ref_type string
deployment event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'commit' = event.deployment.sha string
  • 'task' = event.deployment.task string
  • 'environment' = event.deployment.environment string
  • 'description' = event.deployment.description string
deployment_status event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'commit' = event.deployment.sha string
  • 'task' = event.deployment.task string
  • 'environment' = event.deployment.environment string
  • 'description' = event.deployment.description string
  • 'depState' = event.deployment_status.state string
  • 'depDescription' = event.deployment_status.description string
fork event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'forkee' = event.forkee.repository string
gollum event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
issue_comment event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool
  • 'issue' = event.issue.number int

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'title' = event.issue.title string
  • 'comments' = event.issue.comments int
  • 'body' = event.comment.body string
issues event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool
  • 'issue' = event.issue.number int
  • 'action' = event.action string

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'title' = event.issue.title string
  • 'comments' = event.issue.comments int
member event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'newMember' = event.sender.login string
  • 'newMemberStatus' = event.sender.site_admin bool
membership event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool
  • 'action' = event.action string

Fields:

  • 'newMember' = event.sender.login string
  • 'newMemberStatus' = event.sender.site_admin bool
page_build event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
public event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
pull_request_review_comment event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'action' = event.action string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool
  • 'prNumber' = event.pull_request.number int

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'state' = event.pull_request.state string
  • 'title' = event.pull_request.title string
  • 'comments' = event.pull_request.comments int
  • 'commits' = event.pull_request.commits int
  • 'additions' = event.pull_request.additions int
  • 'deletions' = event.pull_request.deletions int
  • 'changedFiles' = event.pull_request.changed_files int
  • 'commentFile' = event.comment.file string
  • 'comment' = event.comment.body string
pull_request event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'action' = event.action string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool
  • 'prNumber' = event.pull_request.number int

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'state' = event.pull_request.state string
  • 'title' = event.pull_request.title string
  • 'comments' = event.pull_request.comments int
  • 'commits' = event.pull_request.commits int
  • 'additions' = event.pull_request.additions int
  • 'deletions' = event.pull_request.deletions int
  • 'changedFiles' = event.pull_request.changed_files int
push event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'ref' = event.ref string
  • 'before' = event.before string
  • 'after' = event.after string
repository event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
release event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'tagName' = event.release.tag_name string
status event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'commit' = event.sha string
  • 'state' = event.state string
team_add event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int
  • 'teamName' = event.team.name string
watch event

Tags:

  • 'event' = headers[X-Github-Event] string
  • 'repository' = event.repository.full_name string
  • 'private' = event.repository.private bool
  • 'user' = event.sender.login string
  • 'admin' = event.sender.site_admin bool

Fields:

  • 'stars' = event.repository.stargazers_count int
  • 'forks' = event.repository.forks_count int
  • 'issues' = event.repository.open_issues_count int

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CommitCommentEventJSON

func CommitCommentEventJSON() string

func CreateEventJSON

func CreateEventJSON() string

func DeleteEventJSON

func DeleteEventJSON() string

func DeploymentEventJSON

func DeploymentEventJSON() string

func DeploymentStatusEventJSON

func DeploymentStatusEventJSON() string

func ForkEventJSON

func ForkEventJSON() string

func GollumEventJSON

func GollumEventJSON() string

func IssueCommentEventJSON

func IssueCommentEventJSON() string

func IssuesEventJSON

func IssuesEventJSON() string

func MemberEventJSON

func MemberEventJSON() string

func MembershipEventJSON

func MembershipEventJSON() string

func PageBuildEventJSON

func PageBuildEventJSON() string

func PublicEventJSON

func PublicEventJSON() string

func PullRequestEventJSON

func PullRequestEventJSON() string

func PullRequestReviewCommentEventJSON

func PullRequestReviewCommentEventJSON() string

func PushEventJSON

func PushEventJSON() string

func ReleaseEventJSON

func ReleaseEventJSON() string

func RepositoryEventJSON

func RepositoryEventJSON() string

func StatusEventJSON

func StatusEventJSON() string

func TeamAddEventJSON

func TeamAddEventJSON() string

func WatchEventJSON

func WatchEventJSON() string

Types

type GithubWebhook

type GithubWebhook struct {
	Path   string
	Secret string

	auth.BasicAuth
	// contains filtered or unexported fields
}

func (*GithubWebhook) NewEvent added in v1.21.0

func (gh *GithubWebhook) NewEvent(data []byte, name string) (event, error)

func (*GithubWebhook) Register

func (gh *GithubWebhook) Register(router *mux.Router, acc telegraf.Accumulator, log telegraf.Logger)

Jump to

Keyboard shortcuts

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