Я пытаюсь реализовать WebHook для события BuildCompleted.Я застрял с ошибкой: Bad Request (400) при тестировании сервисного хука из веб-интерфейса.Кажется, что нет подробной информации об ошибке в журнале событий или файлах журнала IIS.Функция Register в WebApiConfig нажата, но конструктор или ExecuteAsync в моем WebHook нет.
Любая помощь будет принята с благодарностью!Я уверен, что это просто тривиально, что я просто вижу себя.
Моя установка состоит из предварительно установленного сервера TFS 2018 Update 2 и отдельного Windwos Server 2012 с IIS для WebHook.Я развертываю Global.asax и web.config для wwwroot, а сборки для wwwroot / bin.
Url: http://MYSERVER/api/webhooks/incoming/genericjson?code=83699ec7c1d794c0c780e49a5c72972590571fd8
web.config:
...
<appSettings>
<add key="MS_WebHookReceiverSecret_GenericJson" value="83699ec7c1d794c0c780e49a5c72972590571fd8" />
</appSettings>
...
WebHookHandler:
public class GenericJsonWebHookHandler : WebHookHandler
{
public GenericJsonWebHookHandler()
{
this.Receiver = GenericJsonWebHookReceiver.ReceiverName;
}
public override Task ExecuteAsync(string receiver, WebHookHandlerContext context)
{
return Task.FromResult(true);
}
}
WebApiConfig:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new {id = RouteParameter.Optional}
);
// Initialize GenericJson WebHook receiver
config.InitializeReceiveGenericJsonWebHooks();
}
}
Global.asax.cs
public class Global : HttpApplication
{
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}