':calls: `PUT /repos/:owner/:repo/pulls/:number/merge <http://developer.github.com/v3/pulls>`_
:param commit_message: string
:rtype: :class:`github.PullRequestMergeStatus.PullRequestMergeStatus`'

def merge(self, commit_message=github.GithubObject.NotSet):

    assert ((commit_message is github.GithubObject.NotSet) or isinstance(commit_message, (str, unicode))), commit_message
    post_parameters = dict()
    if (commit_message is not github.GithubObject.NotSet):
        post_parameters['commit_message'] = commit_message
    (headers, data) = self._requester.requestJsonAndCheck('PUT', (self.url + '/merge'), input=post_parameters)
    return github.PullRequestMergeStatus.PullRequestMergeStatus(self._requester, headers, data, completed=True)
