#python #json #jira #jira-rest-api
Вопрос:
Тестирование с использованием python для вызова api rest для извлечения дефектов/ошибок из моего экземпляра jira. Используя код, указанный в api_docs, я составил этот запрос:
payload = json.dumps( {
"jql": "issuetype in (Bug,Defect) AND CreatedDate >= 2021\u002f01\u002f01",
"maxResults": 1,
#"fieldsByKeys": false,
"fields": [
"summary",
"assignee",
"reporter",
"status",
"resolution"
"created",
"updated"
],
"startAt": 0
} )
Вызов выполнен успешно, за исключением того, что он возвращает все поля, кроме created
и resolution
. Я /rest/api/3/field
следил за тем, чтобы поле было написано правильно, и это было так. Также пытался заглавными Created
буквами .
{
"id": "created",
"name": "Created",
"custom": false,
"orderable": false,
"navigable": true,
"searchable": true,
"clauseNames": ["created",
"createdDate"],
"schema": {
"type": "datetime",
"system": "created"
}
}
Пример вывода API:
{
"expand": "names,schema",
"issues": [
{
"expand": "operations,versionedRepresentations,editmeta,changelog,renderedFields",
"fields": {
"assignee": null,
"reporter": example,
"status": example,
"summary": "DEFECT: Test 1",
"updated": "2021-03-07T11:14:31.000-0500"
},
"id": "123456",
"key": "Example-4",
"self": "example_link"
}
],
"maxResults": 1,
"startAt": 0,
"total": 100
}
В качестве альтернативы, когда я оставляю fields
поле пустым, я получаю все поля, включая created
и resolution
. Однако я не хочу этого делать, так как у нас есть сотни пользовательских полей, которые также загружаются.
Ответ №1:
Я вижу опечатку в вашем примере кода. Вы пропускаете запятую после поля разрешения. Ваш код должен быть:
payload = json.dumps( {
"jql": "issuetype in (Bug,Defect) AND CreatedDate >= 2021\u002f01\u002f01",
"maxResults": 1,
"fields": [
"summary",
"assignee",
"reporter",
"status",
"resolution", # Note the comma here
"created",
"updated"
],
"startAt": 0
} )
Комментарии:
1. Блестяще, в этом, конечно, и была проблема. Спасибо!