@@ -29,6 +29,7 @@ var pluck = require('101/pluck');
2929var noop = require ( '101/noop' ) ;
3030var error = require ( 'error' ) ;
3131var github = require ( 'middlewares/apis' ) . github ;
32+ var dogstatsd = require ( 'models/datadog' ) ;
3233
3334/** Receive the Github hooks
3435 * @event POST rest/actions/github
@@ -43,6 +44,7 @@ var pushSessionUser = {
4344} ;
4445
4546app . post ( '/actions/github/' ,
47+ reportDatadogEvent ,
4648 mw . headers ( 'user-agent' ) . require ( ) . matches ( / ^ G i t H u b .* $ / ) ,
4749 mw . headers ( 'x-github-event' , 'x-github-delivery' ) . require ( ) ,
4850 mw . headers ( 'x-github-event' ) . matches ( / ^ p i n g $ / ) . then (
@@ -141,6 +143,13 @@ app.post('/actions/github/',
141143 mw . res . status ( 202 ) ,
142144 mw . res . send ( 'No action set up for that payload.' ) ) ;
143145
146+
147+ function reportDatadogEvent ( req , res , next ) {
148+ var eventName = req . get ( 'x-github-event' ) || '' ;
149+ dogstatsd . increment ( 'api.actions.github.events' , [ 'event:' + eventName ] ) ;
150+ next ( ) ;
151+ }
152+
144153function parseGitHubPRData ( req , res , next ) {
145154 var repository = keypather . get ( req , 'body.repository' ) ;
146155 if ( ! repository ) {
0 commit comments