'Merge this pull request.
:param str commit_message: (optional), message to be used for the
merge commit
:param str sha: (optional), SHA that pull request head must match
to merge.
:param bool squash: (optional), commit a single commit to the
head branch.
:returns: bool'

@requires_auth
def merge(self, commit_message=None, sha=None, squash=False):

    parameters = {u'squash': squash}
    if sha:
        parameters[u'sha'] = sha
    if (commit_message is not None):
        parameters[u'commit_message'] = commit_message
    url = self._build_url(u'merge', base_url=self._api)
    json = self._json(self._put(url, data=dumps(parameters)), 200)
    if (not json):
        return False
    return json[u'merged']
