Octokit.Webhooks.AzureFunctions
2.4.1
Prefix Reserved
dotnet add package Octokit.Webhooks.AzureFunctions --version 2.4.1
NuGet\Install-Package Octokit.Webhooks.AzureFunctions -Version 2.4.1
<PackageReference Include="Octokit.Webhooks.AzureFunctions" Version="2.4.1" />
paket add Octokit.Webhooks.AzureFunctions --version 2.4.1
#r "nuget: Octokit.Webhooks.AzureFunctions, 2.4.1"
// Install Octokit.Webhooks.AzureFunctions as a Cake Addin #addin nuget:?package=Octokit.Webhooks.AzureFunctions&version=2.4.1 // Install Octokit.Webhooks.AzureFunctions as a Cake Tool #tool nuget:?package=Octokit.Webhooks.AzureFunctions&version=2.4.1
Octokit.Webhooks
Libraries to handle GitHub Webhooks in .NET applications.
Usage
ASP.NET Core
dotnet add package Octokit.Webhooks.AspNetCore
Create a class that derives from
WebhookEventProcessor
and override any of the virtual methods to handle webhooks from GitHub. For example, to handle Pull Request webhooks:public sealed class MyWebhookEventProcessor : WebhookEventProcessor { protected override Task ProcessPullRequestWebhookAsync(WebhookHeaders headers, PullRequestEvent pullRequestEvent, PullRequestAction action) { ... } }
Register your implementation of
WebhookEventProcessor
:builder.Services.AddSingleton<WebhookEventProcessor, MyWebhookEventProcessor>();
Map the webhook endpoint:
app.UseEndpoints(endpoints => { ... endpoints.MapGitHubWebhooks(); ... });
MapGitHubWebhooks()
takes two optional parameters:
path
. Defaults to/api/github/webhooks
, the URL of the endpoint to use for GitHub.secret
. The secret you have configured in GitHub, if you have set this up.
Azure Functions
NOTE: Support is only provided for isolated process Azure Functions.
dotnet add package Octokit.Webhooks.AzureFunctions
Create a class that derives from
WebhookEventProcessor
and override any of the virtual methods to handle webhooks from GitHub. For example, to handle Pull Request webhooks:public sealed class MyWebhookEventProcessor : WebhookEventProcessor { protected override Task ProcessPullRequestWebhookAsync(WebhookHeaders headers, PullRequestEvent pullRequestEvent, PullRequestAction action) { ... } }
Register your implementation of
WebhookEventProcessor
:.ConfigureServices(collection => { ... collection.AddSingleton<WebhookEventProcessor, MyWebhookEventProcessor>(); ... })
Configure the webhook function:
new HostBuilder() ... .ConfigureGitHubWebhooks() ... .Build();
ConfigureGitHubWebhooks()
either takes an optional parameter:
secret
. The secret you have configured in GitHub, if you have set this up.
or:
configure
. A function that takes an IConfiguration instance and expects the secret you have configured in GitHub in return.
The function is available on the /api/github/webhooks
endpoint.
Thanks
License
All packages in this repository are licensed under the MIT license.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- Microsoft.Azure.Functions.Worker.Core (>= 1.19.0)
- Microsoft.Azure.Functions.Worker.Extensions.Abstractions (>= 1.3.0)
- Microsoft.Azure.Functions.Worker.Extensions.Http (>= 3.2.0)
- Octokit.Webhooks (>= 2.4.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.4.1 | 608 | 10/22/2024 |
2.4.0 | 112 | 10/9/2024 |
2.3.0 | 113 | 10/2/2024 |
2.2.3 | 1,239 | 7/31/2024 |
2.2.2 | 193 | 6/27/2024 |
2.2.1 | 259 | 5/9/2024 |
2.2.0 | 125 | 5/6/2024 |
2.1.1 | 119 | 2/29/2024 |
2.1.0 | 200 | 12/19/2023 |
2.0.6 | 148 | 11/12/2023 |
2.0.5 | 101 | 10/26/2023 |
2.0.4 | 345 | 10/12/2023 |
2.0.3 | 1,229 | 8/25/2023 |
2.0.2 | 311 | 8/16/2023 |
2.0.1 | 182 | 6/13/2023 |
2.0.0 | 96 | 6/9/2023 |
1.5.2 | 109 | 6/1/2023 |
1.5.1 | 129 | 4/27/2023 |
1.5.0 | 105 | 4/25/2023 |
1.4.1 | 118 | 4/11/2023 |
1.4.0 | 102 | 4/6/2023 |
1.3.5 | 161 | 10/13/2022 |
1.3.4 | 96 | 10/5/2022 |
1.3.3 | 144 | 8/11/2022 |
1.3.2 | 130 | 8/9/2022 |