Создание политики конфигурации TFS с использованием API в C # - PullRequest
1 голос
/ 17 октября 2019

Я пытаюсь создать новую политику ветвления с помощью библиотеки Microsoft.TeamFoundation.Policy.WebApi.
Мой код: code snippet detailed below

информация о переменной:

json - содержит параметр в конфигурации политики. connection - это VSSConnection к нашему TFS-серверу. TFSProject - это имя проекта в TFS. Ошибка, которую я получаю, не показывает ничего в моих поисках, я был бы признателеннекоторые примеры того, как создать новую политику в TFS

код:

var json = "{\"statusName\": \"" + StatusNameForBlock + "\",\"statusGenre\": \"ci\",\"authorId\": null,\"invalidateOnSourceUpdate\": false,\"policyApplicability\": null,\"scope\": [{\"refName\": \"refs/heads/master\",\"matchKind\": \"Exact\"}]}";
            JObject jToken = new JObject(JObject.Parse(json));
            var newPolicy = new PolicyConfiguration();
            var policyType = new PolicyTypeRef();
            policyType.Id = Guid.NewGuid();
            newPolicy.Type = policyType;
            newPolicy.Settings = jToken;

            var gitPolicyHttpClient = connection.GetClient<PolicyHttpClient>();
            var policyCreated = gitPolicyHttpClient.CreatePolicyConfigurationAsync(newPolicy, TFSProject).Result;

исключение: VssServiceException: тип с идентификатором '98813712-70a4-4937-b139-9a3654c9795f' не существует

1 Ответ

0 голосов
/ 18 октября 2019

Вы можете использовать Rest API для создания новой политики ветвления.

POST https://{instance}/{collection}/{project}/_apis/policy/configurations/{configurationId}?api-version=5.0

Используйте эти API для определения политик для ваших проектов. Конфигурации связывают тип, такой как «Обязательные проверяющие», с определенными параметрами, такими как «Для запросов извлечения с файлами с именем * .dll, предназначенными для главной ветви в репозитории Gxx xxx, добавьте группу контролируемых исходниками двоичных файлов в качестве обязательного проверяющего».

Примеры политики для справки.

Для получения дополнительной информации вы также можете взглянуть на этот блог - Настройка стандартных политик для всех репозиториев в репозитории Azure

...