Обязательные поля Python JIRA, возникающие при создании - PullRequest
0 голосов
/ 28 февраля 2019

При использовании библиотеки jira python и возникновении проблем обязательные поля вводятся при вызове create_issue.

Ответ на попытку создания проблемы:

text: No issue link type with name 'Automated' found.

Ответ на вызов мета-вызова для проверки обязательных полей:

'hasDefaultValue':False, u'key ': u'issuelinks', u'name ': u'Linked Issues', u'operations ': [u'add'], u’quired ': False,

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Джира ведет себя странно много раз.Вызов createmeta возвращает вам все возможные типы выдачи и все их поля, а также то, какое поле является обязательным или нет.

Но даже после этого существуют определенные поля, которые являются обязательными, но createmeta не скажет вам этого.Вам нужно полагаться на сообщение об исключении, которое вы получили после подачи create_issue ().

В сообщении об исключении, exception_obj.response.text дает json, имеющий ключ / значение точного требуемого поля.

Затем вы можете выполнить поиск в ответе createmeta о его типе схемы, и это может быть набор allowValues.И затем попробуйте снова.

В основном вам нужно повторить описанный выше механизм.

0 голосов
/ 17 апреля 2019

У меня была похожая проблема, и после небольшого копания это я и сделал.Откройте jira и, используя инструменты разработчика (F12), узнайте идентификатор обязательных пользовательских полей.Они должны называться примерно так: "customfield_10304"

После того, как вы получите эти идентификаторы полей, просто используйте их так, как вы устанавливаете другие поля при создании проблемы.Например,

new_issue = jira.create_issue(project={'key': project},
                                  summary='{}'.format(summary),
                                  description='{}'.format(description),
                                  issuetype={'name': 'Bug'},
                                  labels=labels,
                                  versions=[{"name": affect_version[0]}],
                                  customfield_10304=[{"value": env}],
                                  customfield_10306=[{"value": customer}],
                                  priority={'name': priority})
...