Я пытаюсь обновить дефект 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>