Поделиться через


Добавление панелей на страницах невыполненной работы

Azure DevOps Services

Здесь мы добавим простое расширение "Hello World" в виде панели в бэклог портфеля, бэклог продукта и бэклог итерации.

Подсказка

Ознакомьтесь с нашей новой документацией по разработке расширений с помощью пакета SDK для расширений Azure DevOps.

Открытие расширения панели в разделе списка историй Azure DevOps Services

Пользовательская панель открывается в том же пространстве, где открылась бы панель сопоставления, если бы она была выбрана.

Расширение панели на странице невыполненной работы с портфелем Azure DevOps Services

Существует три типа задержек, которые могут быть целевыми для расширений панелей: задержки портфеля, задержки по продуктам и задержки итераций. Для шаблона 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;
	}
...

Дальнейшие шаги