#c# #azure #azure-devops #azure-web-app-service
#c# #azure #azure-devops #azure-web-app-service
Вопрос:
Я хочу создать прослушиватель, который запускает событие, когда какой-либо рабочий элемент добавляется / обновляется / удаляется и т.д.
Текущий код
using Microsoft.TeamFoundation.WorkItemTracking.WebApi;
using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.Notification;
using Microsoft.VisualStudio.Services.WebApi;
using System;
namespace DevOpsApiTest
{
class Connector
{
public void ConnectToDevOps()
{
try
{
Uri uri = new Uri("https://dev.azure.com/Org");
VssCredentials creds = new VssBasicCredential("Username", "Password");
VssConnection connection = new VssConnection(uri, creds);
WorkItemTrackingHttpClient witClient = connection.GetClient<WorkItemTrackingHttpClient>();
WorkItem workitem = witClient.GetWorkItemAsync("TestProject", 1).Resu<
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
Как создать прослушиватель, который запускает событие, когда я добавляю / обновляю / удаляю рабочий элемент в проекте DevOps?
Ответ №1:
Вы можете использовать перехват службы
Издатели служб поддержки определяют набор событий. Подписки прослушивают события и определяют действия, которые необходимо предпринять на основе события. Подписки также предназначены для потребителей, которые являются внешними службами, которые могут выполнять свои собственные действия при возникновении события.
Вы можете начать поиск веб-перехватов, с которыми легко начать, при условии, что вы можете опубликовать приведенный выше фрагмент кода по общедоступному URL
Webhooks предоставляют способ отправки JSON-представления события в любую службу. Все, что требуется, — это общедоступная конечная точка (HTTP или HTTPS).
Это настраивается в настройках вашего проекта, и вы можете настроить три из них для запуска событий work item created
work item updated
и work item deleted
соответственно.
Веб-перехват отправляет HTTP-запрос на указанную вами конечную точку с полезной нагрузкой json, содержащей информацию о событии. Вам придется изменить свой код, чтобы он действовал как сервер, принимающий эти запросы, а не как клиент.