Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сервисы Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
В этом примере мы добавим действие в контекстное меню запроса в центре запросов рабочих элементов.
Совет
Для получения последних рекомендаций по разработке расширений, включая темизацию и миграцию из VSS.SDK, смотрите на портале разработчика пакета SDK для расширений Azure DevOps.
Необходимые условия
Обновление манифеста расширения
Добавьте действие в раздел вкладов манифеста расширения.
...
"contributions": [
{
"id": "myAction",
"type": "ms.vss-web.action",
"description": "Run in Hello hub action",
"targets": [
"ms.vss-work-web.work-item-query-menu"
],
"properties": {
"text": "Run in Hello hub",
"title": "Run in Hello hub",
"icon": "images/icon.png",
"groupId": "actions",
"uri": "action.html"
}
}
]
...
Свойства
| Свойство | Описание |
|---|---|
| текст | Текст, отображаемый в элементе меню. |
| название | Текст подсказки, отображаемый в элементе меню. |
| икона | URL-адрес значка, отображаемого в элементе меню. Относительные URL-адреса разрешаются с помощью baseUri. |
| идентификатор группы | Определяет, где этот элемент меню отображается по отношению к другим. |
| URI | Ссылка (URI) на страницу, которая регистрирует обработчик действий меню (см. ниже). |
| зарегистрированныйИдентификаторОбъекта | (Необязательно) Имя зарегистрированного обработчика действия меню. По умолчанию используется идентификатор участника. |
Узнайте обо всех местах, где можно добавлять действия в точки расширения .
Html-страница
Действие меню представлено скриптом JavaScript, внедренным в HTML-файл. Сохраните следующее содержимое в файле и расположении, которое соответствует ссылке на него в файле манифеста расширения.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Action Sample</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
<script>
window.requirejs.config({
enforceDefine: true,
paths: {
'SDK': './lib/SDK.min'
}
});
window.requirejs(['SDK'], function (SDK) {
SDK.init();
SDK.ready().then(() => {
// Register the menu action handler
SDK.register(SDK.getContributionId(), {
execute: function (actionContext) {
alert("Hello, world");
}
});
});
});
</script>
</head>
<body>
<div>
The end user doesn't see the content on this page.
It runs in the background to handle the contributed menu item being selected.
</div>
</body>
</html>
Совет
Дополнительные сведения см. в разделе точки расширяемости, меню и панели инструментов, модель контрибуции , система проектирования формул , справочник по REST API , примеры расширений и ресурсы в сообществе разработчиков .
Следующий шаг
Упаковка, публикация и установка расширения.