Использование JIRA версии 4.2. Как в Python 2.7 и suds 0.4 как обновить поле настраиваемого каскадного выбора проблемы (как родительского, так и дочернего)?
Существует пример SOAPpy , доступный в разделе «Клиент Python (SOAPPy)».
Я не смог выполнить обновление такого типа с использованием Python JIRA CLI .
Пример:
При обновлении каскадного выбора настраиваемого дочернего элемента родительского поля customfield_10 необходимо обновить поле customfield_10_1.
Обновление
Код для отображения исходного значения каскадного поля:
issue = client.service.getIssue(auth, "NAHLP-33515")
for f in fields:
if f['customfieldId'] == 'customfield_10050' or f['customfieldId'] == 'customfield_10050_1':
print f
В результате:
(RemoteCustomFieldValue){
customfieldId = "customfield_10050"
key = None
values[] =
"10981",
}
После ручной установки дочернего элемента каскадного поля приведенный выше код приводит к:
(RemoteCustomFieldValue){
customfieldId = "customfield_10050"
key = None
values[] =
"10981",
}
(RemoteCustomFieldValue){
customfieldId = "customfield_10050"
key = "1"
values[] =
"11560",
}
Вышеуказанные значения - это то, чего я надеюсь достичь с помощью suds .
Обратите внимание на поле key = "1" . Значение ключа обозначает, что этот объект является дочерним по отношению к customfield_10050.
Ссылка на документацию :
parentKey - Используется для многомерных настраиваемых полей, таких как каскадные списки выбора. Нуль в других случаях
Попробуем отправить значение ключевого поля:
client.service.updateIssue(auth, "NAHLP-33515", [
{"id":"customfield_10050", "values":["10981"]},
{"id":"customfield_10050_1", "key":"1", "values":["11560"]}
])
Это приводит к ошибке, поскольку updateIssue принимает параметр RemoteFieldValue [], а не RemoteCustomFieldValue [] ( благодаря Мэтту Доару ):
suds.TypeNotFound: Type not found: 'key'
Так как же нам передать параметр RemoteCustomFieldValue для обновления проблемы?
Обновление 2, ответ mdoar
Запустил следующий код с помощью suds:
client.service.updateIssue(auth, "NAHLP-33515", [
{"id":"customfield_10050", "values":["10981"]},
{"id":"customfield_10050_1", "values":["11560"]}
])`
После значения:
(RemoteCustomFieldValue){
customfieldId = "customfield_10050"
key = None
values[] =
"10981",
}
К сожалению, это не обновляет дочерний элемент customfield_10050. Проверено вручную.
Разрешение:
Спасибо, Мдоар! Чтобы обновить родительский и дочерний элементы каскадного поля выбора, используйте двоеточие (':') для обозначения дочернего поля.
Рабочий пример:
client.service.updateIssue(auth, "NAHLP-33515", [
{"id":"customfield_10050", "values":["10981"]},
{"id":"customfield_10050:1", "values":["11560"]}
])