Мы пытаемся создать определение сборки, скопировав другую информацию определения сборки, используя API-интерфейс Devops Rest Azure, однако получаем следующую ошибку:
HttpError BadRequest - Значение не может быть нулевым.Имя параметра: definition.Repository.Mappings.Mapping.ServerPath.
Ниже приведены шаги, которые мы выполняем
- Получение информации о сборке с помощью API - этот шаг работает нормально
- Измените имя определения сборки
- Создайте новое определение сборки, передав вышеуказанный запрос определений сборки Body
Пример кода
var buildDefinitionGet = client.GetBuildDefinitionsAsync("XXX.DevOps", "15");
var newBuildDefinition = buildDefinitionGet;
newBuildDefinition.name = "MVC2017-1";
var buildDefinition = await client
.CreateBuildDefinitionsAsync("XXX.DevOps", newBuildDefinition)
.ConfigureAwait(false);
Вот структура тела запроса:
public class BuildDefinitionRequestBody
{
public Process process { get; set; }
public Repository repository { get; set; }
public ProcessParameters processParameters { get; set; }
public List<object> drafts { get; set; }
public Queue queue { get; set; }
public string name { get; set; }
public string type { get; set; }
public string queueStatus { get; set; }
}
Мы используем TFVC в качестве источника контроля.
Мы что-то пропустили?