def pull_request_review_merge_on_travis()

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)