const endpoint = require("notebook")("tonic/json-endpoint/1.0.0")
const Octokat = require('octokat')
const token = process.env.GITHUB_AUTH_TOKEN
const octo = new Octokat({token})
const stringify = require('json-stringify-safe')
console.log(`GitHub token: ${token}`)
async function processPullRequest (pr) {
console.log(`PR title: ${pr.title}`)
console.log(`Setting status to pending`)
const upstream = octo.repos(pr.base.repo.full_name)
return stringify(upstream)
res.send(stringify(upstream))
upstream.statuses(pr.head.sha).create({state: 'pending', context: 'checklist', description: 'thinking...'})
console.log(`Head sha: ${pr.head.sha}`)
const downstream = octo.repos(pr.head.repo.full_name)
return { derp: 'derp' }
/*
downstream.contents.fetch().then(({items}) => {
console.log(`Got repo contents`)
const names = items.map((item) => item.name)
console.log(`Names: ${names}`)
const containsReadme = names.indexOf('README.md') > -1
if (containsReadme) {
console.log('Setting status to success')
upstream.statuses(pr.head.sha).create({state: 'success', context: 'checklist', description: 'Science!'})
} else {
console.log('Setting status to failure')
upstream.statuses(pr.head.sha).create({state: 'failure', context: 'checklist', description: 'README.md not found'})
}
}).catch((err) => console.log(`ERROR: ${err}`))
*/
}
endpoint(module.exports, async function(request) {
console.log('Got a post')
console.log('')
const payload = request.body
console.log('Got pull request!')
return processPullRequest(payload.pull_request)
})