in webhook-app/webhooks.py [0:0]
def pull_request_review_merge_on_travis(data):
"""When all approvers approve and statuses pass, this hook will
automatically merge it if it's labeled with 'automerge'.
Status data reference:
https://developer.github.com/v3/activity/events/types/#pullrequestreviewevent
"""
# If it's not successful don't even bother.
if data['review']['state'] != 'approved':
logging.info('Not approved, returning.')
return
# If the PR is closed, don't bother
if data['pull_request']['state'] != 'open':
logging.info('Closed, returning.')
return
gh = github_helper.get_client()
repo = gh.repository(
data['repository']['owner']['login'],
data['repository']['name'])
pr = repo.pull_request(data['pull_request']['number'])
merge_pull_request(repo, pr, commit_sha=pr.head.sha)