HP (QC) ALM POST или PUT вынуждает меня предоставлять обязательные поля, которые не требуются в текущем состоянии рабочего процесса

Я пытаюсь обновить дефект HP QC через REST API, используя PUT VERB. Однако он скажет мне, что не может обновить дефект из-за «Отсутствует обязательное поле».

Я бы понял, если бы поле действительно было обязательным, но дело в том, что это не так. Я могу зайти в QC, обновить тот же самый дефект значением, которое я пытаюсь обновить в сценарии, и все работает нормально.

Если для поля «Статус» задано значение «Отложено», поле «Пользователь-03», помеченное как «Причина отсрочки», является обязательным полем, и вы не можете сохранить дефект без причины отсрочки, если статус отложен.

В этом случае статус устанавливается на «Закрыто», поэтому это обязательное поле не применяется в этом состоянии рабочего процесса. Однако HP REST API 11 по-прежнему заставит меня указать значение для каждого отдельного «потенциального» обязательного поля независимо от текущего состояния рабочего процесса.

Это очень плохой дизайн. Есть ли способ обойти это? Я не хочу помещать фиктивные данные в эти поля только для решения проблемы с API HP.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<QCRestException><Id>qccore.required-field-missing</Id>
<Title>Missing required field: user-03 for entity defect</Title>
<ExceptionProperties/></QCRestException>

person user1060500    schedule 25.08.2015    source источник


Ответы (1)


API отдыха HP обходит рабочий процесс/vbs, настроенный для всех этих целей. Это сильно зависит от метаданных настройки, которые у нас есть для каждого проекта.

Чтобы преодолеть то, что вам нужно сделать, перейдите к настройке -> Объекты проекта -> объект -> пользовательские поля -> пользователь-03. Отметьте это необязательным полем из настройки. В сценарии рабочего процесса вы все еще можете установить его обязательным для определенных условий, чтобы он работал с таким же поведением с точки зрения пользователя, и, надеюсь, остальные также позволят вам обновлять без указания этого поля.

Спасибо,

Гаурав

person Gaurav    schedule 04.09.2015