๐Ÿ“ฆ nilgradisnik / blog-experiment

๐Ÿ“„ github.js ยท 32 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32/**
 * Pull the github repo route
 */
var config = require('../config.json');
var exec = require('child_process').exec,
    child;

exports.update = function(req, res) {
  console.debug('Github webhook update');
  
  // Inspect payload
  var payload = req.body.payload;
  if (payload) {
    payload = JSON.parse(payload);

    // Make sure repo ID maches
    if (payload.repository.id === config.github.repoId)
      updateBlog();

    res.send(200);
  }
  else
    res.send(404);
};

// Execute git pull
function updateBlog() {
  child = exec('git pull', {cwd: 'content'}, function(err) {
    if (err !== null)
      console.error('updateBlog: '+err);
  });
}