def create_review(self, commit=github.GithubObject.NotSet, body=None, event=github.GithubObject.NotSet, comments=github.GithubObject.NotSet):
assert commit is github.GithubObject.NotSet or isinstance(commit, github.Commit.Commit), commit<EOL>assert isinstance(body, str), body<EOL>assert event is github.GithubObject.NotSet or isinstance(event, str), event<EOL>assert comments is github.GithubObject.NotSet or isinstance(comments, list), comments<EOL>post_parameters = dict()<EOL>if commit is not github.GithubObject.NotSet:<EOL><INDENT>post_parameters['<STR_LIT>'] = commit.sha<EOL><DEDENT>post_parameters['<STR_LIT:body>'] = body<EOL>post_parameters['<STR_LIT>'] = '<STR_LIT>' if event == github.GithubObject.NotSet else event<EOL>if comments is github.GithubObject.NotSet:<EOL><INDENT>post_parameters['<STR_LIT>'] = []<EOL><DEDENT>else:<EOL><INDENT>post_parameters['<STR_LIT>'] = comments<EOL><DEDENT>headers, data = self._requester.requestJsonAndCheck(<EOL>"<STR_LIT:POST>",<EOL>self.url + "<STR_LIT>",<EOL>input=post_parameters<EOL>)<EOL>self._useAttributes(data)<EOL>return github.PullRequestReview.PullRequestReview(self._requester, headers, data, completed=True)<EOL>
:calls: `POST /repos/:owner/:repo/pulls/:number/reviews <https://developer.github.com/v3/pulls/reviews/>`_
:param commit: github.Commit.Commit
:param body: string
:param event: string
:param comments: list
:rtype: :class:`github.PullRequestReview.PullRequestReview`