Создание панели конфигурации для расширения Azure DevOps - PullRequest
0 голосов
/ 09 января 2019

Мы создали несколько расширений для DevOps Azure (0), которые являются конвейерными расширениями.

Мы пытаемся создать новые расширения, которые могут реагировать на изменения в рабочих элементах плат Azure. API для взаимодействия с изменениями в рабочих элементах довольно просты, но мы боремся с настройкой расширения.

По сути, нам нужно разрешить пользователям настраивать расширение на двух уровнях

1) На уровне организации

Пользователь (администратор проекта) должен иметь возможность настроить параметры как «URL внешней системы» и т. Д. Примером этого может быть что-то вроде следующего макета:

enter image description here

2) На «уровне проекта»

Для каждого проекта в Azure DevOps администратор должен иметь возможность настраивать такие параметры, как «Включить / отключить расширение» или «Внешний UID» и т. Д. Примером этого может быть что-то вроде приведенного ниже макета:

Organization level

Когда расширение реагирует на «Сохраненный рабочий элемент», оно запрашивает параметры на обоих уровнях, чтобы выяснить, что делать.

Моя проблема: где, черт возьми, я могу сохранить эту информацию? Я мог бы добавить ряд «настраиваемых полей» к используемому шаблону, но поскольку поля можно добавлять только к типам рабочих элементов, это на самом деле не идеально.

Где я могу сохранить эту информацию через API?

PS: Исходный код для наших расширений доступен как OSS (лицензия Apache) здесь:

(0) https://bitbucket.org/projectum/

Спасибо: -)

Ответы [ 2 ]

0 голосов
/ 11 января 2019

Оказывается, у Azure DevOps есть способ хранить данные для расширений. Он может хранить данные как в области Project Collection , так и в области User .

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

https://docs.microsoft.com/en-us/azure/devops/extend/develop/data-storage?view=vsts

: -)

0 голосов
/ 10 января 2019

Для # 1 это выглядит как то, что вы можете настроить в сервисных соединениях конвейера. Это для каждого проекта, а не на уровне организации.

enter image description here

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

...