'Create an issue on this repository.
:param str title: (required), title of the issue
:param str body: (optional), body of the issue
:param str assignee: (optional), login of the user to assign the
issue to
:param int milestone: (optional), id number of the milestone to
attribute this issue to (e.g. ``m`` is a :class:`Milestone
<github3.issues.milestone.Milestone>` object, ``m.number`` is
what you pass here.)
:param labels: (optional), labels to apply to this
issue
:type labels: list of strings
:param assignees: (optional), login of the users to assign the
issue to
:type assignees: list of strings
:returns: :class:`Issue <github3.issues.issue.Issue>` if successful,
otherwise None'

@requires_auth
def create_issue(self, title, body=None, assignee=None, milestone=None, labels=None, assignees=None):

    issue = {u'title': title, u'body': body, u'assignee': assignee, u'milestone': milestone, u'labels': labels, u'assignees': assignees}
    self._remove_none(issue)
    json = None
    if issue:
        url = self._build_url(u'issues', base_url=self._api)
        json = self._json(self._post(url, data=issue), 201)
    return self._instance_or_null(Issue, json)
