telegraf/plugins/inputs/webhooks/github
Cameron Sparr db7a4b24b6 Implement telegraf's own full metric type
main reasons behind this:
- make adding/removing tags cheap
- make adding/removing fields cheap
- make parsing cheaper
- make parse -> decorate -> write out bytes metric flow much faster

Refactor serializer to use byte buffer
2016-12-01 18:17:02 +00:00
..
README.md Add new webhooks plugin that superseed github and rollbar plugins. 2016-06-22 17:18:14 +01:00
github_webhooks.go Major Logging Overhaul 2016-10-03 17:13:03 +01:00
github_webhooks_mock_json.go Add new webhooks plugin that superseed github and rollbar plugins. 2016-06-22 17:18:14 +01:00
github_webhooks_models.go Implement telegraf's own full metric type 2016-12-01 18:17:02 +00:00
github_webhooks_test.go Add new webhooks plugin that superseed github and rollbar plugins. 2016-06-22 17:18:14 +01:00

README.md

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.

Events

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
  • 'issues' = 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
  • 'issues' = 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.evnironment 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.evnironment 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