<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def create_issue(title, body, repo, token):
    '''create a Github issue, given a title, body, repo, and token.

       Parameters
       ==========
       title: the issue title
       body: the issue body
       repo: the full name of the repo
       token: the user's personal Github token

    '''
    owner, name = repo.split('/')
    url = 'https://api.github.com/repos/%s/%s/issues' % (owner, name)
    
    data = {'title': title, 'body': body }

    headers = { "Authorization": "token %s" % token,
                "Accept": "application/vnd.github.symmetra-preview+json" }

    response = requests.post(url, data=json.dumps(data), headers=headers)

    if response.status_code in [201, 202]:
        url = response.json()['html_url']
        bot.info(url)
        return url

    elif response.status_code == 404:
        bot.error('Cannot create issue. Does your token have scope repo?')
        sys.exit(1)

    else:
        bot.error('Cannot create issue %s' %title)
        bot.error(response.content)
        sys.exit(1)