def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet, state=github.GithubObject.NotSet, base=github.GithubObject.NotSet):
assert title is github.GithubObject.NotSet or isinstance(title, (str, unicode)), title<EOL>assert body is github.GithubObject.NotSet or isinstance(body, (str, unicode)), body<EOL>assert state is github.GithubObject.NotSet or isinstance(state, (str, unicode)), state<EOL>assert base is github.GithubObject.NotSet or isinstance(base, (str, unicode)), base<EOL>post_parameters = dict()<EOL>if title is not github.GithubObject.NotSet:<EOL><INDENT>post_parameters["<STR_LIT:title>"] = title<EOL><DEDENT>if body is not github.GithubObject.NotSet:<EOL><INDENT>post_parameters["<STR_LIT:body>"] = body<EOL><DEDENT>if state is not github.GithubObject.NotSet:<EOL><INDENT>post_parameters["<STR_LIT:state>"] = state<EOL><DEDENT>if base is not github.GithubObject.NotSet:<EOL><INDENT>post_parameters["<STR_LIT>"] = base<EOL><DEDENT>headers, data = self._requester.requestJsonAndCheck(<EOL>"<STR_LIT>",<EOL>self.url,<EOL>input=post_parameters<EOL>)<EOL>self._useAttributes(data)<EOL>
:calls: `PATCH /repos/:owner/:repo/pulls/:number <http://developer.github.com/v3/pulls>`_
:param title: string
:param body: string
:param state: string
:param base: string
:rtype: None