Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services
Здесь мы добавим простое расширение "Hello World" в виде панели в бэклог портфеля, бэклог продукта и бэклог итерации.
Подсказка
Ознакомьтесь с нашей новой документацией по разработке расширений с помощью пакета SDK для расширений Azure DevOps.
Пользовательская панель открывается в том же пространстве, где открылась бы панель сопоставления, если бы она была выбрана.
Существует три типа задержек, которые могут быть целевыми для расширений панелей: задержки портфеля, задержки по продуктам и задержки итераций. Для шаблона Agile эта разбивка приведена ниже. Это также представитель Scrum и CMMI. Для пользовательских шаблонов обратитесь к процессу, чтобы узнать, какие невыполненные работы являются обязательными или категорией портфеля.
| Категория невыполненной работы | Точка вклада |
|---|---|
| Портфель (Эпик, Фича) | ms.vss-work-web.portfolio-backlog-toolpane |
| Требования (история пользователя, элемент бэклога продукта) | ms.vss-work-web.requirement-backlog-toolpane |
| Бэклог спринта | ms.vss-work-web.iteration-backlog-toolpane |
Дополнительные сведения см. в примере расширения Azure DevOps Services.
Обновление манифеста расширения
Обновите файл манифеста расширения следующим кодом:
...
"contributions": [
{
"id": "Fabrikam.HelloWorld.Backlogs.Panel",
"type": "ms.vss-work-web.backlog-panel",
"description": "Adds a 'Hello' panel to Product and Iteration backlog pages.",
"targets": [
"ms.vss-work-web.requirement-backlog-toolpane",
"ms.vss-work-web.portfolio-backlog-toolpane",
"ms.vss-work-web.iteration-backlog-toolpane"
],
"properties": {
"title": "Hello Panel Pane",
"name": "Hello Panel",
"uri": "index.html",
"registeredObjectId": "backlogPanelObject"
}
}
],
"scopes": [
"vso.work"
]
...
Вклад
Для каждого вклада в расширение манифест определяет
- тип вклада (панель невыполненной работы в данном случае),
- целевой объект вклада (требования, портфель и итерация невыполненных работ в этом случае);
- и свойства, характерные для каждого типа вклада. Для панелей у нас есть
| Недвижимость | Description |
|---|---|
| title | Текст подсказки, отображаемый в элементе меню |
| имя | Что отображается в выпадающем списке для выбора панели |
| УРИ | Путь (относительно базового URI расширения) страницы, отображаемой как панель |
| зарегистрированныйИдентификаторОбъекта | Идентификатор объекта, зарегистрированного для панели |
Узнайте обо всех местах, где можно добавить расширение в точки расширяемости.
Scopes
Включите области, необходимые вашему расширению.
В этом случае нам нужно vso.work для доступа к рабочим элементам.
Получение событий выбора
Чтобы получить события выбора (сведения о выбранных рабочих элементах), реализуйте этот интерфейс в зарегистрированном объекте.
...
IContributedPanel {
workItemSelectionChanged: (selectedWorkItems) => void;
}
...