VSTS использует API для установки параметров сборки во время очереди - PullRequest
0 голосов
/ 13 июня 2018

Мне нужно поставить в очередь сборку VSTS из API REST. Документально: https://docs.microsoft.com/en-us/rest/api/vsts/build/builds/queue?view=vsts-rest-4.1

Этот ответ помог мне поставить базовую сборку в очередь.Я успешно использовал личный токен доступа (PAT) для аутентификации и эту полезную нагрузку json

{
    definition: {
        id: 19,
    }
}

Мне также нужно передать переменные в сборку.Вот некоторые из вещей, которые я пробовал: не работает

Не работает 1

{
    definition: {
        id: 19,
        variables: {
            "my.var.one": { allowOverride: true, isSecret: false, value: "stringvalue" },
            "my.var.two": { allowOverride: true, isSecret: false, value: "numberValue" }
        }
    }
}

Не работает 2

{
    definition: {
        id: 19,
        variables: {
            "my.var.one": { value: "stringvalue" },
            "my.var.two": { value: "numberValue" }
        }
    }
}

Не работаетрабочий 3

{
    definition: {
        id: 19,
        variables: {
            "my.var.one": "stringvalue",
            "my.var.two": "numberValue"
        }
    }
}

Было предложено на этот вопрос может быть ответ, поскольку VSTS и TFS похожи.К сожалению, изменение переменной параметров и использование строкового представления объекта дает тот же результат.Удаление точек из имен параметров не имело значения.Попытка с API версии 3.1 также получила тот же результат.

Не работает 4

{
    definition: {
        id: 19,
        parameters: '{
            "myVarOne": "stringValue",
            "myVarTwo": "numberValue"
        }'
    }
}

Как правильно отформатировать переменные в полезной нагрузке (или другом месте), чтобы передать их в сборку, которую вы пытаетесь поставить в очередь?

1 Ответ

0 голосов
/ 13 июня 2018

Используя инструменты Chrome Developer для захвата полезных данных действия QUeue в веб-интерфейсе, я рискну предположить, что формат, который вы ищете:

{
  "queue": {
    "id": 1
  },
  "definition": {
    "id": 45
  },
  "project": {
    "id": "a88536a2-a889-45a3-a955-ddf1af8aeba1"
  },
  "sourceBranch": "refs/heads/master",
  "sourceVersion": "",
  "reason": 1,
  "demands": [],
  "parameters": "{\"system.debug\":\"true\"}"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...