Отправить POST-запрос Jira с использованием API-токена

У меня работает curl команда для создания билета Jira, которую я не могу воспроизвести в python3, HTTPBasicAuth а также HTTPDigestAuth методы проверки подлинности с запросами Python doc не работают с ключом API.

Пожалуйста, найдите упомянутое curl а также python код ниже.

Bash:

curl -vL -u "my@email:API_KEY" -X POST -H "Content-Type:application/json" --data "$DATA" https://jira-url/rest/api/2/issue/

Python:

headers = {
    'Content-Type': 'application/json',
    'X-Atlassian-Token': 'no-check'
}

url = https://jira-url

response = requests.post('{0}/rest/api/2/issue/'.format(url),
                         headers=headers,
                         data=data,
                         auth=requests.auth.HTTPDigestAuth(user_email, api_key),
                         verify=False,
                         allow_redirects=True)

Я получаю ошибку 400 Bad Request for url: URL

1 ответ

Вы можете попробовать это:

headers = {
    'X-Atlassian-Token': 'no-check'
}

data = {"var1": "val1", "var2": "val2"}

url = https://jira-url

response = requests.post('{0}/rest/api/2/issue/'.format(url),
                         headers=headers,
                         json=data,
                         auth=requests.auth.HTTPDigestAuth(user_email, api_key),
                         verify=False,
                         allow_redirects=True)

(Я заменил data спорить с jsonи я удалила Content-Type из заголовков как requests автоматически обнаружит это).

Ты хочешь data быть объектом Python, а не строкой json.

Другие вопросы по тегам