':calls: `PATCH /repos/:owner/:repo/issues/:number <http://developer.github.com/v3/issues>`_
:param title: string
:param body: string
:param assignee: string or :class:`github.NamedUser.NamedUser` or None
:param state: string
:param milestone: :class:`github.Milestone.Milestone` or None
:param labels: list of string
:rtype: None'

def edit(self, title=github.GithubObject.NotSet, body=github.GithubObject.NotSet, assignee=github.GithubObject.NotSet, state=github.GithubObject.NotSet, milestone=github.GithubObject.NotSet, labels=github.GithubObject.NotSet):

    assert ((title is github.GithubObject.NotSet) or isinstance(title, (str, unicode))), title
    assert ((body is github.GithubObject.NotSet) or isinstance(body, (str, unicode))), body
    assert ((assignee is github.GithubObject.NotSet) or (assignee is None) or isinstance(assignee, github.NamedUser.NamedUser) or isinstance(assignee, (str, unicode))), assignee
    assert ((state is github.GithubObject.NotSet) or isinstance(state, (str, unicode))), state
    assert ((milestone is github.GithubObject.NotSet) or (milestone is None) or isinstance(milestone, github.Milestone.Milestone)), milestone
    assert ((labels is github.GithubObject.NotSet) or all((isinstance(element, (str, unicode)) for element in labels))), labels
    post_parameters = dict()
    if (title is not github.GithubObject.NotSet):
        post_parameters['title'] = title
    if (body is not github.GithubObject.NotSet):
        post_parameters['body'] = body
    if (assignee is not github.GithubObject.NotSet):
        if isinstance(assignee, (str, unicode)):
            post_parameters['assignee'] = assignee
        else:
            post_parameters['assignee'] = (assignee._identity if assignee else '')
    if (state is not github.GithubObject.NotSet):
        post_parameters['state'] = state
    if (milestone is not github.GithubObject.NotSet):
        post_parameters['milestone'] = (milestone._identity if milestone else '')
    if (labels is not github.GithubObject.NotSet):
        post_parameters['labels'] = labels
    (headers, data) = self._requester.requestJsonAndCheck('PATCH', self.url, input=post_parameters)
    self._useAttributes(data)
