У меня была такая же проблема, как и у вас.
Вот решение.
Во-первых, используйте jira api, чтобы создать новый выпуск типа «Выполнение теста»:
fields_dict = {
'project': 'AB',
'summary': 'New execution',
'description': 'Test execution creation via python',
'issuetype': {'name': 'Test Execution'}
}
test_execution = jira.create_issue(fields = fields_dict)
Теперь нам нужно связать тесты с выполнением этого теста. Для этого примера давайте свяжем один тест под названием «AB-3». Не забудьте указать детали аутентификации для этого POST. Вы можете связать наборы тестов таким же образом, т. Е. «AB-3» может быть отдельным тестом или набором тестов.
requests.post("https://my.jira.com/rest/raven/1.0/api/testexec/" + test_execution.key + "/test", json{"add": ["AB-3"]})
Это создает уникальный идентификатор для каждого теста, который мы связали с выполнением этого теста. Нам понадобится этот уникальный идентификатор для обновления статуса выполнения.
r = requests.get("https://my.jira.com/rest/raven/1.0/api/testexec/" + test_execution.key
test_id = r.json()[0]['id']
Если у вас более одного теста, используйте цикл. Я просто подписываюсь на первый пункт, так как знаю, что у нас только один тест.
Затем, чтобы обновить статус выполнения, мы делаем PUT:
requests.put("https://my.jira.com/rest/raven/1.0/api/testrun/" + str(test_id) + "/status?status=PASS")
Вы можете использовать «PASS» или «FAIL» и т. Д. Не забудьте авторизоваться!