diff --git a/src/Octokit.Webhooks/Events/PullRequest/PullRequestAction.cs b/src/Octokit.Webhooks/Events/PullRequest/PullRequestAction.cs index bd629d97..0f91b476 100644 --- a/src/Octokit.Webhooks/Events/PullRequest/PullRequestAction.cs +++ b/src/Octokit.Webhooks/Events/PullRequest/PullRequestAction.cs @@ -15,12 +15,16 @@ public sealed record PullRequestAction : WebhookEventAction public static readonly PullRequestAction Dequeued = new(PullRequestActionValue.Dequeued); + public static readonly PullRequestAction Demilestoned = new(PullRequestActionValue.Demilestoned); + public static readonly PullRequestAction Edited = new(PullRequestActionValue.Edited); public static readonly PullRequestAction Labeled = new(PullRequestActionValue.Labeled); public static readonly PullRequestAction Locked = new(PullRequestActionValue.Locked); + public static readonly PullRequestAction Milestoned = new(PullRequestActionValue.Milestoned); + public static readonly PullRequestAction Opened = new(PullRequestActionValue.Opened); public static readonly PullRequestAction Queued = new(PullRequestActionValue.Queued); diff --git a/src/Octokit.Webhooks/Events/PullRequest/PullRequestActionValue.cs b/src/Octokit.Webhooks/Events/PullRequest/PullRequestActionValue.cs index 1f7cced0..2756f41c 100644 --- a/src/Octokit.Webhooks/Events/PullRequest/PullRequestActionValue.cs +++ b/src/Octokit.Webhooks/Events/PullRequest/PullRequestActionValue.cs @@ -12,6 +12,8 @@ public static class PullRequestActionValue public const string ConvertedToDraft = "converted_to_draft"; + public const string Demilestoned = "demilestoned"; + public const string Dequeued = "dequeued"; public const string Edited = "edited"; @@ -20,6 +22,8 @@ public static class PullRequestActionValue public const string Locked = "locked"; + public const string Milestoned = "milestoned"; + public const string Opened = "opened"; public const string Queued = "queued"; diff --git a/src/Octokit.Webhooks/Events/PullRequest/PullRequestDemilestoned.cs b/src/Octokit.Webhooks/Events/PullRequest/PullRequestDemilestoned.cs new file mode 100644 index 00000000..d1237973 --- /dev/null +++ b/src/Octokit.Webhooks/Events/PullRequest/PullRequestDemilestoned.cs @@ -0,0 +1,14 @@ +namespace Octokit.Webhooks.Events.PullRequest; + +using Milestone = Octokit.Webhooks.Models.Milestone; + +[PublicAPI] +[WebhookActionType(PullRequestActionValue.Demilestoned)] +public sealed record PullRequestDemilestoned : PullRequestEvent +{ + [JsonPropertyName("action")] + public override string Action => PullRequestAction.Demilestoned; + + [JsonPropertyName("milestone")] + public Milestone Milestone { get; init; } = null!; +} diff --git a/src/Octokit.Webhooks/Events/PullRequest/PullRequestMilestoned.cs b/src/Octokit.Webhooks/Events/PullRequest/PullRequestMilestoned.cs new file mode 100644 index 00000000..117d1333 --- /dev/null +++ b/src/Octokit.Webhooks/Events/PullRequest/PullRequestMilestoned.cs @@ -0,0 +1,14 @@ +namespace Octokit.Webhooks.Events.PullRequest; + +using Milestone = Octokit.Webhooks.Models.Milestone; + +[PublicAPI] +[WebhookActionType(PullRequestActionValue.Milestoned)] +public sealed record PullRequestMilestoned : PullRequestEvent +{ + [JsonPropertyName("action")] + public override string Action => PullRequestAction.Milestoned; + + [JsonPropertyName("milestone")] + public Milestone Milestone { get; init; } = null!; +} diff --git a/src/Octokit.Webhooks/WebhookEventProcessor.cs b/src/Octokit.Webhooks/WebhookEventProcessor.cs index bcd642ea..7c4c492c 100644 --- a/src/Octokit.Webhooks/WebhookEventProcessor.cs +++ b/src/Octokit.Webhooks/WebhookEventProcessor.cs @@ -789,9 +789,12 @@ private Task ProcessPullRequestWebhookAsync(WebhookHeaders headers, PullRequestE => this.ProcessPullRequestWebhookAsync(headers, pullRequestEvent, PullRequestAction.ConvertedToDraft), PullRequestActionValue.Dequeued => this.ProcessPullRequestWebhookAsync(headers, pullRequestEvent, PullRequestAction.Dequeued), + PullRequestActionValue.Demilestoned => + this.ProcessPullRequestWebhookAsync(headers, pullRequestEvent, PullRequestAction.Demilestoned), PullRequestActionValue.Edited => this.ProcessPullRequestWebhookAsync(headers, pullRequestEvent, PullRequestAction.Edited), PullRequestActionValue.Labeled => this.ProcessPullRequestWebhookAsync(headers, pullRequestEvent, PullRequestAction.Labeled), PullRequestActionValue.Locked => this.ProcessPullRequestWebhookAsync(headers, pullRequestEvent, PullRequestAction.Locked), + PullRequestActionValue.Milestoned => this.ProcessPullRequestWebhookAsync(headers, pullRequestEvent, PullRequestAction.Milestoned), PullRequestActionValue.Opened => this.ProcessPullRequestWebhookAsync(headers, pullRequestEvent, PullRequestAction.Opened), PullRequestActionValue.Queued => this.ProcessPullRequestWebhookAsync(headers, pullRequestEvent, PullRequestAction.Queued),