From be10e0997378bb1d23bcb811b0789d1c3f4c6120 Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 00:44:15 +0200 Subject: [PATCH 01/10] feat: Handle oneOf/anyOf with inline object variants Previously, oneOf/anyOf unions with inline (non-$ref$) object variants degraded to 'object', losing type information. Now, inline object variants are hoisted to named records, and the union is emitted as an abstract record with [JsonDerivedType] attributes referencing both $ref$ variants and hoisted inline objects. - Extend IsInlineRefUnion to IsInlineUnion: accepts inline objects alongside $ref$ variants - In TryHoistPropertySchema, hoist inline object variants before hoisting the union itself - In DiscoverInlineObjects, scan oneOf/anyOf variants for component-level union schemas - In EmitSimpleUnion, resolve inline object variants to their hoisted type names for [JsonDerivedType] attributes - Add TypeResolver.GetInlineObjectTypeName for looking up hoisted names - Add 4 tests: mixed ref+inline, all-inline, component-level, compilation --- src/OpenApiCodeGenerator/CSharpCodeEmitter.cs | 90 +++++-- src/OpenApiCodeGenerator/TypeResolver.cs | 9 + .../CSharpCodeEmitterTests.cs | 225 ++++++++++++++++++ 3 files changed, 309 insertions(+), 15 deletions(-) diff --git a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs index 3903097..576bc28 100644 --- a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs +++ b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs @@ -517,6 +517,25 @@ private void DiscoverInlineObjects( { TryHoistPropertySchema(ownAddProps, enclosingTypeName, "Value", typeNameMap, usedNames, visited); } + + // Scan oneOf/anyOf variants for inline objects (handles component-level union schemas + // where variants include inline object definitions that need to be hoisted) + IList? unionVariants = schema.OneOf ?? schema.AnyOf; + if (unionVariants != null) + { + int variantIndex = 1; + foreach (IOpenApiSchema variant in unionVariants) + { + if (variant is not OpenApiSchemaReference && !_knownSchemas.Contains(variant)) + { + // Try to hoist inline objects within union variants + string variantPropName = $"Variant{variantIndex}"; + TryHoistPropertySchema(variant, enclosingTypeName, variantPropName, typeNameMap, usedNames, visited); + } + + variantIndex++; + } + } } /// @@ -548,9 +567,29 @@ private void DiscoverInlineObjects( return inlineTypeName; } - if (IsInlineRefUnion(propSchema)) + if (IsInlineUnion(propSchema)) { string inlineTypeName = SynthesizeInlineTypeName(enclosingTypeName, propName, usedNames); + + // Hoist any inline object variants within the union before hoisting the union itself. + // This ensures the inline objects are registered with TypeResolver and emitted as records. + IList? variants = propSchema.OneOf ?? propSchema.AnyOf; + if (variants != null) + { + int variantIndex = 1; + foreach (IOpenApiSchema variant in variants) + { + if (IsInlineObject(variant)) + { + string variantTypeName = SynthesizeInlineTypeName(inlineTypeName, $"Variant{variantIndex}", usedNames); + HoistInlineObject(variant, variantTypeName, typeNameMap, usedNames); + DiscoverInlineObjects(variant, variantTypeName, typeNameMap, usedNames, visited); + } + + variantIndex++; + } + } + HoistInlineObject(propSchema, inlineTypeName, typeNameMap, usedNames); return inlineTypeName; } @@ -642,10 +681,11 @@ private bool IsInlineAllOfComposition(IOpenApiSchema schema) } /// - /// Detects an inline oneOf/anyOf where all variants are $refs — should be - /// hoisted as an abstract record with [JsonDerivedType] attributes. + /// Detects an inline oneOf/anyOf where all variants are $refs or inline objects — + /// should be hoisted as an abstract record with [JsonDerivedType] attributes. + /// Inline object variants are hoisted to named records before the union is hoisted. /// - private bool IsInlineRefUnion(IOpenApiSchema schema) + private bool IsInlineUnion(IOpenApiSchema schema) { // Skip $ref schemas if (schema is OpenApiSchemaReference) @@ -682,8 +722,8 @@ private bool IsInlineRefUnion(IOpenApiSchema schema) return false; } - // All variants must be $refs - return variants.All(v => v is OpenApiSchemaReference); + // All variants must be $refs or inline objects (hoistable to records) + return variants.All(v => v is OpenApiSchemaReference || IsInlineObject(v)); } private static string SynthesizeInlineTypeName(string enclosingTypeName, string propName, HashSet usedNames) @@ -1223,10 +1263,22 @@ private void EmitSimpleUnion(string typeName, IList variants) .ToList(); // Collect the variant type names for documentation - var variantNames = nonNullVariants - .OfType() - .Select(v => NameHelper.ToTypeName(v.Reference.Id, _options.ModelPrefix)) - .ToList(); + var variantNames = new List(); + foreach (IOpenApiSchema variant in nonNullVariants) + { + if (variant is OpenApiSchemaReference refVariant) + { + variantNames.Add(NameHelper.ToTypeName(refVariant.Reference.Id, _options.ModelPrefix)); + } + else + { + string? hoistedName = _typeResolver.GetInlineObjectTypeName(variant); + if (hoistedName != null) + { + variantNames.Add(hoistedName); + } + } + } if (variantNames.Count > 0) { @@ -1235,13 +1287,21 @@ private void EmitSimpleUnion(string typeName, IList variants) AppendLine($"/// "); } - // If all non-null variants are $refs, emit as an abstract record with JsonDerivedType attributes - if (nonNullVariants.Count > 0 && nonNullVariants.All(v => v is OpenApiSchemaReference)) + // Emit [JsonDerivedType] for each resolvable variant + foreach (IOpenApiSchema variant in nonNullVariants) { - foreach (OpenApiSchemaReference variant in nonNullVariants.OfType()) + if (variant is OpenApiSchemaReference refVariant) + { + string derivedName = NameHelper.ToTypeName(refVariant.Reference.Id, _options.ModelPrefix); + AppendLine($"[JsonDerivedType(typeof({derivedName}), \"{refVariant.Reference.Id}\")]"); + } + else { - string derivedName = NameHelper.ToTypeName(variant.Reference.Id, _options.ModelPrefix); - AppendLine($"[JsonDerivedType(typeof({derivedName}), \"{variant.Reference.Id}\")]"); + string? hoistedName = _typeResolver.GetInlineObjectTypeName(variant); + if (hoistedName != null) + { + AppendLine($"[JsonDerivedType(typeof({hoistedName}), \"{hoistedName}\")]"); + } } } diff --git a/src/OpenApiCodeGenerator/TypeResolver.cs b/src/OpenApiCodeGenerator/TypeResolver.cs index 5aa2760..1da1657 100644 --- a/src/OpenApiCodeGenerator/TypeResolver.cs +++ b/src/OpenApiCodeGenerator/TypeResolver.cs @@ -30,6 +30,15 @@ public void RegisterInlineObjectType(IOpenApiSchema schema, string typeName) _inlineObjectTypes[schema] = typeName; } + /// + /// Returns the synthesized type name for an inline object schema if it has been + /// registered via , or null otherwise. + /// + public string? GetInlineObjectTypeName(IOpenApiSchema schema) + { + return _inlineObjectTypes.TryGetValue(schema, out string? name) ? name : null; + } + /// /// Resolve an to a C# type string. /// diff --git a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs index 7fb744a..24b8be3 100644 --- a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs +++ b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs @@ -2197,6 +2197,231 @@ public void Emit_HoistedObjectNameCollisionBetweenTwoHoistedObjects_Differentiat #endregion + #region oneOf/anyOf with Inline Object Variants + + [Fact] + public void Emit_InlineOneOfWithRefAndInlineObject_HoistsInlineObject() + { + var schemas = new Dictionary + { + ["A"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["name"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + ["MyRecord"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["value"] = new OpenApiSchema + { + OneOf = new List + { + new OpenApiSchemaReference("A"), + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["x"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + } + } + } + } + } + }; + + string result = Generate(schemas); + + // Property should reference the hoisted union type, not "object" + Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); + + // Union should have [JsonDerivedType] for both $ref and hoisted inline object + Assert.Contains("[JsonDerivedType(typeof(A), \"A\")]", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant2), \"MyRecordValueVariant2\")]", result, StringComparison.Ordinal); + + // Inline object variant should be hoisted to a named record + Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); + Assert.Contains("public string? X { get; init; }", result, StringComparison.Ordinal); + + // Union should be an abstract record + Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); + } + + [Fact] + public void Emit_InlineOneOfAllInlineObjects_HoistsAllVariants() + { + var schemas = new Dictionary + { + ["MyRecord"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["value"] = new OpenApiSchema + { + OneOf = new List + { + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["type"] = new OpenApiSchema { Type = JsonSchemaType.String }, + ["name"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["type"] = new OpenApiSchema { Type = JsonSchemaType.String }, + ["count"] = new OpenApiSchema { Type = JsonSchemaType.Integer } + } + } + } + } + } + } + }; + + string result = Generate(schemas); + + Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); + Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); + Assert.Contains("public partial record MyRecordValueVariant1", result, StringComparison.Ordinal); + Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant1), \"MyRecordValueVariant1\")]", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant2), \"MyRecordValueVariant2\")]", result, StringComparison.Ordinal); + } + + [Fact] + public void Emit_ComponentLevelOneOfWithRefAndInlineObject_HoistsInlineObject() + { + var schemas = new Dictionary + { + ["A"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["name"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + ["MyUnion"] = new OpenApiSchema + { + OneOf = new List + { + new OpenApiSchemaReference("A"), + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["label"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + } + } + } + }; + + string result = Generate(schemas); + + Assert.Contains("public abstract partial record MyUnion;", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(A), \"A\")]", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(MyUnionVariant2), \"MyUnionVariant2\")]", result, StringComparison.Ordinal); + Assert.Contains("public partial record MyUnionVariant2", result, StringComparison.Ordinal); + Assert.Contains("public string? Label { get; init; }", result, StringComparison.Ordinal); + } + + [Fact] + public async Task Emit_InlineOneOfWithRefAndInlineObject_CompilesSuccessfully() + { + var schemas = new Dictionary + { + ["A"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["name"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + ["MyRecord"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["value"] = new OpenApiSchema + { + OneOf = new List + { + new OpenApiSchemaReference("A"), + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["x"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + } + } + } + } + } + }; + + string result = Generate(schemas); + + string tempRoot = Path.Combine( + AppContext.BaseDirectory, "..", "..", "..", "..", + "TestResults", "InlineUnionCompile", Guid.NewGuid().ToString("N")); + Directory.CreateDirectory(tempRoot); + try + { + await File.WriteAllTextAsync(Path.Combine(tempRoot, "Generated.cs"), result); + await File.WriteAllTextAsync(Path.Combine(tempRoot, "Harness.csproj"), """ + + + net10.0 + enable + All + true + + + """); + using var proc = new System.Diagnostics.Process(); + proc.StartInfo = new System.Diagnostics.ProcessStartInfo + { + FileName = "dotnet", + Arguments = $"build \"{Path.Combine(tempRoot, "Harness.csproj")}\" -v q --nologo", + WorkingDirectory = tempRoot, + RedirectStandardOutput = true, + RedirectStandardError = true, + UseShellExecute = false, + CreateNoWindow = true + }; + proc.Start(); + string stdout = await proc.StandardOutput.ReadToEndAsync(); + string stderr = await proc.StandardError.ReadToEndAsync(); + await proc.WaitForExitAsync(); + Assert.True(proc.ExitCode == 0, + $"Inline union code failed to compile.{Environment.NewLine}STDOUT:{stdout}{Environment.NewLine}STDERR:{stderr}"); + } + finally + { + if (Directory.Exists(tempRoot)) Directory.Delete(tempRoot, recursive: true); + } + } + + #endregion + #region Default Value Emission [Fact] From 51fbce4c7de64be49ee43cf4f68691c5fa053b59 Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 15:05:56 +0200 Subject: [PATCH 02/10] docs: Add inline oneOf/anyOf variants to showcase and regenerate examples - Add escalation oneOf (mixed ref + inline object) to showcase-openapi.yaml - Document the new case in the examples README - Regenerate all example outputs from merged main --- .../OpenApiCodeGenerator.Examples/README.md | 1 + .../output/github-api-next.cs | 16418 ++++++++++++++-- .../output/github-api.cs | 16418 ++++++++++++++-- .../output/showcase-openapi.cs | 30 + .../specs/showcase-openapi.yaml | 18 + 5 files changed, 30531 insertions(+), 2354 deletions(-) diff --git a/examples/OpenApiCodeGenerator.Examples/README.md b/examples/OpenApiCodeGenerator.Examples/README.md index 794654c..984ad52 100644 --- a/examples/OpenApiCodeGenerator.Examples/README.md +++ b/examples/OpenApiCodeGenerator.Examples/README.md @@ -24,6 +24,7 @@ The local showcase spec is intentionally compact and demonstrates: - `allOf` inheritance - `oneOf` discriminator generation - `anyOf` union generation +- `oneOf` with inline object variants (hoisted to named records with `[JsonDerivedType]`) - string enums and inline enums - arrays, nullable fields, and `additionalProperties` - `deprecated` schemas and properties emitted with `[Obsolete]` diff --git a/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs b/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs index c8688d6..bdaaffd 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs @@ -3484,6 +3484,20 @@ public enum TeamMemberRole Maintainer } +/// +/// The role granted to the collaborator +/// +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum CopilotSpaceCollaboratorVariant2Role +{ + [JsonStringEnumMemberName("reader")] + Reader, + [JsonStringEnumMemberName("writer")] + Writer, + [JsonStringEnumMemberName("admin")] + Admin +} + /// /// Determines if the team has a direct, indirect, or mixed relationship to a role /// @@ -3586,6 +3600,19 @@ public enum RepositoryRuleMergeQueueParametersMergeMethod Rebase } +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum PullRequestMergeAsyncResultDetailsVariant1MergeMethod +{ + [JsonStringEnumMemberName("default")] + Default, + [JsonStringEnumMemberName("merge")] + Merge, + [JsonStringEnumMemberName("squash")] + Squash, + [JsonStringEnumMemberName("rebase")] + Rebase +} + /// /// The type of content tracked in a project item /// @@ -3684,8 +3711,8 @@ public enum ValuesEditableBy /// /// The type of actor that can bypass a ruleset. /// -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum ActorType +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum RepositoryRulesetBypassActorActorType { [JsonStringEnumMemberName("Integration")] Integration, @@ -3701,6 +3728,16 @@ public enum ActorType User } +/// +/// The collaborator actor type. +/// +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum CopilotSpaceCollaboratorVariant2ActorType +{ + [JsonStringEnumMemberName("Team")] + Team +} + /// /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. /// @@ -5514,6 +5551,20 @@ public enum WebhookGollumPagesAction Edited } +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum WebhookPullRequestReviewRequestRemovedVariant1Action +{ + [JsonStringEnumMemberName("review_request_removed")] + ReviewRequestRemoved +} + +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum WebhookPullRequestReviewRequestedVariant1Action +{ + [JsonStringEnumMemberName("review_requested")] + ReviewRequested +} + /// /// The side of the first line of the range for a multi-line comment. /// @@ -5951,6 +6002,17 @@ public enum Operator Regex } +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum MergeAction +{ + [JsonStringEnumMemberName("default")] + Default, + [JsonStringEnumMemberName("merge_queue")] + MergeQueue, + [JsonStringEnumMemberName("direct_merge")] + DirectMerge +} + [JsonConverter(typeof(JsonStringEnumConverter))] public enum ContentReferences { @@ -17258,7 +17320,7 @@ public partial record RepositoryRulesetBypassActor /// The type of actor that can bypass a ruleset. /// [JsonPropertyName("actor_type")] - public required ActorType ActorType { get; init; } + public required RepositoryRulesetBypassActorActorType ActorType { get; init; } /// /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. @@ -24247,7 +24309,7 @@ public partial record Environment /// Built-in deployment protection rules for the environment. /// [JsonPropertyName("protection_rules")] - public IReadOnlyList? ProtectionRules { get; init; } + public IReadOnlyList? ProtectionRules { get; init; } /// /// The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. @@ -27476,7 +27538,7 @@ public partial record PullRequestMergeAsyncResult public required PullRequestMergeAsyncResultStatus Status { get; init; } [JsonPropertyName("details")] - public required object Details { get; init; } + public required PullRequestMergeAsyncResultDetails Details { get; init; } } @@ -32671,7 +32733,7 @@ public partial record WebhooksPullRequest5 public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -41646,7 +41708,7 @@ public partial record WebhookProjectsV2ItemEdited /// It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. /// [JsonPropertyName("changes")] - public object? Changes { get; init; } + public WebhookProjectsV2ItemEditedChanges? Changes { get; init; } /// /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured @@ -42984,8 +43046,18 @@ public partial record WebhookPullRequestReviewEdited } +/// +/// Union of: WebhookPullRequestReviewRequestRemovedVariant1 | WebhookPullRequestReviewRequestRemovedVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1), "WebhookPullRequestReviewRequestRemovedVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2), "WebhookPullRequestReviewRequestRemovedVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemoved; +/// +/// Union of: WebhookPullRequestReviewRequestedVariant1 | WebhookPullRequestReviewRequestedVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1), "WebhookPullRequestReviewRequestedVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2), "WebhookPullRequestReviewRequestedVariant2")] public abstract partial record WebhookPullRequestReviewRequested; public partial record WebhookPullRequestReviewSubmitted @@ -49563,6 +49635,64 @@ public partial record CopilotSpaceResourcesAttributesMetadata } +public partial record CopilotSpaceCollaboratorVariant2 +{ + /// + /// The collaborator actor type. + /// + [JsonPropertyName("actor_type")] + public required CopilotSpaceCollaboratorVariant2ActorType ActorType { get; init; } + + /// + /// The role granted to the collaborator + /// + [JsonPropertyName("role")] + public required CopilotSpaceCollaboratorVariant2Role Role { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + [JsonPropertyName("type")] + public required RepositoryRuleParamsReviewerType Type { get; init; } + + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("privacy")] + public string? Privacy { get; init; } + + [JsonPropertyName("notification_setting")] + public string? NotificationSetting { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("organization_id")] + public int? OrganizationId { get; init; } + + [JsonPropertyName("parent")] + public object? Parent { get; init; } + +} + /// /// The team through which the assignee is granted access to GitHub Copilot, if applicable. /// @@ -52710,6 +52840,91 @@ public partial record SnapshotDetector } +public partial record EnvironmentProtectionRulesVariant1 +{ + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("type")] + public required string Type { get; init; } + + /// + /// The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). + /// + [JsonPropertyName("wait_timer")] + public WaitTimer? WaitTimer { get; init; } + +} + +public partial record EnvironmentProtectionRulesVariant2 +{ + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Whether deployments to this environment can be approved by the user who created the deployment. + /// + [JsonPropertyName("prevent_self_review")] + public bool? PreventSelfReview { get; init; } + + [JsonPropertyName("type")] + public required string Type { get; init; } + + /// + /// The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. + /// + [JsonPropertyName("reviewers")] + public IReadOnlyList? Reviewers { get; init; } + +} + +public partial record EnvironmentProtectionRulesVariant2Reviewers +{ + /// + /// The type of reviewer. + /// + [JsonPropertyName("type")] + public PendingDeploymentReviewersType? Type { get; init; } + + [JsonPropertyName("reviewer")] + public EnvironmentProtectionRulesVariant2ReviewersReviewer? Reviewer { get; init; } + +} + +/// +/// Union of: SimpleUser | Team +/// +[JsonDerivedType(typeof(SimpleUser), "simple-user")] +[JsonDerivedType(typeof(Team), "team")] +public abstract partial record EnvironmentProtectionRulesVariant2ReviewersReviewer; + +public partial record EnvironmentProtectionRulesVariant3 +{ + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("type")] + public required string Type { get; init; } + +} + +/// +/// Union of: EnvironmentProtectionRulesVariant1 | EnvironmentProtectionRulesVariant2 | EnvironmentProtectionRulesVariant3 +/// +[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant1), "EnvironmentProtectionRulesVariant1")] +[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant2), "EnvironmentProtectionRulesVariant2")] +[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant3), "EnvironmentProtectionRulesVariant3")] +public abstract partial record EnvironmentProtectionRules; + /// /// Identifying information for the git-user /// @@ -53557,6 +53772,62 @@ public partial record PullRequestLinks } +/// +/// When an asynchronous merge request was created or already existed +/// +public partial record PullRequestMergeAsyncResultDetailsVariant1 +{ + [JsonPropertyName("message")] + public required string Message { get; init; } + + [JsonPropertyName("uuid")] + public required string Uuid { get; init; } + + [JsonPropertyName("merge_method")] + public required PullRequestMergeAsyncResultDetailsVariant1MergeMethod MergeMethod { get; init; } + + [JsonPropertyName("merge_action")] + public required MergeAction MergeAction { get; init; } + + /// + /// SHA that the pull request head must match for the enqueued merge to proceed. + /// + [JsonPropertyName("expected_head_sha")] + public required string ExpectedHeadSha { get; init; } + +} + +/// +/// When the pull request cannot be merged +/// +public partial record PullRequestMergeAsyncResultDetailsVariant2 +{ + [JsonPropertyName("message")] + public required string Message { get; init; } + +} + +/// +/// When the pull request is already merged +/// +public partial record PullRequestMergeAsyncResultDetailsVariant3 +{ + [JsonPropertyName("message")] + public required string Message { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + +} + +/// +/// Union of: PullRequestMergeAsyncResultDetailsVariant1 | PullRequestMergeAsyncResultDetailsVariant2 | PullRequestMergeAsyncResultDetailsVariant3 +/// +[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant1), "PullRequestMergeAsyncResultDetailsVariant1")] +[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant2), "PullRequestMergeAsyncResultDetailsVariant2")] +[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant3), "PullRequestMergeAsyncResultDetailsVariant3")] +public abstract partial record PullRequestMergeAsyncResultDetails; + public partial record PullRequestReviewLinks { [JsonPropertyName("html")] @@ -58957,10 +59228,197 @@ public partial record WebhooksPullRequest5MilestoneCreator } +public partial record WebhooksPullRequest5RequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhooksPullRequest5RequestedTeams +public partial record WebhooksPullRequest5RequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhooksPullRequest5RequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhooksPullRequest5RequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhooksPullRequest5RequestedReviewersVariant1 | WebhooksPullRequest5RequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant1), "WebhooksPullRequest5RequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant2), "WebhooksPullRequest5RequestedReviewersVariant2")] +public abstract partial record WebhooksPullRequest5RequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhooksPullRequest5RequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -87158,6 +87616,63 @@ public partial record WebhookProjectsV2ItemConvertedChangesContentType } +public partial record WebhookProjectsV2ItemEditedChangesVariant1 +{ + [JsonPropertyName("field_value")] + public required WebhookProjectsV2ItemEditedChangesVariant1FieldValue FieldValue { get; init; } + +} + +public partial record WebhookProjectsV2ItemEditedChangesVariant1FieldValue +{ + [JsonPropertyName("field_node_id")] + public string? FieldNodeId { get; init; } + + [JsonPropertyName("field_type")] + public string? FieldType { get; init; } + + [JsonPropertyName("field_name")] + public string? FieldName { get; init; } + + [JsonPropertyName("project_number")] + public int? ProjectNumber { get; init; } + + [JsonPropertyName("from")] + public object? From { get; init; } + + [JsonPropertyName("to")] + public object? To { get; init; } + +} + +public partial record WebhookProjectsV2ItemEditedChangesVariant2 +{ + [JsonPropertyName("body")] + public required WebhookProjectsV2ItemEditedChangesVariant2Body Body { get; init; } + +} + +public partial record WebhookProjectsV2ItemEditedChangesVariant2Body +{ + [JsonPropertyName("from")] + public string? From { get; init; } + + [JsonPropertyName("to")] + public string? To { get; init; } + +} + +/// +/// The changes made to the item may involve modifications in the item's fields and draft issue body. +/// It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. +/// +/// +/// Union of: WebhookProjectsV2ItemEditedChangesVariant1 | WebhookProjectsV2ItemEditedChangesVariant2 +/// +[JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant1), "WebhookProjectsV2ItemEditedChangesVariant1")] +[JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant2), "WebhookProjectsV2ItemEditedChangesVariant2")] +public abstract partial record WebhookProjectsV2ItemEditedChanges; + public partial record WebhookProjectsV2ItemReorderedChanges { [JsonPropertyName("previous_projects_v2_item_node_id")] @@ -87363,7 +87878,7 @@ public partial record WebhookPullRequestAssignedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -89149,120 +89664,310 @@ public partial record WebhookPullRequestAssignedPullRequestMilestoneCreator } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAssignedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAssignedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestUser +public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestAssignedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAssignedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAssignedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -89464,7 +90169,7 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -91247,6 +91952,196 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequestMilestoneCre } +public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -91562,7 +92457,7 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -93345,68 +94240,258 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequestMilestoneCrea } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeams +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 { + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent? Parent { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } - [JsonPropertyName("slug")] - public string? Slug { get; init; } + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent { /// /// Description of the team @@ -93660,7 +94745,7 @@ public partial record WebhookPullRequestDequeuedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -95443,120 +96528,310 @@ public partial record WebhookPullRequestDequeuedPullRequestMilestoneCreator } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestDequeuedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestDequeuedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestUser +public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestDequeuedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestDequeuedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestDequeuedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -95818,7 +97093,7 @@ public partial record WebhookPullRequestEnqueuedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -97601,6 +98876,196 @@ public partial record WebhookPullRequestEnqueuedPullRequestMilestoneCreator } +public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -97916,7 +99381,7 @@ public partial record WebhookPullRequestLabeledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -99699,68 +101164,258 @@ public partial record WebhookPullRequestLabeledPullRequestMilestoneCreator } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestLabeledPullRequestRequestedTeams +public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 { + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestLabeledPullRequestRequestedTeamsParent? Parent { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } - [JsonPropertyName("slug")] - public string? Slug { get; init; } + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } -public partial record WebhookPullRequestLabeledPullRequestRequestedTeamsParent +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestLabeledPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestLabeledPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestLabeledPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestLabeledPullRequestRequestedTeamsParent { /// /// Description of the team @@ -100014,7 +101669,7 @@ public partial record WebhookPullRequestLockedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -101797,10 +103452,80 @@ public partial record WebhookPullRequestLockedPullRequestMilestoneCreator } +public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestLockedPullRequestRequestedTeams +public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -101809,10 +103534,10 @@ public partial record WebhookPullRequestLockedPullRequestRequestedTeams /// Description of the team /// [JsonPropertyName("description")] - public string? Description { get; init; } + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -101821,7 +103546,7 @@ public partial record WebhookPullRequestLockedPullRequestRequestedTeams public required int Id { get; init; } [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + public required string MembersUrl { get; init; } /// /// Name of the team @@ -101830,35 +103555,155 @@ public partial record WebhookPullRequestLockedPullRequestRequestedTeams public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } + public required string NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestLockedPullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestLockedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public string? Permission { get; init; } + public required string Permission { get; init; } [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + public required WebhooksTeamPrivacy Privacy { get; init; } [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + public required Uri RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public string? Slug { get; init; } + public required string Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public Uri? Url { get; init; } + public required Uri Url { get; init; } } -public partial record WebhookPullRequestLockedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestLockedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestLockedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestLockedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestLockedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -102362,7 +104207,7 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -104066,6 +105911,196 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequestMilestone } +public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -104339,7 +106374,7 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -106043,6 +108078,196 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequestMilestone } +public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -106316,7 +108541,7 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -108023,120 +110248,310 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequestMilestoneC } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestUser +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -108296,7 +110711,7 @@ public partial record WebhookPullRequestReviewDismissedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -110000,6 +112415,196 @@ public partial record WebhookPullRequestReviewDismissedPullRequestMilestoneCreat } +public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -110439,7 +113044,7 @@ public partial record WebhookPullRequestReviewEditedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -112001,68 +114606,258 @@ public partial record WebhookPullRequestReviewEditedPullRequestMilestoneCreator } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeams +public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 { + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent? Parent { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } - [JsonPropertyName("slug")] - public string? Slug { get; init; } + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } -public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -112184,19 +114979,77 @@ public partial record WebhookPullRequestReviewEditedPullRequestUser } -public partial record WebhookPullRequestReviewSubmittedPullRequest +public partial record WebhookPullRequestReviewRequestRemovedVariant1 +{ + [JsonPropertyName("action")] + public required WebhookPullRequestReviewRequestRemovedVariant1Action Action { get; init; } + + /// + /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + /// on an enterprise account or an organization that's part of an enterprise account. For more information, + /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + /// + [JsonPropertyName("enterprise")] + public EnterpriseWebhooks? Enterprise { get; init; } + + /// + /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + /// for and sent to a GitHub App. For more information, + /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + /// + [JsonPropertyName("installation")] + public SimpleInstallation? Installation { get; init; } + + /// + /// The pull request number. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + /// + /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + /// organization, or when the event occurs from activity in a repository owned by an organization. + /// + [JsonPropertyName("organization")] + public OrganizationSimpleWebhooks? Organization { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequest PullRequest { get; init; } + + /// + /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + /// when the event occurs from activity in a repository. + /// + [JsonPropertyName("repository")] + public required RepositoryWebhooks Repository { get; init; } + + [JsonPropertyName("requested_reviewer")] + public required WebhookPullRequestReviewRequestRemovedVariant1RequestedReviewer? RequestedReviewer { get; init; } + + /// + /// A GitHub user. + /// + [JsonPropertyName("sender")] + public required SimpleUser Sender { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewSubmittedPullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } + [JsonPropertyName("additions")] + public int? Additions { get; init; } + [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewSubmittedPullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -112208,34 +115061,49 @@ public partial record WebhookPullRequestReviewSubmittedPullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewSubmittedPullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewSubmittedPullRequestBase Base { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } + [JsonPropertyName("changed_files")] + public int? ChangedFiles { get; init; } + [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("comments")] + public int? Comments { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } + [JsonPropertyName("commits")] + public int? Commits { get; init; } + [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("deletions")] + public int? Deletions { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } + /// + /// Indicates whether or not the pull request is a draft. + /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewSubmittedPullRequestHead Head { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -112247,41 +115115,68 @@ public partial record WebhookPullRequestReviewSubmittedPullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } + /// + /// Indicates whether maintainers can modify the pull request. + /// + [JsonPropertyName("maintainer_can_modify")] + public bool? MaintainerCanModify { get; init; } + [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } + [JsonPropertyName("mergeable")] + public bool? Mergeable { get; init; } + + [JsonPropertyName("mergeable_state")] + public string? MergeableState { get; init; } + + [JsonPropertyName("merged")] + public bool? Merged { get; init; } + [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } + public required DateTimeOffset? MergedAt { get; init; } + + [JsonPropertyName("merged_by")] + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestMergedBy? MergedBy { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewSubmittedPullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + /// + /// Number uniquely identifying the pull request within its repository. + /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } + [JsonPropertyName("rebaseable")] + public bool? Rebaseable { get; init; } + [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } + [JsonPropertyName("review_comments")] + public int? ReviewComments { get; init; } + [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -112291,111 +115186,117 @@ public partial record WebhookPullRequestReviewSubmittedPullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } + /// + /// State of this Pull Request. Either `open` or `closed`. + /// [JsonPropertyName("state")] public required MilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } + /// + /// The title of the pull request. + /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } + public required DateTimeOffset UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinks +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksComments +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksCommits +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksHtml +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksIssue +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksSelf +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksStatuses +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -112455,7 +115356,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -112465,7 +115366,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee } -public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -112525,17 +115426,20 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -112550,7 +115454,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -112560,7 +115464,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge } -public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -112630,7 +115534,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabl } -public partial record WebhookPullRequestReviewSubmittedPullRequestBase +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -112642,20 +115546,20 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBase /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -112874,7 +115778,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense? License { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } @@ -112929,10 +115833,10 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -112959,20 +115863,13 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo public required int Size { get; init; } /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. + /// The default value for a squash merge commit message. /// [JsonPropertyName("squash_merge_commit_message")] public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// The default value for a squash merge commit title. /// [JsonPropertyName("squash_merge_commit_title")] public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } @@ -113042,7 +115939,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo } -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -113061,7 +115958,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicens } -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -113131,7 +116028,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner } -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -113150,7 +116047,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermis } -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -113220,10 +116117,10 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser } -public partial record WebhookPullRequestReviewSubmittedPullRequestHead +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHead { [JsonPropertyName("label")] - public required string? Label { get; init; } + public required string Label { get; init; } [JsonPropertyName("ref")] public required string Ref { get; init; } @@ -113232,20 +116129,20 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHead /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepo? Repo { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepo { /// /// Whether to allow auto-merge for pull requests. @@ -113464,7 +116361,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense? License { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } @@ -113519,10 +116416,10 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -113632,7 +116529,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo } -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -113651,7 +116548,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicens } -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -113721,7 +116618,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner } -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -113740,7 +116637,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermis } -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -113810,7 +116707,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser } -public partial record WebhookPullRequestReviewSubmittedPullRequestLabels +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLabels { /// /// 6-character hex code, without the leading #, identifying the color @@ -113844,10 +116741,80 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestLabels } +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + /// /// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestone { [JsonPropertyName("closed_at")] public required DateTimeOffset? ClosedAt { get; init; } @@ -113859,7 +116826,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone public required DateTimeOffset CreatedAt { get; init; } [JsonPropertyName("creator")] - public required WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator? Creator { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestoneCreator? Creator { get; init; } [JsonPropertyName("description")] public required string? Description { get; init; } @@ -113908,7 +116875,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone } -public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestoneCreator { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -113968,7 +116935,77 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreat public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -113981,7 +117018,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreat /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -113990,10 +117027,10 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams /// Description of the team /// [JsonPropertyName("description")] - public string? Description { get; init; } + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -114002,7 +117039,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams public required int Id { get; init; } [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + public required string MembersUrl { get; init; } /// /// Name of the team @@ -114011,35 +117048,35 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } + public required string NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public string? Permission { get; init; } + public required string Permission { get; init; } [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + public required WebhooksTeamPrivacy Privacy { get; init; } [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + public required Uri RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public string? Slug { get; init; } + public required string Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public Uri? Url { get; init; } + public required Uri Url { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2Parent { /// /// Description of the team @@ -114091,7 +117128,127 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams } -public partial record WebhookPullRequestReviewSubmittedPullRequestUser +/// +/// Union of: WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -114151,7 +117308,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestUser public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -114161,19 +117318,150 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestUser } -public partial record WebhookPullRequestReviewThreadResolvedPullRequest +public partial record WebhookPullRequestReviewRequestRemovedVariant1RequestedReviewer +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2 +{ + [JsonPropertyName("action")] + public required WebhookPullRequestReviewRequestRemovedVariant1Action Action { get; init; } + + /// + /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + /// on an enterprise account or an organization that's part of an enterprise account. For more information, + /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + /// + [JsonPropertyName("enterprise")] + public EnterpriseWebhooks? Enterprise { get; init; } + + /// + /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + /// for and sent to a GitHub App. For more information, + /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + /// + [JsonPropertyName("installation")] + public SimpleInstallation? Installation { get; init; } + + /// + /// The pull request number. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + /// + /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + /// organization, or when the event occurs from activity in a repository owned by an organization. + /// + [JsonPropertyName("organization")] + public OrganizationSimpleWebhooks? Organization { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequest PullRequest { get; init; } + + /// + /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + /// when the event occurs from activity in a repository. + /// + [JsonPropertyName("repository")] + public required RepositoryWebhooks Repository { get; init; } + + /// + /// Groups of organization members that gives permissions on specified repositories. + /// + [JsonPropertyName("requested_team")] + public required WebhookPullRequestReviewRequestRemovedVariant2RequestedTeam RequestedTeam { get; init; } + + /// + /// A GitHub user. + /// + [JsonPropertyName("sender")] + public required SimpleUser Sender { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } + [JsonPropertyName("additions")] + public int? Additions { get; init; } + [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -114185,34 +117473,49 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBase Base { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } + [JsonPropertyName("changed_files")] + public int? ChangedFiles { get; init; } + [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("comments")] + public int? Comments { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } + [JsonPropertyName("commits")] + public int? Commits { get; init; } + [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("deletions")] + public int? Deletions { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } + /// + /// Indicates whether or not the pull request is a draft. + /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHead Head { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -114224,41 +117527,68 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } + /// + /// Indicates whether maintainers can modify the pull request. + /// + [JsonPropertyName("maintainer_can_modify")] + public bool? MaintainerCanModify { get; init; } + [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } + [JsonPropertyName("mergeable")] + public bool? Mergeable { get; init; } + + [JsonPropertyName("mergeable_state")] + public string? MergeableState { get; init; } + + [JsonPropertyName("merged")] + public bool? Merged { get; init; } + [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } + public required DateTimeOffset? MergedAt { get; init; } + + [JsonPropertyName("merged_by")] + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestMergedBy? MergedBy { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewThreadResolvedPullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + /// + /// Number uniquely identifying the pull request within its repository. + /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } + [JsonPropertyName("rebaseable")] + public bool? Rebaseable { get; init; } + [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } + [JsonPropertyName("review_comments")] + public int? ReviewComments { get; init; } + [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -114268,111 +117598,117 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } + /// + /// State of this Pull Request. Either `open` or `closed`. + /// [JsonPropertyName("state")] public required MilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } + /// + /// The title of the pull request. + /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } + public required DateTimeOffset UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinks +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksComments +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -114442,7 +117778,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -114507,12 +117843,15 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -114527,7 +117866,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -114537,7 +117876,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -114607,7 +117946,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -114619,20 +117958,20 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -114851,11 +118190,30 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense? License { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + [JsonPropertyName("merges_url")] public required Uri MergesUrl { get; init; } @@ -114887,10 +118245,10 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -114916,6 +118274,25 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo [JsonPropertyName("size")] public required int Size { get; init; } + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + [JsonPropertyName("ssh_url")] public required string SshUrl { get; init; } @@ -114958,6 +118335,12 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo [JsonPropertyName("url")] public required Uri Url { get; init; } + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + [JsonPropertyName("visibility")] public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } @@ -114975,7 +118358,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -114994,7 +118377,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoL } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115064,7 +118447,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoO } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -115083,7 +118466,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoP } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115153,10 +118536,10 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHead { [JsonPropertyName("label")] - public required string? Label { get; init; } + public required string Label { get; init; } [JsonPropertyName("ref")] public required string Ref { get; init; } @@ -115165,20 +118548,20 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo? Repo { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepo { /// /// Whether to allow auto-merge for pull requests. @@ -115397,11 +118780,30 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense? License { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + [JsonPropertyName("merges_url")] public required Uri MergesUrl { get; init; } @@ -115433,10 +118835,10 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -115462,6 +118864,25 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo [JsonPropertyName("size")] public required int Size { get; init; } + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + [JsonPropertyName("ssh_url")] public required string SshUrl { get; init; } @@ -115504,6 +118925,12 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo [JsonPropertyName("url")] public required Uri Url { get; init; } + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + [JsonPropertyName("visibility")] public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } @@ -115521,7 +118948,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -115540,7 +118967,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoL } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115610,7 +119037,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoO } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -115629,7 +119056,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoP } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115699,7 +119126,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLabels { /// /// 6-character hex code, without the leading #, identifying the color @@ -115733,10 +119160,80 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels } +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + /// /// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestone { [JsonPropertyName("closed_at")] public required DateTimeOffset? ClosedAt { get; init; } @@ -115748,7 +119245,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone public required DateTimeOffset CreatedAt { get; init; } [JsonPropertyName("creator")] - public required WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator? Creator { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestoneCreator? Creator { get; init; } [JsonPropertyName("description")] public required string? Description { get; init; } @@ -115797,7 +119294,77 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115870,7 +119437,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeams +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -115879,10 +119446,10 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested /// Description of the team /// [JsonPropertyName("description")] - public string? Description { get; init; } + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -115891,7 +119458,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested public required int Id { get; init; } [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + public required string MembersUrl { get; init; } /// /// Name of the team @@ -115900,35 +119467,35 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } + public required string NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public string? Permission { get; init; } + public required string Permission { get; init; } [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + public required WebhooksTeamPrivacy Privacy { get; init; } [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + public required Uri RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public string? Slug { get; init; } + public required string Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public Uri? Url { get; init; } + public required Uri Url { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2Parent { /// /// Description of the team @@ -115980,7 +119547,127 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser +/// +/// Union of: WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116040,7 +119727,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -116050,321 +119737,190 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser } -public partial record WebhookPullRequestReviewThreadResolvedThread -{ - [JsonPropertyName("comments")] - public required IReadOnlyList Comments { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - -} - /// -/// The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. +/// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewThreadResolvedThreadComments +public partial record WebhookPullRequestReviewRequestRemovedVariant2RequestedTeam { - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinks Links { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The text of the comment. - /// - [JsonPropertyName("body")] - public required string Body { get; init; } - - /// - /// The SHA of the commit to which the comment applies. - /// - [JsonPropertyName("commit_id")] - public required string CommitId { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } /// - /// The diff of the line that the comment refers to. + /// Description of the team /// - [JsonPropertyName("diff_hunk")] - public required string DiffHunk { get; init; } + [JsonPropertyName("description")] + public required string? Description { get; init; } - /// - /// HTML URL for the pull request review comment. - /// [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } /// - /// The ID of the pull request review comment. + /// Unique identifier of the team /// [JsonPropertyName("id")] public required int Id { get; init; } - /// - /// The comment ID to reply to. - /// - [JsonPropertyName("in_reply_to_id")] - public int? InReplyToId { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } /// - /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment + /// Name of the team /// - [JsonPropertyName("line")] - public required int? Line { get; init; } + [JsonPropertyName("name")] + public required string Name { get; init; } - /// - /// The node ID of the pull request review comment. - /// [JsonPropertyName("node_id")] public required string NodeId { get; init; } - /// - /// The SHA of the original commit to which the comment applies. - /// - [JsonPropertyName("original_commit_id")] - public required string OriginalCommitId { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestRemovedVariant2RequestedTeamParent? Parent { get; init; } /// - /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment + /// Permission that the team will have for its repositories /// - [JsonPropertyName("original_line")] - public required int? OriginalLine { get; init; } + [JsonPropertyName("permission")] + public required string Permission { get; init; } - /// - /// The index of the original line in the diff to which the comment applies. - /// - [JsonPropertyName("original_position")] - public required int OriginalPosition { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - /// - /// The first line of the range for a multi-line comment. - /// - [JsonPropertyName("original_start_line")] - public required int? OriginalStartLine { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } - /// - /// The relative path of the file to which the comment applies. - /// - [JsonPropertyName("path")] - public required string Path { get; init; } + [JsonPropertyName("slug")] + public required string Slug { get; init; } /// - /// The line index in the diff to which the comment applies. + /// URL for the team /// - [JsonPropertyName("position")] - public required int? Position { get; init; } + [JsonPropertyName("url")] + public required Uri Url { get; init; } - /// - /// The ID of the pull request review to which the comment belongs. - /// - [JsonPropertyName("pull_request_review_id")] - public required int? PullRequestReviewId { get; init; } +} +public partial record WebhookPullRequestReviewRequestRemovedVariant2RequestedTeamParent +{ /// - /// URL for the pull request that the review comment belongs to. + /// Description of the team /// - [JsonPropertyName("pull_request_url")] - public required Uri PullRequestUrl { get; init; } - - [JsonPropertyName("reactions")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsReactions Reactions { get; init; } + [JsonPropertyName("description")] + public required string? Description { get; init; } - /// - /// The side of the first line of the range for a multi-line comment. - /// - [JsonPropertyName("side")] - public required Side Side { get; init; } + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } /// - /// The first line of the range for a multi-line comment. + /// Unique identifier of the team /// - [JsonPropertyName("start_line")] - public required int? StartLine { get; init; } + [JsonPropertyName("id")] + public required int Id { get; init; } - /// - /// The side of the first line of the range for a multi-line comment. - /// - [JsonPropertyName("start_side")] - public required StartSide StartSide { get; init; } = Generated.GithubApiNext.StartSide.Right; + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } /// - /// The level at which the comment is targeted, can be a diff line or a file. + /// Name of the team /// - [JsonPropertyName("subject_type")] - public SubjectType? SubjectType { get; init; } + [JsonPropertyName("name")] + public required string Name { get; init; } - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } /// - /// URL for the pull request review comment + /// Permission that the team will have for its repositories /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinks -{ - [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml Html { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest PullRequest { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf Self { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsReactions -{ - [JsonPropertyName("+1")] - public required int Plus1 { get; init; } - - [JsonPropertyName("-1")] - public required int Minus1 { get; init; } - - [JsonPropertyName("confused")] - public required int Confused { get; init; } - - [JsonPropertyName("eyes")] - public required int Eyes { get; init; } - - [JsonPropertyName("heart")] - public required int Heart { get; init; } - - [JsonPropertyName("hooray")] - public required int Hooray { get; init; } + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("laugh")] - public required int Laugh { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - [JsonPropertyName("rocket")] - public required int Rocket { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } - [JsonPropertyName("total_count")] - public required int TotalCount { get; init; } + [JsonPropertyName("slug")] + public required string Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsUser +public partial record WebhookPullRequestReviewRequestedVariant1 { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } + [JsonPropertyName("action")] + public required WebhookPullRequestReviewRequestedVariant1Action Action { get; init; } - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } + /// + /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + /// on an enterprise account or an organization that's part of an enterprise account. For more information, + /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + /// + [JsonPropertyName("enterprise")] + public EnterpriseWebhooks? Enterprise { get; init; } - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + /// + /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + /// for and sent to a GitHub App. For more information, + /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + /// + [JsonPropertyName("installation")] + public SimpleInstallation? Installation { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// The pull request number. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + /// + /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + /// organization, or when the event occurs from activity in a repository owned by an organization. + /// + [JsonPropertyName("organization")] + public OrganizationSimpleWebhooks? Organization { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewRequestedVariant1PullRequest PullRequest { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + /// + /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + /// when the event occurs from activity in a repository. + /// + [JsonPropertyName("repository")] + public required RepositoryWebhooks Repository { get; init; } - [JsonPropertyName("url")] - public Uri? Url { get; init; } + [JsonPropertyName("requested_reviewer")] + public required WebhookPullRequestReviewRequestedVariant1RequestedReviewer? RequestedReviewer { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } + /// + /// A GitHub user. + /// + [JsonPropertyName("sender")] + public required SimpleUser Sender { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest +public partial record WebhookPullRequestReviewRequestedVariant1PullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } + [JsonPropertyName("additions")] + public int? Additions { get; init; } + [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -116376,34 +119932,49 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBase Base { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } + [JsonPropertyName("changed_files")] + public int? ChangedFiles { get; init; } + [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("comments")] + public int? Comments { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } + [JsonPropertyName("commits")] + public int? Commits { get; init; } + [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("deletions")] + public int? Deletions { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } + /// + /// Indicates whether or not the pull request is a draft. + /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestHead Head { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -116415,41 +119986,68 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } + /// + /// Indicates whether maintainers can modify the pull request. + /// + [JsonPropertyName("maintainer_can_modify")] + public bool? MaintainerCanModify { get; init; } + [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } + [JsonPropertyName("mergeable")] + public bool? Mergeable { get; init; } + + [JsonPropertyName("mergeable_state")] + public string? MergeableState { get; init; } + + [JsonPropertyName("merged")] + public bool? Merged { get; init; } + [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } + public required DateTimeOffset? MergedAt { get; init; } + + [JsonPropertyName("merged_by")] + public WebhookPullRequestReviewRequestedVariant1PullRequestMergedBy? MergedBy { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + /// + /// Number uniquely identifying the pull request within its repository. + /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } + [JsonPropertyName("rebaseable")] + public bool? Rebaseable { get; init; } + [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } + [JsonPropertyName("review_comments")] + public int? ReviewComments { get; init; } + [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -116459,111 +120057,117 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } + /// + /// State of this Pull Request. Either `open` or `closed`. + /// [JsonPropertyName("state")] public required MilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } + /// + /// The title of the pull request. + /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } + public required DateTimeOffset UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestUser? User { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinks +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116623,7 +120227,7 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssigne public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -116633,7 +120237,7 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssigne } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignees +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116693,17 +120297,20 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssigne public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -116715,10 +120322,10 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMer /// Title for the merge commit message. /// [JsonPropertyName("commit_title")] - public required string CommitTitle { get; init; } + public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -116728,7 +120335,7 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMer } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116798,7 +120405,7 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMer } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -116810,20 +120417,9337 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object? PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHead +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object? PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1RequestedReviewer +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2 +{ + [JsonPropertyName("action")] + public required WebhookPullRequestReviewRequestedVariant1Action Action { get; init; } + + /// + /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + /// on an enterprise account or an organization that's part of an enterprise account. For more information, + /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + /// + [JsonPropertyName("enterprise")] + public EnterpriseWebhooks? Enterprise { get; init; } + + /// + /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + /// for and sent to a GitHub App. For more information, + /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + /// + [JsonPropertyName("installation")] + public SimpleInstallation? Installation { get; init; } + + /// + /// The pull request number. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + /// + /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + /// organization, or when the event occurs from activity in a repository owned by an organization. + /// + [JsonPropertyName("organization")] + public OrganizationSimpleWebhooks? Organization { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewRequestedVariant2PullRequest PullRequest { get; init; } + + /// + /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + /// when the event occurs from activity in a repository. + /// + [JsonPropertyName("repository")] + public required RepositoryWebhooks Repository { get; init; } + + /// + /// Groups of organization members that gives permissions on specified repositories. + /// + [JsonPropertyName("requested_team")] + public required WebhookPullRequestReviewRequestedVariant2RequestedTeam RequestedTeam { get; init; } + + /// + /// A GitHub user. + /// + [JsonPropertyName("sender")] + public required SimpleUser Sender { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequest +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinks Links { get; init; } + + [JsonPropertyName("active_lock_reason")] + public required ActiveLockReason ActiveLockReason { get; init; } + + [JsonPropertyName("additions")] + public int? Additions { get; init; } + + [JsonPropertyName("assignee")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestAssignee? Assignee { get; init; } + + [JsonPropertyName("assignees")] + public required IReadOnlyList Assignees { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The status of auto merging a pull request. + /// + [JsonPropertyName("auto_merge")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestAutoMerge? AutoMerge { get; init; } + + [JsonPropertyName("base")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBase Base { get; init; } + + [JsonPropertyName("body")] + public required string? Body { get; init; } + + [JsonPropertyName("changed_files")] + public int? ChangedFiles { get; init; } + + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("comments")] + public int? Comments { get; init; } + + [JsonPropertyName("comments_url")] + public required Uri CommentsUrl { get; init; } + + [JsonPropertyName("commits")] + public int? Commits { get; init; } + + [JsonPropertyName("commits_url")] + public required Uri CommitsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("deletions")] + public int? Deletions { get; init; } + + [JsonPropertyName("diff_url")] + public required Uri DiffUrl { get; init; } + + /// + /// Indicates whether or not the pull request is a draft. + /// + [JsonPropertyName("draft")] + public required bool Draft { get; init; } + + [JsonPropertyName("head")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHead Head { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("issue_url")] + public required Uri IssueUrl { get; init; } + + [JsonPropertyName("labels")] + public required IReadOnlyList Labels { get; init; } + + [JsonPropertyName("locked")] + public required bool Locked { get; init; } + + /// + /// Indicates whether maintainers can modify the pull request. + /// + [JsonPropertyName("maintainer_can_modify")] + public bool? MaintainerCanModify { get; init; } + + [JsonPropertyName("merge_commit_sha")] + public required string? MergeCommitSha { get; init; } + + [JsonPropertyName("mergeable")] + public bool? Mergeable { get; init; } + + [JsonPropertyName("mergeable_state")] + public string? MergeableState { get; init; } + + [JsonPropertyName("merged")] + public bool? Merged { get; init; } + + [JsonPropertyName("merged_at")] + public required DateTimeOffset? MergedAt { get; init; } + + [JsonPropertyName("merged_by")] + public WebhookPullRequestReviewRequestedVariant2PullRequestMergedBy? MergedBy { get; init; } + + /// + /// A collection of related issues and pull requests. + /// + [JsonPropertyName("milestone")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestMilestone? Milestone { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Number uniquely identifying the pull request within its repository. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("patch_url")] + public required Uri PatchUrl { get; init; } + + [JsonPropertyName("rebaseable")] + public bool? Rebaseable { get; init; } + + [JsonPropertyName("requested_reviewers")] + public required IReadOnlyList RequestedReviewers { get; init; } + + [JsonPropertyName("requested_teams")] + public required IReadOnlyList RequestedTeams { get; init; } + + [JsonPropertyName("review_comment_url")] + public required string ReviewCommentUrl { get; init; } + + [JsonPropertyName("review_comments")] + public int? ReviewComments { get; init; } + + [JsonPropertyName("review_comments_url")] + public required Uri ReviewCommentsUrl { get; init; } + + /// + /// The stack information associated with a pull request. + /// + [JsonPropertyName("stack")] + public PullRequestStack? Stack { get; init; } + + /// + /// State of this Pull Request. Either `open` or `closed`. + /// + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + [JsonPropertyName("statuses_url")] + public required Uri StatusesUrl { get; init; } + + /// + /// The title of the pull request. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinks +{ + [JsonPropertyName("comments")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksComments Comments { get; init; } + + [JsonPropertyName("commits")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksCommits Commits { get; init; } + + [JsonPropertyName("html")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksHtml Html { get; init; } + + [JsonPropertyName("issue")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksIssue Issue { get; init; } + + [JsonPropertyName("review_comment")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComment ReviewComment { get; init; } + + [JsonPropertyName("review_comments")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComments ReviewComments { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksSelf Self { get; init; } + + [JsonPropertyName("statuses")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksStatuses Statuses { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksCommits +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksIssue +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComment +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksStatuses +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAssignee +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAssignees +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// The status of auto merging a pull request. +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAutoMerge +{ + /// + /// Commit message for the merge commit. + /// + [JsonPropertyName("commit_message")] + public required string? CommitMessage { get; init; } + + /// + /// Title for the merge commit message. + /// + [JsonPropertyName("commit_title")] + public required string? CommitTitle { get; init; } + + [JsonPropertyName("enabled_by")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + + /// + /// The merge method to use. + /// + [JsonPropertyName("merge_method")] + public required AutoMergeMergeMethod MergeMethod { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAutoMergeEnabledBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBase +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object? PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHead +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object? PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant2RequestedTeam +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant2RequestedTeamParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2RequestedTeamParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequest +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewSubmittedPullRequestLinks Links { get; init; } + + [JsonPropertyName("active_lock_reason")] + public required ActiveLockReason ActiveLockReason { get; init; } + + [JsonPropertyName("assignee")] + public required WebhookPullRequestReviewSubmittedPullRequestAssignee? Assignee { get; init; } + + [JsonPropertyName("assignees")] + public required IReadOnlyList Assignees { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The status of auto merging a pull request. + /// + [JsonPropertyName("auto_merge")] + public required WebhookPullRequestReviewSubmittedPullRequestAutoMerge? AutoMerge { get; init; } + + [JsonPropertyName("base")] + public required WebhookPullRequestReviewSubmittedPullRequestBase Base { get; init; } + + [JsonPropertyName("body")] + public required string? Body { get; init; } + + [JsonPropertyName("closed_at")] + public required string? ClosedAt { get; init; } + + [JsonPropertyName("comments_url")] + public required Uri CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required Uri CommitsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required string CreatedAt { get; init; } + + [JsonPropertyName("diff_url")] + public required Uri DiffUrl { get; init; } + + [JsonPropertyName("draft")] + public required bool Draft { get; init; } + + [JsonPropertyName("head")] + public required WebhookPullRequestReviewSubmittedPullRequestHead Head { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("issue_url")] + public required Uri IssueUrl { get; init; } + + [JsonPropertyName("labels")] + public required IReadOnlyList Labels { get; init; } + + [JsonPropertyName("locked")] + public required bool Locked { get; init; } + + [JsonPropertyName("merge_commit_sha")] + public required string? MergeCommitSha { get; init; } + + [JsonPropertyName("merged_at")] + public required string? MergedAt { get; init; } + + /// + /// A collection of related issues and pull requests. + /// + [JsonPropertyName("milestone")] + public required WebhookPullRequestReviewSubmittedPullRequestMilestone? Milestone { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("patch_url")] + public required Uri PatchUrl { get; init; } + + [JsonPropertyName("requested_reviewers")] + public required IReadOnlyList RequestedReviewers { get; init; } + + [JsonPropertyName("requested_teams")] + public required IReadOnlyList RequestedTeams { get; init; } + + [JsonPropertyName("review_comment_url")] + public required string ReviewCommentUrl { get; init; } + + [JsonPropertyName("review_comments_url")] + public required Uri ReviewCommentsUrl { get; init; } + + /// + /// The stack information associated with a pull request. + /// + [JsonPropertyName("stack")] + public PullRequestStack? Stack { get; init; } + + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + [JsonPropertyName("statuses_url")] + public required Uri StatusesUrl { get; init; } + + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required string UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewSubmittedPullRequestUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinks +{ + [JsonPropertyName("comments")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksComments Comments { get; init; } + + [JsonPropertyName("commits")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksCommits Commits { get; init; } + + [JsonPropertyName("html")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksHtml Html { get; init; } + + [JsonPropertyName("issue")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksIssue Issue { get; init; } + + [JsonPropertyName("review_comment")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment ReviewComment { get; init; } + + [JsonPropertyName("review_comments")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments ReviewComments { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksSelf Self { get; init; } + + [JsonPropertyName("statuses")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksStatuses Statuses { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksCommits +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksIssue +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksStatuses +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +/// +/// The status of auto merging a pull request. +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge +{ + /// + /// Commit message for the merge commit. + /// + [JsonPropertyName("commit_message")] + public required string? CommitMessage { get; init; } + + /// + /// Title for the merge commit message. + /// + [JsonPropertyName("commit_title")] + public required string? CommitTitle { get; init; } + + [JsonPropertyName("enabled_by")] + public required WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + + /// + /// The merge method to use. + /// + [JsonPropertyName("merge_method")] + public required AutoMergeMergeMethod MergeMethod { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBase +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewSubmittedPullRequestBaseUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object? PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHead +{ + [JsonPropertyName("label")] + public required string? Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepo? Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewSubmittedPullRequestHeadUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object? PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequest +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinks Links { get; init; } + + [JsonPropertyName("active_lock_reason")] + public required ActiveLockReason ActiveLockReason { get; init; } + + [JsonPropertyName("assignee")] + public required WebhookPullRequestReviewThreadResolvedPullRequestAssignee? Assignee { get; init; } + + [JsonPropertyName("assignees")] + public required IReadOnlyList Assignees { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The status of auto merging a pull request. + /// + [JsonPropertyName("auto_merge")] + public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge? AutoMerge { get; init; } + + [JsonPropertyName("base")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBase Base { get; init; } + + [JsonPropertyName("body")] + public required string? Body { get; init; } + + [JsonPropertyName("closed_at")] + public required string? ClosedAt { get; init; } + + [JsonPropertyName("comments_url")] + public required Uri CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required Uri CommitsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required string CreatedAt { get; init; } + + [JsonPropertyName("diff_url")] + public required Uri DiffUrl { get; init; } + + [JsonPropertyName("draft")] + public required bool Draft { get; init; } + + [JsonPropertyName("head")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHead Head { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("issue_url")] + public required Uri IssueUrl { get; init; } + + [JsonPropertyName("labels")] + public required IReadOnlyList Labels { get; init; } + + [JsonPropertyName("locked")] + public required bool Locked { get; init; } + + [JsonPropertyName("merge_commit_sha")] + public required string? MergeCommitSha { get; init; } + + [JsonPropertyName("merged_at")] + public required string? MergedAt { get; init; } + + /// + /// A collection of related issues and pull requests. + /// + [JsonPropertyName("milestone")] + public required WebhookPullRequestReviewThreadResolvedPullRequestMilestone? Milestone { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("patch_url")] + public required Uri PatchUrl { get; init; } + + [JsonPropertyName("requested_reviewers")] + public required IReadOnlyList RequestedReviewers { get; init; } + + [JsonPropertyName("requested_teams")] + public required IReadOnlyList RequestedTeams { get; init; } + + [JsonPropertyName("review_comment_url")] + public required string ReviewCommentUrl { get; init; } + + [JsonPropertyName("review_comments_url")] + public required Uri ReviewCommentsUrl { get; init; } + + /// + /// The stack information associated with a pull request. + /// + [JsonPropertyName("stack")] + public PullRequestStack? Stack { get; init; } + + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + [JsonPropertyName("statuses_url")] + public required Uri StatusesUrl { get; init; } + + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required string UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedPullRequestUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinks +{ + [JsonPropertyName("comments")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksComments Comments { get; init; } + + [JsonPropertyName("commits")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits Commits { get; init; } + + [JsonPropertyName("html")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml Html { get; init; } + + [JsonPropertyName("issue")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue Issue { get; init; } + + [JsonPropertyName("review_comment")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment ReviewComment { get; init; } + + [JsonPropertyName("review_comments")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments ReviewComments { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf Self { get; init; } + + [JsonPropertyName("statuses")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses Statuses { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +/// +/// The status of auto merging a pull request. +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge +{ + /// + /// Commit message for the merge commit. + /// + [JsonPropertyName("commit_message")] + public required string? CommitMessage { get; init; } + + /// + /// Title for the merge commit message. + /// + [JsonPropertyName("commit_title")] + public required string? CommitTitle { get; init; } + + [JsonPropertyName("enabled_by")] + public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + + /// + /// The merge method to use. + /// + [JsonPropertyName("merge_method")] + public required AutoMergeMergeMethod MergeMethod { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object? PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead +{ + [JsonPropertyName("label")] + public required string? Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo? Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object? PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThread +{ + [JsonPropertyName("comments")] + public required IReadOnlyList Comments { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + +} + +/// +/// The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. +/// +public partial record WebhookPullRequestReviewThreadResolvedThreadComments +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinks Links { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The text of the comment. + /// + [JsonPropertyName("body")] + public required string Body { get; init; } + + /// + /// The SHA of the commit to which the comment applies. + /// + [JsonPropertyName("commit_id")] + public required string CommitId { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + /// + /// The diff of the line that the comment refers to. + /// + [JsonPropertyName("diff_hunk")] + public required string DiffHunk { get; init; } + + /// + /// HTML URL for the pull request review comment. + /// + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// The ID of the pull request review comment. + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The comment ID to reply to. + /// + [JsonPropertyName("in_reply_to_id")] + public int? InReplyToId { get; init; } + + /// + /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment + /// + [JsonPropertyName("line")] + public required int? Line { get; init; } + + /// + /// The node ID of the pull request review comment. + /// + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The SHA of the original commit to which the comment applies. + /// + [JsonPropertyName("original_commit_id")] + public required string OriginalCommitId { get; init; } + + /// + /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment + /// + [JsonPropertyName("original_line")] + public required int? OriginalLine { get; init; } + + /// + /// The index of the original line in the diff to which the comment applies. + /// + [JsonPropertyName("original_position")] + public required int OriginalPosition { get; init; } + + /// + /// The first line of the range for a multi-line comment. + /// + [JsonPropertyName("original_start_line")] + public required int? OriginalStartLine { get; init; } + + /// + /// The relative path of the file to which the comment applies. + /// + [JsonPropertyName("path")] + public required string Path { get; init; } + + /// + /// The line index in the diff to which the comment applies. + /// + [JsonPropertyName("position")] + public required int? Position { get; init; } + + /// + /// The ID of the pull request review to which the comment belongs. + /// + [JsonPropertyName("pull_request_review_id")] + public required int? PullRequestReviewId { get; init; } + + /// + /// URL for the pull request that the review comment belongs to. + /// + [JsonPropertyName("pull_request_url")] + public required Uri PullRequestUrl { get; init; } + + [JsonPropertyName("reactions")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsReactions Reactions { get; init; } + + /// + /// The side of the first line of the range for a multi-line comment. + /// + [JsonPropertyName("side")] + public required Side Side { get; init; } + + /// + /// The first line of the range for a multi-line comment. + /// + [JsonPropertyName("start_line")] + public required int? StartLine { get; init; } + + /// + /// The side of the first line of the range for a multi-line comment. + /// + [JsonPropertyName("start_side")] + public required StartSide StartSide { get; init; } = Generated.GithubApiNext.StartSide.Right; + + /// + /// The level at which the comment is targeted, can be a diff line or a file. + /// + [JsonPropertyName("subject_type")] + public SubjectType? SubjectType { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + /// + /// URL for the pull request review comment + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinks +{ + [JsonPropertyName("html")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml Html { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest PullRequest { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf Self { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsReactions +{ + [JsonPropertyName("+1")] + public required int Plus1 { get; init; } + + [JsonPropertyName("-1")] + public required int Minus1 { get; init; } + + [JsonPropertyName("confused")] + public required int Confused { get; init; } + + [JsonPropertyName("eyes")] + public required int Eyes { get; init; } + + [JsonPropertyName("heart")] + public required int Heart { get; init; } + + [JsonPropertyName("hooray")] + public required int Hooray { get; init; } + + [JsonPropertyName("laugh")] + public required int Laugh { get; init; } + + [JsonPropertyName("rocket")] + public required int Rocket { get; init; } + + [JsonPropertyName("total_count")] + public required int TotalCount { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinks Links { get; init; } + + [JsonPropertyName("active_lock_reason")] + public required ActiveLockReason ActiveLockReason { get; init; } + + [JsonPropertyName("assignee")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee? Assignee { get; init; } + + [JsonPropertyName("assignees")] + public required IReadOnlyList Assignees { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The status of auto merging a pull request. + /// + [JsonPropertyName("auto_merge")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge? AutoMerge { get; init; } + + [JsonPropertyName("base")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBase Base { get; init; } + + [JsonPropertyName("body")] + public required string? Body { get; init; } + + [JsonPropertyName("closed_at")] + public required string? ClosedAt { get; init; } + + [JsonPropertyName("comments_url")] + public required Uri CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required Uri CommitsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required string CreatedAt { get; init; } + + [JsonPropertyName("diff_url")] + public required Uri DiffUrl { get; init; } + + [JsonPropertyName("draft")] + public required bool Draft { get; init; } + + [JsonPropertyName("head")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestHead Head { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("issue_url")] + public required Uri IssueUrl { get; init; } + + [JsonPropertyName("labels")] + public required IReadOnlyList Labels { get; init; } + + [JsonPropertyName("locked")] + public required bool Locked { get; init; } + + [JsonPropertyName("merge_commit_sha")] + public required string? MergeCommitSha { get; init; } + + [JsonPropertyName("merged_at")] + public required string? MergedAt { get; init; } + + /// + /// A collection of related issues and pull requests. + /// + [JsonPropertyName("milestone")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestMilestone? Milestone { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("patch_url")] + public required Uri PatchUrl { get; init; } + + [JsonPropertyName("requested_reviewers")] + public required IReadOnlyList RequestedReviewers { get; init; } + + [JsonPropertyName("requested_teams")] + public required IReadOnlyList RequestedTeams { get; init; } + + [JsonPropertyName("review_comment_url")] + public required string ReviewCommentUrl { get; init; } + + [JsonPropertyName("review_comments_url")] + public required Uri ReviewCommentsUrl { get; init; } + + /// + /// The stack information associated with a pull request. + /// + [JsonPropertyName("stack")] + public PullRequestStack? Stack { get; init; } + + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + [JsonPropertyName("statuses_url")] + public required Uri StatusesUrl { get; init; } + + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required string UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinks +{ + [JsonPropertyName("comments")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments Comments { get; init; } + + [JsonPropertyName("commits")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits Commits { get; init; } + + [JsonPropertyName("html")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml Html { get; init; } + + [JsonPropertyName("issue")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue Issue { get; init; } + + [JsonPropertyName("review_comment")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment ReviewComment { get; init; } + + [JsonPropertyName("review_comments")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments ReviewComments { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf Self { get; init; } + + [JsonPropertyName("statuses")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses Statuses { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignees +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +/// +/// The status of auto merging a pull request. +/// +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge +{ + /// + /// Commit message for the merge commit. + /// + [JsonPropertyName("commit_message")] + public required string? CommitMessage { get; init; } + + /// + /// Title for the merge commit message. + /// + [JsonPropertyName("commit_title")] + public required string CommitTitle { get; init; } + + [JsonPropertyName("enabled_by")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + + /// + /// The merge method to use. + /// + [JsonPropertyName("merge_method")] + public required AutoMergeMergeMethod MergeMethod { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -118058,6 +130982,196 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestMilesto } +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -118675,7 +131789,7 @@ public partial record WebhookPullRequestStackedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -120180,7 +133294,245 @@ public partial record WebhookPullRequestStackedPullRequestHeadUser public Uri? HtmlUrl { get; init; } [JsonPropertyName("id")] - public required long Id { get; init; } + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestStackedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestStackedPullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestStackedPullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestStackedPullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestStackedPullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } [JsonPropertyName("login")] public required string Login { get; init; } @@ -120210,7 +133562,7 @@ public partial record WebhookPullRequestStackedPullRequestHeadUser public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -120220,41 +133572,7 @@ public partial record WebhookPullRequestStackedPullRequestHeadUser } -public partial record WebhookPullRequestStackedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestStackedPullRequestMergedBy +public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120325,139 +133643,125 @@ public partial record WebhookPullRequestStackedPullRequestMergedBy } /// -/// A collection of related issues and pull requests. +/// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestStackedPullRequestMilestone +public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 { - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestStackedPullRequestMilestoneCreator? Creator { get; init; } + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + /// + /// Description of the team + /// [JsonPropertyName("description")] public required string? Description { get; init; } - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestStackedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + /// - /// The number of the milestone. + /// Permission that the team will have for its repositories /// - [JsonPropertyName("number")] - public required int Number { get; init; } + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } /// - /// The title of the milestone. + /// URL for the team /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestStackedPullRequestMilestoneCreator +public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant2Parent { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + public required string NodeId { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public required string Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } + public required Uri Url { get; init; } } +/// +/// Union of: WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 | WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant1), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant2), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestStackedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -120773,7 +134077,7 @@ public partial record WebhookPullRequestSynchronizePullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -122549,6 +135853,196 @@ public partial record WebhookPullRequestSynchronizePullRequestMilestoneCreator } +public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 | WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -122864,7 +136358,7 @@ public partial record WebhookPullRequestUnassignedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -124369,7 +137863,245 @@ public partial record WebhookPullRequestUnassignedPullRequestHeadUser public Uri? HtmlUrl { get; init; } [JsonPropertyName("id")] - public required long Id { get; init; } + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestUnassignedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestUnassignedPullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestUnassignedPullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestUnassignedPullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } [JsonPropertyName("login")] public required string Login { get; init; } @@ -124399,7 +138131,7 @@ public partial record WebhookPullRequestUnassignedPullRequestHeadUser public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -124409,41 +138141,7 @@ public partial record WebhookPullRequestUnassignedPullRequestHeadUser } -public partial record WebhookPullRequestUnassignedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestUnassignedPullRequestMergedBy +public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -124514,139 +138212,125 @@ public partial record WebhookPullRequestUnassignedPullRequestMergedBy } /// -/// A collection of related issues and pull requests. +/// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestUnassignedPullRequestMilestone +public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 { - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestUnassignedPullRequestMilestoneCreator? Creator { get; init; } + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + /// + /// Description of the team + /// [JsonPropertyName("description")] public required string? Description { get; init; } - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + /// - /// The number of the milestone. + /// Permission that the team will have for its repositories /// - [JsonPropertyName("number")] - public required int Number { get; init; } + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } /// - /// The title of the milestone. + /// URL for the team /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator +public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2Parent { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + public required string NodeId { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public required string Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } + public required Uri Url { get; init; } } +/// +/// Union of: WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestUnassignedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -124962,7 +138646,7 @@ public partial record WebhookPullRequestUnlabeledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -126738,6 +140422,196 @@ public partial record WebhookPullRequestUnlabeledPullRequestMilestoneCreator } +public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -127053,7 +140927,7 @@ public partial record WebhookPullRequestUnlockedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -128836,6 +142710,196 @@ public partial record WebhookPullRequestUnlockedPullRequestMilestoneCreator } +public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestUnlockedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// diff --git a/examples/OpenApiCodeGenerator.Examples/output/github-api.cs b/examples/OpenApiCodeGenerator.Examples/output/github-api.cs index 38322b8..283c64e 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/github-api.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/github-api.cs @@ -3325,6 +3325,20 @@ public enum TeamMemberRole Maintainer } +/// +/// The role granted to the collaborator +/// +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum CopilotSpaceCollaboratorVariant2Role +{ + [JsonStringEnumMemberName("reader")] + Reader, + [JsonStringEnumMemberName("writer")] + Writer, + [JsonStringEnumMemberName("admin")] + Admin +} + /// /// Determines if the team has a direct, indirect, or mixed relationship to a role /// @@ -3427,6 +3441,19 @@ public enum RepositoryRuleMergeQueueParametersMergeMethod Rebase } +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum PullRequestMergeAsyncResultDetailsVariant1MergeMethod +{ + [JsonStringEnumMemberName("default")] + Default, + [JsonStringEnumMemberName("merge")] + Merge, + [JsonStringEnumMemberName("squash")] + Squash, + [JsonStringEnumMemberName("rebase")] + Rebase +} + /// /// The type of content tracked in a project item /// @@ -3523,8 +3550,8 @@ public enum ValuesEditableBy /// /// The type of actor that can bypass a ruleset. /// -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum ActorType +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum RepositoryRulesetBypassActorActorType { [JsonStringEnumMemberName("Integration")] Integration, @@ -3540,6 +3567,16 @@ public enum ActorType User } +/// +/// The collaborator actor type. +/// +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum CopilotSpaceCollaboratorVariant2ActorType +{ + [JsonStringEnumMemberName("Team")] + Team +} + /// /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. /// @@ -5256,6 +5293,20 @@ public enum WebhookGollumPagesAction Edited } +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum WebhookPullRequestReviewRequestRemovedVariant1Action +{ + [JsonStringEnumMemberName("review_request_removed")] + ReviewRequestRemoved +} + +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum WebhookPullRequestReviewRequestedVariant1Action +{ + [JsonStringEnumMemberName("review_requested")] + ReviewRequested +} + /// /// The side of the first line of the range for a multi-line comment. /// @@ -5683,6 +5734,17 @@ public enum Operator Regex } +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum MergeAction +{ + [JsonStringEnumMemberName("default")] + Default, + [JsonStringEnumMemberName("merge_queue")] + MergeQueue, + [JsonStringEnumMemberName("direct_merge")] + DirectMerge +} + [JsonConverter(typeof(JsonStringEnumConverter))] public enum ContentReferences { @@ -18475,7 +18537,7 @@ public partial record RepositoryRulesetBypassActor /// The type of actor that can bypass a ruleset. /// [JsonPropertyName("actor_type")] - public required ActorType ActorType { get; init; } + public required RepositoryRulesetBypassActorActorType ActorType { get; init; } /// /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. @@ -25766,7 +25828,7 @@ public partial record Environment /// Built-in deployment protection rules for the environment. /// [JsonPropertyName("protection_rules")] - public IReadOnlyList? ProtectionRules { get; init; } + public IReadOnlyList? ProtectionRules { get; init; } /// /// The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. @@ -29481,7 +29543,7 @@ public partial record PullRequestMergeAsyncResult public required PullRequestMergeAsyncResultStatus Status { get; init; } [JsonPropertyName("details")] - public required object Details { get; init; } + public required PullRequestMergeAsyncResultDetails Details { get; init; } } @@ -35366,7 +35428,7 @@ public partial record WebhooksPullRequest5 public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -44376,7 +44438,7 @@ public partial record WebhookProjectsV2ItemEdited /// It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. /// [JsonPropertyName("changes")] - public object? Changes { get; init; } + public WebhookProjectsV2ItemEditedChanges? Changes { get; init; } /// /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured @@ -45714,8 +45776,18 @@ public partial record WebhookPullRequestReviewEdited } +/// +/// Union of: WebhookPullRequestReviewRequestRemovedVariant1 | WebhookPullRequestReviewRequestRemovedVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1), "WebhookPullRequestReviewRequestRemovedVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2), "WebhookPullRequestReviewRequestRemovedVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemoved; +/// +/// Union of: WebhookPullRequestReviewRequestedVariant1 | WebhookPullRequestReviewRequestedVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1), "WebhookPullRequestReviewRequestedVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2), "WebhookPullRequestReviewRequestedVariant2")] public abstract partial record WebhookPullRequestReviewRequested; public partial record WebhookPullRequestReviewSubmitted @@ -52334,6 +52406,64 @@ public partial record CopilotSpaceResourcesAttributesMetadata } +public partial record CopilotSpaceCollaboratorVariant2 +{ + /// + /// The collaborator actor type. + /// + [JsonPropertyName("actor_type")] + public required CopilotSpaceCollaboratorVariant2ActorType ActorType { get; init; } + + /// + /// The role granted to the collaborator + /// + [JsonPropertyName("role")] + public required CopilotSpaceCollaboratorVariant2Role Role { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + [JsonPropertyName("type")] + public required RepositoryRuleParamsReviewerType Type { get; init; } + + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("privacy")] + public string? Privacy { get; init; } + + [JsonPropertyName("notification_setting")] + public string? NotificationSetting { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("organization_id")] + public int? OrganizationId { get; init; } + + [JsonPropertyName("parent")] + public object? Parent { get; init; } + +} + /// /// The team through which the assignee is granted access to GitHub Copilot, if applicable. /// @@ -55638,6 +55768,91 @@ public partial record SnapshotDetector } +public partial record EnvironmentProtectionRulesVariant1 +{ + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("type")] + public required string Type { get; init; } + + /// + /// The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). + /// + [JsonPropertyName("wait_timer")] + public WaitTimer? WaitTimer { get; init; } + +} + +public partial record EnvironmentProtectionRulesVariant2 +{ + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Whether deployments to this environment can be approved by the user who created the deployment. + /// + [JsonPropertyName("prevent_self_review")] + public bool? PreventSelfReview { get; init; } + + [JsonPropertyName("type")] + public required string Type { get; init; } + + /// + /// The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. + /// + [JsonPropertyName("reviewers")] + public IReadOnlyList? Reviewers { get; init; } + +} + +public partial record EnvironmentProtectionRulesVariant2Reviewers +{ + /// + /// The type of reviewer. + /// + [JsonPropertyName("type")] + public PendingDeploymentReviewersType? Type { get; init; } + + [JsonPropertyName("reviewer")] + public EnvironmentProtectionRulesVariant2ReviewersReviewer? Reviewer { get; init; } + +} + +/// +/// Union of: SimpleUser | Team +/// +[JsonDerivedType(typeof(SimpleUser), "simple-user")] +[JsonDerivedType(typeof(Team), "team")] +public abstract partial record EnvironmentProtectionRulesVariant2ReviewersReviewer; + +public partial record EnvironmentProtectionRulesVariant3 +{ + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("type")] + public required string Type { get; init; } + +} + +/// +/// Union of: EnvironmentProtectionRulesVariant1 | EnvironmentProtectionRulesVariant2 | EnvironmentProtectionRulesVariant3 +/// +[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant1), "EnvironmentProtectionRulesVariant1")] +[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant2), "EnvironmentProtectionRulesVariant2")] +[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant3), "EnvironmentProtectionRulesVariant3")] +public abstract partial record EnvironmentProtectionRules; + /// /// Identifying information for the git-user /// @@ -56535,6 +56750,62 @@ public partial record PullRequestLinks } +/// +/// When an asynchronous merge request was created or already existed +/// +public partial record PullRequestMergeAsyncResultDetailsVariant1 +{ + [JsonPropertyName("message")] + public required string Message { get; init; } + + [JsonPropertyName("uuid")] + public required string Uuid { get; init; } + + [JsonPropertyName("merge_method")] + public required PullRequestMergeAsyncResultDetailsVariant1MergeMethod MergeMethod { get; init; } + + [JsonPropertyName("merge_action")] + public required MergeAction MergeAction { get; init; } + + /// + /// SHA that the pull request head must match for the enqueued merge to proceed. + /// + [JsonPropertyName("expected_head_sha")] + public required string ExpectedHeadSha { get; init; } + +} + +/// +/// When the pull request cannot be merged +/// +public partial record PullRequestMergeAsyncResultDetailsVariant2 +{ + [JsonPropertyName("message")] + public required string Message { get; init; } + +} + +/// +/// When the pull request is already merged +/// +public partial record PullRequestMergeAsyncResultDetailsVariant3 +{ + [JsonPropertyName("message")] + public required string Message { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + +} + +/// +/// Union of: PullRequestMergeAsyncResultDetailsVariant1 | PullRequestMergeAsyncResultDetailsVariant2 | PullRequestMergeAsyncResultDetailsVariant3 +/// +[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant1), "PullRequestMergeAsyncResultDetailsVariant1")] +[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant2), "PullRequestMergeAsyncResultDetailsVariant2")] +[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant3), "PullRequestMergeAsyncResultDetailsVariant3")] +public abstract partial record PullRequestMergeAsyncResultDetails; + public partial record PullRequestReviewLinks { [JsonPropertyName("html")] @@ -62325,10 +62596,197 @@ public partial record WebhooksPullRequest5MilestoneCreator } +public partial record WebhooksPullRequest5RequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhooksPullRequest5RequestedTeams +public partial record WebhooksPullRequest5RequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhooksPullRequest5RequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhooksPullRequest5RequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhooksPullRequest5RequestedReviewersVariant1 | WebhooksPullRequest5RequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant1), "WebhooksPullRequest5RequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant2), "WebhooksPullRequest5RequestedReviewersVariant2")] +public abstract partial record WebhooksPullRequest5RequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhooksPullRequest5RequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -90571,6 +91029,63 @@ public partial record WebhookProjectsV2ItemConvertedChangesContentType } +public partial record WebhookProjectsV2ItemEditedChangesVariant1 +{ + [JsonPropertyName("field_value")] + public required WebhookProjectsV2ItemEditedChangesVariant1FieldValue FieldValue { get; init; } + +} + +public partial record WebhookProjectsV2ItemEditedChangesVariant1FieldValue +{ + [JsonPropertyName("field_node_id")] + public string? FieldNodeId { get; init; } + + [JsonPropertyName("field_type")] + public string? FieldType { get; init; } + + [JsonPropertyName("field_name")] + public string? FieldName { get; init; } + + [JsonPropertyName("project_number")] + public int? ProjectNumber { get; init; } + + [JsonPropertyName("from")] + public object? From { get; init; } + + [JsonPropertyName("to")] + public object? To { get; init; } + +} + +public partial record WebhookProjectsV2ItemEditedChangesVariant2 +{ + [JsonPropertyName("body")] + public required WebhookProjectsV2ItemEditedChangesVariant2Body Body { get; init; } + +} + +public partial record WebhookProjectsV2ItemEditedChangesVariant2Body +{ + [JsonPropertyName("from")] + public string? From { get; init; } + + [JsonPropertyName("to")] + public string? To { get; init; } + +} + +/// +/// The changes made to the item may involve modifications in the item's fields and draft issue body. +/// It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. +/// +/// +/// Union of: WebhookProjectsV2ItemEditedChangesVariant1 | WebhookProjectsV2ItemEditedChangesVariant2 +/// +[JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant1), "WebhookProjectsV2ItemEditedChangesVariant1")] +[JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant2), "WebhookProjectsV2ItemEditedChangesVariant2")] +public abstract partial record WebhookProjectsV2ItemEditedChanges; + public partial record WebhookProjectsV2ItemReorderedChanges { [JsonPropertyName("previous_projects_v2_item_node_id")] @@ -90776,7 +91291,7 @@ public partial record WebhookPullRequestAssignedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -92562,120 +93077,310 @@ public partial record WebhookPullRequestAssignedPullRequestMilestoneCreator } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAssignedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAssignedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestUser +public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestAssignedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAssignedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAssignedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -92877,7 +93582,7 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -94660,6 +95365,196 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequestMilestoneCre } +public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -94975,7 +95870,7 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -96758,68 +97653,258 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequestMilestoneCrea } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeams +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 { + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent? Parent { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } - [JsonPropertyName("slug")] - public string? Slug { get; init; } + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent { /// /// Description of the team @@ -97073,7 +98158,7 @@ public partial record WebhookPullRequestDequeuedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -98856,120 +99941,310 @@ public partial record WebhookPullRequestDequeuedPullRequestMilestoneCreator } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestDequeuedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestDequeuedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestUser +public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestDequeuedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestDequeuedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestDequeuedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -99231,7 +100506,7 @@ public partial record WebhookPullRequestEnqueuedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -101014,6 +102289,196 @@ public partial record WebhookPullRequestEnqueuedPullRequestMilestoneCreator } +public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -101329,7 +102794,7 @@ public partial record WebhookPullRequestLabeledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -103112,68 +104577,258 @@ public partial record WebhookPullRequestLabeledPullRequestMilestoneCreator } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestLabeledPullRequestRequestedTeams +public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 { + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestLabeledPullRequestRequestedTeamsParent? Parent { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } - [JsonPropertyName("slug")] - public string? Slug { get; init; } + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } -public partial record WebhookPullRequestLabeledPullRequestRequestedTeamsParent +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestLabeledPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestLabeledPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestLabeledPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestLabeledPullRequestRequestedTeamsParent { /// /// Description of the team @@ -103427,7 +105082,7 @@ public partial record WebhookPullRequestLockedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -105210,10 +106865,80 @@ public partial record WebhookPullRequestLockedPullRequestMilestoneCreator } +public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestLockedPullRequestRequestedTeams +public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -105222,10 +106947,10 @@ public partial record WebhookPullRequestLockedPullRequestRequestedTeams /// Description of the team /// [JsonPropertyName("description")] - public string? Description { get; init; } + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -105234,7 +106959,7 @@ public partial record WebhookPullRequestLockedPullRequestRequestedTeams public required int Id { get; init; } [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + public required string MembersUrl { get; init; } /// /// Name of the team @@ -105243,35 +106968,155 @@ public partial record WebhookPullRequestLockedPullRequestRequestedTeams public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } + public required string NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestLockedPullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestLockedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public string? Permission { get; init; } + public required string Permission { get; init; } [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + public required WebhooksTeamPrivacy Privacy { get; init; } [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + public required Uri RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public string? Slug { get; init; } + public required string Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public Uri? Url { get; init; } + public required Uri Url { get; init; } } -public partial record WebhookPullRequestLockedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestLockedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestLockedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestLockedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestLockedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -105775,7 +107620,7 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -107479,6 +109324,196 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequestMilestone } +public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -107752,7 +109787,7 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -109456,6 +111491,196 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequestMilestone } +public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -109729,7 +111954,7 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -111436,120 +113661,310 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequestMilestoneC } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestUser +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -111709,7 +114124,7 @@ public partial record WebhookPullRequestReviewDismissedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -113413,6 +115828,196 @@ public partial record WebhookPullRequestReviewDismissedPullRequestMilestoneCreat } +public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -113852,7 +116457,7 @@ public partial record WebhookPullRequestReviewEditedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -115414,68 +118019,258 @@ public partial record WebhookPullRequestReviewEditedPullRequestMilestoneCreator } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeams +public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 { + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent? Parent { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } - [JsonPropertyName("slug")] - public string? Slug { get; init; } + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } -public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -115597,19 +118392,77 @@ public partial record WebhookPullRequestReviewEditedPullRequestUser } -public partial record WebhookPullRequestReviewSubmittedPullRequest +public partial record WebhookPullRequestReviewRequestRemovedVariant1 +{ + [JsonPropertyName("action")] + public required WebhookPullRequestReviewRequestRemovedVariant1Action Action { get; init; } + + /// + /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + /// on an enterprise account or an organization that's part of an enterprise account. For more information, + /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + /// + [JsonPropertyName("enterprise")] + public EnterpriseWebhooks? Enterprise { get; init; } + + /// + /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + /// for and sent to a GitHub App. For more information, + /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + /// + [JsonPropertyName("installation")] + public SimpleInstallation? Installation { get; init; } + + /// + /// The pull request number. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + /// + /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + /// organization, or when the event occurs from activity in a repository owned by an organization. + /// + [JsonPropertyName("organization")] + public OrganizationSimpleWebhooks? Organization { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequest PullRequest { get; init; } + + /// + /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + /// when the event occurs from activity in a repository. + /// + [JsonPropertyName("repository")] + public required RepositoryWebhooks Repository { get; init; } + + [JsonPropertyName("requested_reviewer")] + public required WebhookPullRequestReviewRequestRemovedVariant1RequestedReviewer? RequestedReviewer { get; init; } + + /// + /// A GitHub user. + /// + [JsonPropertyName("sender")] + public required SimpleUser Sender { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewSubmittedPullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } + [JsonPropertyName("additions")] + public int? Additions { get; init; } + [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewSubmittedPullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -115621,34 +118474,49 @@ public partial record WebhookPullRequestReviewSubmittedPullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewSubmittedPullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewSubmittedPullRequestBase Base { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } + [JsonPropertyName("changed_files")] + public int? ChangedFiles { get; init; } + [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("comments")] + public int? Comments { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } + [JsonPropertyName("commits")] + public int? Commits { get; init; } + [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("deletions")] + public int? Deletions { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } + /// + /// Indicates whether or not the pull request is a draft. + /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewSubmittedPullRequestHead Head { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -115660,41 +118528,68 @@ public partial record WebhookPullRequestReviewSubmittedPullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } + /// + /// Indicates whether maintainers can modify the pull request. + /// + [JsonPropertyName("maintainer_can_modify")] + public bool? MaintainerCanModify { get; init; } + [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } + [JsonPropertyName("mergeable")] + public bool? Mergeable { get; init; } + + [JsonPropertyName("mergeable_state")] + public string? MergeableState { get; init; } + + [JsonPropertyName("merged")] + public bool? Merged { get; init; } + [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } + public required DateTimeOffset? MergedAt { get; init; } + + [JsonPropertyName("merged_by")] + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestMergedBy? MergedBy { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewSubmittedPullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + /// + /// Number uniquely identifying the pull request within its repository. + /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } + [JsonPropertyName("rebaseable")] + public bool? Rebaseable { get; init; } + [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } + [JsonPropertyName("review_comments")] + public int? ReviewComments { get; init; } + [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -115704,111 +118599,117 @@ public partial record WebhookPullRequestReviewSubmittedPullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } + /// + /// State of this Pull Request. Either `open` or `closed`. + /// [JsonPropertyName("state")] public required NullableMilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } + /// + /// The title of the pull request. + /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } + public required DateTimeOffset UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinks +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksComments +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksCommits +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksHtml +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksIssue +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksSelf +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksStatuses +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115868,7 +118769,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -115878,7 +118779,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee } -public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115938,17 +118839,20 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -115963,7 +118867,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -115973,7 +118877,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge } -public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116043,7 +118947,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabl } -public partial record WebhookPullRequestReviewSubmittedPullRequestBase +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -116055,20 +118959,20 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBase /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -116287,7 +119191,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense? License { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } @@ -116342,10 +119246,10 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -116372,20 +119276,13 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo public required int Size { get; init; } /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. + /// The default value for a squash merge commit message. /// [JsonPropertyName("squash_merge_commit_message")] public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// The default value for a squash merge commit title. /// [JsonPropertyName("squash_merge_commit_title")] public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } @@ -116455,7 +119352,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo } -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -116474,7 +119371,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicens } -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116544,7 +119441,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner } -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -116563,7 +119460,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermis } -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116633,10 +119530,10 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser } -public partial record WebhookPullRequestReviewSubmittedPullRequestHead +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHead { [JsonPropertyName("label")] - public required string? Label { get; init; } + public required string Label { get; init; } [JsonPropertyName("ref")] public required string Ref { get; init; } @@ -116645,20 +119542,20 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHead /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepo? Repo { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepo { /// /// Whether to allow auto-merge for pull requests. @@ -116877,7 +119774,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense? License { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } @@ -116932,10 +119829,10 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -117045,7 +119942,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo } -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -117064,7 +119961,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicens } -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117134,7 +120031,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner } -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -117153,7 +120050,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermis } -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117223,7 +120120,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser } -public partial record WebhookPullRequestReviewSubmittedPullRequestLabels +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLabels { /// /// 6-character hex code, without the leading #, identifying the color @@ -117257,10 +120154,80 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestLabels } +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + /// /// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestone { [JsonPropertyName("closed_at")] public required DateTimeOffset? ClosedAt { get; init; } @@ -117272,7 +120239,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone public required DateTimeOffset CreatedAt { get; init; } [JsonPropertyName("creator")] - public required WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator? Creator { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestoneCreator? Creator { get; init; } [JsonPropertyName("description")] public required string? Description { get; init; } @@ -117321,7 +120288,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone } -public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestoneCreator { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117381,7 +120348,77 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreat public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -117394,7 +120431,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreat /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -117403,10 +120440,10 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams /// Description of the team /// [JsonPropertyName("description")] - public string? Description { get; init; } + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -117415,7 +120452,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams public required int Id { get; init; } [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + public required string MembersUrl { get; init; } /// /// Name of the team @@ -117424,35 +120461,35 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } + public required string NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public string? Permission { get; init; } + public required string Permission { get; init; } [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + public required WebhooksTeamPrivacy Privacy { get; init; } [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + public required Uri RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public string? Slug { get; init; } + public required string Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public Uri? Url { get; init; } + public required Uri Url { get; init; } } -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2Parent { /// /// Description of the team @@ -117504,7 +120541,127 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams } -public partial record WebhookPullRequestReviewSubmittedPullRequestUser +/// +/// Union of: WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117564,7 +120721,7 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestUser public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -117574,19 +120731,150 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestUser } -public partial record WebhookPullRequestReviewThreadResolvedPullRequest +public partial record WebhookPullRequestReviewRequestRemovedVariant1RequestedReviewer +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2 +{ + [JsonPropertyName("action")] + public required WebhookPullRequestReviewRequestRemovedVariant1Action Action { get; init; } + + /// + /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + /// on an enterprise account or an organization that's part of an enterprise account. For more information, + /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + /// + [JsonPropertyName("enterprise")] + public EnterpriseWebhooks? Enterprise { get; init; } + + /// + /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + /// for and sent to a GitHub App. For more information, + /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + /// + [JsonPropertyName("installation")] + public SimpleInstallation? Installation { get; init; } + + /// + /// The pull request number. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + /// + /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + /// organization, or when the event occurs from activity in a repository owned by an organization. + /// + [JsonPropertyName("organization")] + public OrganizationSimpleWebhooks? Organization { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequest PullRequest { get; init; } + + /// + /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + /// when the event occurs from activity in a repository. + /// + [JsonPropertyName("repository")] + public required RepositoryWebhooks Repository { get; init; } + + /// + /// Groups of organization members that gives permissions on specified repositories. + /// + [JsonPropertyName("requested_team")] + public required WebhookPullRequestReviewRequestRemovedVariant2RequestedTeam RequestedTeam { get; init; } + + /// + /// A GitHub user. + /// + [JsonPropertyName("sender")] + public required SimpleUser Sender { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } + [JsonPropertyName("additions")] + public int? Additions { get; init; } + [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -117598,34 +120886,49 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBase Base { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } + [JsonPropertyName("changed_files")] + public int? ChangedFiles { get; init; } + [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("comments")] + public int? Comments { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } + [JsonPropertyName("commits")] + public int? Commits { get; init; } + [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("deletions")] + public int? Deletions { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } + /// + /// Indicates whether or not the pull request is a draft. + /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHead Head { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -117637,41 +120940,68 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } + /// + /// Indicates whether maintainers can modify the pull request. + /// + [JsonPropertyName("maintainer_can_modify")] + public bool? MaintainerCanModify { get; init; } + [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } + [JsonPropertyName("mergeable")] + public bool? Mergeable { get; init; } + + [JsonPropertyName("mergeable_state")] + public string? MergeableState { get; init; } + + [JsonPropertyName("merged")] + public bool? Merged { get; init; } + [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } + public required DateTimeOffset? MergedAt { get; init; } + + [JsonPropertyName("merged_by")] + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestMergedBy? MergedBy { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewThreadResolvedPullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + /// + /// Number uniquely identifying the pull request within its repository. + /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } + [JsonPropertyName("rebaseable")] + public bool? Rebaseable { get; init; } + [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } + [JsonPropertyName("review_comments")] + public int? ReviewComments { get; init; } + [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -117681,111 +121011,117 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } + /// + /// State of this Pull Request. Either `open` or `closed`. + /// [JsonPropertyName("state")] public required NullableMilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } + /// + /// The title of the pull request. + /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } + public required DateTimeOffset UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinks +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksComments +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117855,7 +121191,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117920,12 +121256,15 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -117940,7 +121279,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -117950,7 +121289,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -118020,7 +121359,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -118032,20 +121371,20 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -118264,11 +121603,30 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense? License { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + [JsonPropertyName("merges_url")] public required Uri MergesUrl { get; init; } @@ -118300,10 +121658,10 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -118329,6 +121687,25 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo [JsonPropertyName("size")] public required int Size { get; init; } + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + [JsonPropertyName("ssh_url")] public required string SshUrl { get; init; } @@ -118371,6 +121748,12 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo [JsonPropertyName("url")] public required Uri Url { get; init; } + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + [JsonPropertyName("visibility")] public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } @@ -118388,7 +121771,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -118407,7 +121790,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoL } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -118477,7 +121860,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoO } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -118496,7 +121879,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoP } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -118566,10 +121949,10 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHead { [JsonPropertyName("label")] - public required string? Label { get; init; } + public required string Label { get; init; } [JsonPropertyName("ref")] public required string Ref { get; init; } @@ -118578,20 +121961,20 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo? Repo { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadUser? User { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepo { /// /// Whether to allow auto-merge for pull requests. @@ -118810,11 +122193,30 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense? License { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + [JsonPropertyName("merges_url")] public required Uri MergesUrl { get; init; } @@ -118846,10 +122248,10 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -118875,6 +122277,25 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo [JsonPropertyName("size")] public required int Size { get; init; } + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + [JsonPropertyName("ssh_url")] public required string SshUrl { get; init; } @@ -118917,6 +122338,12 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo [JsonPropertyName("url")] public required Uri Url { get; init; } + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + [JsonPropertyName("visibility")] public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } @@ -118934,7 +122361,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -118953,7 +122380,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoL } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119023,7 +122450,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoO } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -119042,7 +122469,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoP } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119112,7 +122539,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLabels { /// /// 6-character hex code, without the leading #, identifying the color @@ -119146,10 +122573,80 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels } +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + /// /// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestone { [JsonPropertyName("closed_at")] public required DateTimeOffset? ClosedAt { get; init; } @@ -119161,7 +122658,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone public required DateTimeOffset CreatedAt { get; init; } [JsonPropertyName("creator")] - public required WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator? Creator { get; init; } + public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestoneCreator? Creator { get; init; } [JsonPropertyName("description")] public required string? Description { get; init; } @@ -119210,7 +122707,77 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119283,7 +122850,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeams +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -119292,10 +122859,10 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested /// Description of the team /// [JsonPropertyName("description")] - public string? Description { get; init; } + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -119304,7 +122871,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested public required int Id { get; init; } [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } + public required string MembersUrl { get; init; } /// /// Name of the team @@ -119313,35 +122880,35 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } + public required string NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public string? Permission { get; init; } + public required string Permission { get; init; } [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } + public required WebhooksTeamPrivacy Privacy { get; init; } [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } + public required Uri RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public string? Slug { get; init; } + public required string Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public Uri? Url { get; init; } + public required Uri Url { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2Parent { /// /// Description of the team @@ -119393,7 +122960,127 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested } -public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser +/// +/// Union of: WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119453,7 +123140,7 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -119463,321 +123150,190 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser } -public partial record WebhookPullRequestReviewThreadResolvedThread -{ - [JsonPropertyName("comments")] - public required IReadOnlyList Comments { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - -} - /// -/// The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. +/// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewThreadResolvedThreadComments +public partial record WebhookPullRequestReviewRequestRemovedVariant2RequestedTeam { - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinks Links { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The text of the comment. - /// - [JsonPropertyName("body")] - public required string Body { get; init; } - - /// - /// The SHA of the commit to which the comment applies. - /// - [JsonPropertyName("commit_id")] - public required string CommitId { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } /// - /// The diff of the line that the comment refers to. + /// Description of the team /// - [JsonPropertyName("diff_hunk")] - public required string DiffHunk { get; init; } + [JsonPropertyName("description")] + public required string? Description { get; init; } - /// - /// HTML URL for the pull request review comment. - /// [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } /// - /// The ID of the pull request review comment. + /// Unique identifier of the team /// [JsonPropertyName("id")] public required int Id { get; init; } - /// - /// The comment ID to reply to. - /// - [JsonPropertyName("in_reply_to_id")] - public int? InReplyToId { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } /// - /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment + /// Name of the team /// - [JsonPropertyName("line")] - public required int? Line { get; init; } + [JsonPropertyName("name")] + public required string Name { get; init; } - /// - /// The node ID of the pull request review comment. - /// [JsonPropertyName("node_id")] public required string NodeId { get; init; } - /// - /// The SHA of the original commit to which the comment applies. - /// - [JsonPropertyName("original_commit_id")] - public required string OriginalCommitId { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestRemovedVariant2RequestedTeamParent? Parent { get; init; } /// - /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment + /// Permission that the team will have for its repositories /// - [JsonPropertyName("original_line")] - public required int? OriginalLine { get; init; } + [JsonPropertyName("permission")] + public required string Permission { get; init; } - /// - /// The index of the original line in the diff to which the comment applies. - /// - [JsonPropertyName("original_position")] - public required int OriginalPosition { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - /// - /// The first line of the range for a multi-line comment. - /// - [JsonPropertyName("original_start_line")] - public required int? OriginalStartLine { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } - /// - /// The relative path of the file to which the comment applies. - /// - [JsonPropertyName("path")] - public required string Path { get; init; } + [JsonPropertyName("slug")] + public required string Slug { get; init; } /// - /// The line index in the diff to which the comment applies. + /// URL for the team /// - [JsonPropertyName("position")] - public required int? Position { get; init; } + [JsonPropertyName("url")] + public required Uri Url { get; init; } - /// - /// The ID of the pull request review to which the comment belongs. - /// - [JsonPropertyName("pull_request_review_id")] - public required int? PullRequestReviewId { get; init; } +} +public partial record WebhookPullRequestReviewRequestRemovedVariant2RequestedTeamParent +{ /// - /// URL for the pull request that the review comment belongs to. + /// Description of the team /// - [JsonPropertyName("pull_request_url")] - public required Uri PullRequestUrl { get; init; } - - [JsonPropertyName("reactions")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsReactions Reactions { get; init; } + [JsonPropertyName("description")] + public required string? Description { get; init; } - /// - /// The side of the first line of the range for a multi-line comment. - /// - [JsonPropertyName("side")] - public required Side Side { get; init; } + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } /// - /// The first line of the range for a multi-line comment. + /// Unique identifier of the team /// - [JsonPropertyName("start_line")] - public required int? StartLine { get; init; } + [JsonPropertyName("id")] + public required int Id { get; init; } - /// - /// The side of the first line of the range for a multi-line comment. - /// - [JsonPropertyName("start_side")] - public required StartSide StartSide { get; init; } = Generated.GithubApi.StartSide.Right; + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } /// - /// The level at which the comment is targeted, can be a diff line or a file. + /// Name of the team /// - [JsonPropertyName("subject_type")] - public SubjectType? SubjectType { get; init; } + [JsonPropertyName("name")] + public required string Name { get; init; } - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } /// - /// URL for the pull request review comment + /// Permission that the team will have for its repositories /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinks -{ - [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml Html { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest PullRequest { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf Self { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsReactions -{ - [JsonPropertyName("+1")] - public required int Plus1 { get; init; } - - [JsonPropertyName("-1")] - public required int Minus1 { get; init; } - - [JsonPropertyName("confused")] - public required int Confused { get; init; } - - [JsonPropertyName("eyes")] - public required int Eyes { get; init; } - - [JsonPropertyName("heart")] - public required int Heart { get; init; } - - [JsonPropertyName("hooray")] - public required int Hooray { get; init; } + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("laugh")] - public required int Laugh { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - [JsonPropertyName("rocket")] - public required int Rocket { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } - [JsonPropertyName("total_count")] - public required int TotalCount { get; init; } + [JsonPropertyName("slug")] + public required string Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsUser +public partial record WebhookPullRequestReviewRequestedVariant1 { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } + [JsonPropertyName("action")] + public required WebhookPullRequestReviewRequestedVariant1Action Action { get; init; } - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } + /// + /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + /// on an enterprise account or an organization that's part of an enterprise account. For more information, + /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + /// + [JsonPropertyName("enterprise")] + public EnterpriseWebhooks? Enterprise { get; init; } - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + /// + /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + /// for and sent to a GitHub App. For more information, + /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + /// + [JsonPropertyName("installation")] + public SimpleInstallation? Installation { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// The pull request number. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + /// + /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + /// organization, or when the event occurs from activity in a repository owned by an organization. + /// + [JsonPropertyName("organization")] + public OrganizationSimpleWebhooks? Organization { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewRequestedVariant1PullRequest PullRequest { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + /// + /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + /// when the event occurs from activity in a repository. + /// + [JsonPropertyName("repository")] + public required RepositoryWebhooks Repository { get; init; } - [JsonPropertyName("url")] - public Uri? Url { get; init; } + [JsonPropertyName("requested_reviewer")] + public required WebhookPullRequestReviewRequestedVariant1RequestedReviewer? RequestedReviewer { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } + /// + /// A GitHub user. + /// + [JsonPropertyName("sender")] + public required SimpleUser Sender { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest +public partial record WebhookPullRequestReviewRequestedVariant1PullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } + [JsonPropertyName("additions")] + public int? Additions { get; init; } + [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -119789,34 +123345,49 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBase Base { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } + [JsonPropertyName("changed_files")] + public int? ChangedFiles { get; init; } + [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("comments")] + public int? Comments { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } + [JsonPropertyName("commits")] + public int? Commits { get; init; } + [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("deletions")] + public int? Deletions { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } + /// + /// Indicates whether or not the pull request is a draft. + /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestHead Head { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -119828,41 +123399,68 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } + /// + /// Indicates whether maintainers can modify the pull request. + /// + [JsonPropertyName("maintainer_can_modify")] + public bool? MaintainerCanModify { get; init; } + [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } + [JsonPropertyName("mergeable")] + public bool? Mergeable { get; init; } + + [JsonPropertyName("mergeable_state")] + public string? MergeableState { get; init; } + + [JsonPropertyName("merged")] + public bool? Merged { get; init; } + [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } + public required DateTimeOffset? MergedAt { get; init; } + + [JsonPropertyName("merged_by")] + public WebhookPullRequestReviewRequestedVariant1PullRequestMergedBy? MergedBy { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + /// + /// Number uniquely identifying the pull request within its repository. + /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } + [JsonPropertyName("rebaseable")] + public bool? Rebaseable { get; init; } + [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } + [JsonPropertyName("review_comments")] + public int? ReviewComments { get; init; } + [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -119872,111 +123470,117 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } + /// + /// State of this Pull Request. Either `open` or `closed`. + /// [JsonPropertyName("state")] public required NullableMilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } + /// + /// The title of the pull request. + /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } + public required DateTimeOffset UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestUser? User { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinks +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120036,7 +123640,7 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssigne public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -120046,7 +123650,7 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssigne } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignees +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120106,17 +123710,20 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssigne public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -120128,10 +123735,10 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMer /// Title for the merge commit message. /// [JsonPropertyName("commit_title")] - public required string CommitTitle { get; init; } + public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -120141,7 +123748,7 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMer } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120211,7 +123818,7 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMer } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -120223,20 +123830,9337 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHead +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestReviewRequestedVariant1PullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1PullRequestUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant1RequestedReviewer +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2 +{ + [JsonPropertyName("action")] + public required WebhookPullRequestReviewRequestedVariant1Action Action { get; init; } + + /// + /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured + /// on an enterprise account or an organization that's part of an enterprise account. For more information, + /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." + /// + [JsonPropertyName("enterprise")] + public EnterpriseWebhooks? Enterprise { get; init; } + + /// + /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured + /// for and sent to a GitHub App. For more information, + /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." + /// + [JsonPropertyName("installation")] + public SimpleInstallation? Installation { get; init; } + + /// + /// The pull request number. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + /// + /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an + /// organization, or when the event occurs from activity in a repository owned by an organization. + /// + [JsonPropertyName("organization")] + public OrganizationSimpleWebhooks? Organization { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewRequestedVariant2PullRequest PullRequest { get; init; } + + /// + /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property + /// when the event occurs from activity in a repository. + /// + [JsonPropertyName("repository")] + public required RepositoryWebhooks Repository { get; init; } + + /// + /// Groups of organization members that gives permissions on specified repositories. + /// + [JsonPropertyName("requested_team")] + public required WebhookPullRequestReviewRequestedVariant2RequestedTeam RequestedTeam { get; init; } + + /// + /// A GitHub user. + /// + [JsonPropertyName("sender")] + public required SimpleUser Sender { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequest +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinks Links { get; init; } + + [JsonPropertyName("active_lock_reason")] + public required ActiveLockReason ActiveLockReason { get; init; } + + [JsonPropertyName("additions")] + public int? Additions { get; init; } + + [JsonPropertyName("assignee")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestAssignee? Assignee { get; init; } + + [JsonPropertyName("assignees")] + public required IReadOnlyList Assignees { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The status of auto merging a pull request. + /// + [JsonPropertyName("auto_merge")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestAutoMerge? AutoMerge { get; init; } + + [JsonPropertyName("base")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBase Base { get; init; } + + [JsonPropertyName("body")] + public required string? Body { get; init; } + + [JsonPropertyName("changed_files")] + public int? ChangedFiles { get; init; } + + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("comments")] + public int? Comments { get; init; } + + [JsonPropertyName("comments_url")] + public required Uri CommentsUrl { get; init; } + + [JsonPropertyName("commits")] + public int? Commits { get; init; } + + [JsonPropertyName("commits_url")] + public required Uri CommitsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("deletions")] + public int? Deletions { get; init; } + + [JsonPropertyName("diff_url")] + public required Uri DiffUrl { get; init; } + + /// + /// Indicates whether or not the pull request is a draft. + /// + [JsonPropertyName("draft")] + public required bool Draft { get; init; } + + [JsonPropertyName("head")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHead Head { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("issue_url")] + public required Uri IssueUrl { get; init; } + + [JsonPropertyName("labels")] + public required IReadOnlyList Labels { get; init; } + + [JsonPropertyName("locked")] + public required bool Locked { get; init; } + + /// + /// Indicates whether maintainers can modify the pull request. + /// + [JsonPropertyName("maintainer_can_modify")] + public bool? MaintainerCanModify { get; init; } + + [JsonPropertyName("merge_commit_sha")] + public required string? MergeCommitSha { get; init; } + + [JsonPropertyName("mergeable")] + public bool? Mergeable { get; init; } + + [JsonPropertyName("mergeable_state")] + public string? MergeableState { get; init; } + + [JsonPropertyName("merged")] + public bool? Merged { get; init; } + + [JsonPropertyName("merged_at")] + public required DateTimeOffset? MergedAt { get; init; } + + [JsonPropertyName("merged_by")] + public WebhookPullRequestReviewRequestedVariant2PullRequestMergedBy? MergedBy { get; init; } + + /// + /// A collection of related issues and pull requests. + /// + [JsonPropertyName("milestone")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestMilestone? Milestone { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Number uniquely identifying the pull request within its repository. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("patch_url")] + public required Uri PatchUrl { get; init; } + + [JsonPropertyName("rebaseable")] + public bool? Rebaseable { get; init; } + + [JsonPropertyName("requested_reviewers")] + public required IReadOnlyList RequestedReviewers { get; init; } + + [JsonPropertyName("requested_teams")] + public required IReadOnlyList RequestedTeams { get; init; } + + [JsonPropertyName("review_comment_url")] + public required string ReviewCommentUrl { get; init; } + + [JsonPropertyName("review_comments")] + public int? ReviewComments { get; init; } + + [JsonPropertyName("review_comments_url")] + public required Uri ReviewCommentsUrl { get; init; } + + /// + /// The stack information associated with a pull request. + /// + [JsonPropertyName("stack")] + public PullRequestStack? Stack { get; init; } + + /// + /// State of this Pull Request. Either `open` or `closed`. + /// + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + [JsonPropertyName("statuses_url")] + public required Uri StatusesUrl { get; init; } + + /// + /// The title of the pull request. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinks +{ + [JsonPropertyName("comments")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksComments Comments { get; init; } + + [JsonPropertyName("commits")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksCommits Commits { get; init; } + + [JsonPropertyName("html")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksHtml Html { get; init; } + + [JsonPropertyName("issue")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksIssue Issue { get; init; } + + [JsonPropertyName("review_comment")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComment ReviewComment { get; init; } + + [JsonPropertyName("review_comments")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComments ReviewComments { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksSelf Self { get; init; } + + [JsonPropertyName("statuses")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksStatuses Statuses { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksCommits +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksIssue +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComment +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksStatuses +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAssignee +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAssignees +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// The status of auto merging a pull request. +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAutoMerge +{ + /// + /// Commit message for the merge commit. + /// + [JsonPropertyName("commit_message")] + public required string? CommitMessage { get; init; } + + /// + /// Title for the merge commit message. + /// + [JsonPropertyName("commit_title")] + public required string? CommitTitle { get; init; } + + [JsonPropertyName("enabled_by")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + + /// + /// The merge method to use. + /// + [JsonPropertyName("merge_method")] + public required AutoMergeMergeMethod MergeMethod { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAutoMergeEnabledBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBase +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHead +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestReviewRequestedVariant2PullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2PullRequestUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewRequestedVariant2RequestedTeam +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewRequestedVariant2RequestedTeamParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewRequestedVariant2RequestedTeamParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequest +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewSubmittedPullRequestLinks Links { get; init; } + + [JsonPropertyName("active_lock_reason")] + public required ActiveLockReason ActiveLockReason { get; init; } + + [JsonPropertyName("assignee")] + public required WebhookPullRequestReviewSubmittedPullRequestAssignee? Assignee { get; init; } + + [JsonPropertyName("assignees")] + public required IReadOnlyList Assignees { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The status of auto merging a pull request. + /// + [JsonPropertyName("auto_merge")] + public required WebhookPullRequestReviewSubmittedPullRequestAutoMerge? AutoMerge { get; init; } + + [JsonPropertyName("base")] + public required WebhookPullRequestReviewSubmittedPullRequestBase Base { get; init; } + + [JsonPropertyName("body")] + public required string? Body { get; init; } + + [JsonPropertyName("closed_at")] + public required string? ClosedAt { get; init; } + + [JsonPropertyName("comments_url")] + public required Uri CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required Uri CommitsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required string CreatedAt { get; init; } + + [JsonPropertyName("diff_url")] + public required Uri DiffUrl { get; init; } + + [JsonPropertyName("draft")] + public required bool Draft { get; init; } + + [JsonPropertyName("head")] + public required WebhookPullRequestReviewSubmittedPullRequestHead Head { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("issue_url")] + public required Uri IssueUrl { get; init; } + + [JsonPropertyName("labels")] + public required IReadOnlyList Labels { get; init; } + + [JsonPropertyName("locked")] + public required bool Locked { get; init; } + + [JsonPropertyName("merge_commit_sha")] + public required string? MergeCommitSha { get; init; } + + [JsonPropertyName("merged_at")] + public required string? MergedAt { get; init; } + + /// + /// A collection of related issues and pull requests. + /// + [JsonPropertyName("milestone")] + public required WebhookPullRequestReviewSubmittedPullRequestMilestone? Milestone { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("patch_url")] + public required Uri PatchUrl { get; init; } + + [JsonPropertyName("requested_reviewers")] + public required IReadOnlyList RequestedReviewers { get; init; } + + [JsonPropertyName("requested_teams")] + public required IReadOnlyList RequestedTeams { get; init; } + + [JsonPropertyName("review_comment_url")] + public required string ReviewCommentUrl { get; init; } + + [JsonPropertyName("review_comments_url")] + public required Uri ReviewCommentsUrl { get; init; } + + /// + /// The stack information associated with a pull request. + /// + [JsonPropertyName("stack")] + public PullRequestStack? Stack { get; init; } + + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + [JsonPropertyName("statuses_url")] + public required Uri StatusesUrl { get; init; } + + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required string UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewSubmittedPullRequestUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinks +{ + [JsonPropertyName("comments")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksComments Comments { get; init; } + + [JsonPropertyName("commits")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksCommits Commits { get; init; } + + [JsonPropertyName("html")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksHtml Html { get; init; } + + [JsonPropertyName("issue")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksIssue Issue { get; init; } + + [JsonPropertyName("review_comment")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment ReviewComment { get; init; } + + [JsonPropertyName("review_comments")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments ReviewComments { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksSelf Self { get; init; } + + [JsonPropertyName("statuses")] + public required WebhookPullRequestReviewSubmittedPullRequestLinksStatuses Statuses { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksCommits +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksIssue +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksStatuses +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +/// +/// The status of auto merging a pull request. +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge +{ + /// + /// Commit message for the merge commit. + /// + [JsonPropertyName("commit_message")] + public required string? CommitMessage { get; init; } + + /// + /// Title for the merge commit message. + /// + [JsonPropertyName("commit_title")] + public required string? CommitTitle { get; init; } + + [JsonPropertyName("enabled_by")] + public required WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + + /// + /// The merge method to use. + /// + [JsonPropertyName("merge_method")] + public required AutoMergeMergeMethod MergeMethod { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBase +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewSubmittedPullRequestBaseUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHead +{ + [JsonPropertyName("label")] + public required string? Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepo? Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewSubmittedPullRequestHeadUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + /// + /// The default value for a merge commit message. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `PR_BODY` - default to the pull request's body. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("merge_commit_message")] + public MergeCommitMessage? MergeCommitMessage { get; init; } + + /// + /// The default value for a merge commit title. + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). + /// + [JsonPropertyName("merge_commit_title")] + public MergeCommitTitle? MergeCommitTitle { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + /// + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. + /// + [JsonPropertyName("squash_merge_commit_message")] + public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } + + /// + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). + /// + [JsonPropertyName("squash_merge_commit_title")] + public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + /// + /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. + /// + [JsonPropertyName("use_squash_pr_title_as_default")] + public bool UseSquashPrTitleAsDefault { get; init; } = false; + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewSubmittedPullRequestUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequest +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinks Links { get; init; } + + [JsonPropertyName("active_lock_reason")] + public required ActiveLockReason ActiveLockReason { get; init; } + + [JsonPropertyName("assignee")] + public required WebhookPullRequestReviewThreadResolvedPullRequestAssignee? Assignee { get; init; } + + [JsonPropertyName("assignees")] + public required IReadOnlyList Assignees { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The status of auto merging a pull request. + /// + [JsonPropertyName("auto_merge")] + public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge? AutoMerge { get; init; } + + [JsonPropertyName("base")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBase Base { get; init; } + + [JsonPropertyName("body")] + public required string? Body { get; init; } + + [JsonPropertyName("closed_at")] + public required string? ClosedAt { get; init; } + + [JsonPropertyName("comments_url")] + public required Uri CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required Uri CommitsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required string CreatedAt { get; init; } + + [JsonPropertyName("diff_url")] + public required Uri DiffUrl { get; init; } + + [JsonPropertyName("draft")] + public required bool Draft { get; init; } + + [JsonPropertyName("head")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHead Head { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("issue_url")] + public required Uri IssueUrl { get; init; } + + [JsonPropertyName("labels")] + public required IReadOnlyList Labels { get; init; } + + [JsonPropertyName("locked")] + public required bool Locked { get; init; } + + [JsonPropertyName("merge_commit_sha")] + public required string? MergeCommitSha { get; init; } + + [JsonPropertyName("merged_at")] + public required string? MergedAt { get; init; } + + /// + /// A collection of related issues and pull requests. + /// + [JsonPropertyName("milestone")] + public required WebhookPullRequestReviewThreadResolvedPullRequestMilestone? Milestone { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("patch_url")] + public required Uri PatchUrl { get; init; } + + [JsonPropertyName("requested_reviewers")] + public required IReadOnlyList RequestedReviewers { get; init; } + + [JsonPropertyName("requested_teams")] + public required IReadOnlyList RequestedTeams { get; init; } + + [JsonPropertyName("review_comment_url")] + public required string ReviewCommentUrl { get; init; } + + [JsonPropertyName("review_comments_url")] + public required Uri ReviewCommentsUrl { get; init; } + + /// + /// The stack information associated with a pull request. + /// + [JsonPropertyName("stack")] + public PullRequestStack? Stack { get; init; } + + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + [JsonPropertyName("statuses_url")] + public required Uri StatusesUrl { get; init; } + + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required string UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedPullRequestUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinks +{ + [JsonPropertyName("comments")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksComments Comments { get; init; } + + [JsonPropertyName("commits")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits Commits { get; init; } + + [JsonPropertyName("html")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml Html { get; init; } + + [JsonPropertyName("issue")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue Issue { get; init; } + + [JsonPropertyName("review_comment")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment ReviewComment { get; init; } + + [JsonPropertyName("review_comments")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments ReviewComments { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf Self { get; init; } + + [JsonPropertyName("statuses")] + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses Statuses { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +/// +/// The status of auto merging a pull request. +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge +{ + /// + /// Commit message for the merge commit. + /// + [JsonPropertyName("commit_message")] + public required string? CommitMessage { get; init; } + + /// + /// Title for the merge commit message. + /// + [JsonPropertyName("commit_title")] + public required string? CommitTitle { get; init; } + + [JsonPropertyName("enabled_by")] + public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + + /// + /// The merge method to use. + /// + [JsonPropertyName("merge_method")] + public required AutoMergeMergeMethod MergeMethod { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead +{ + [JsonPropertyName("label")] + public required string? Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo? Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo +{ + /// + /// Whether to allow auto-merge for pull requests. + /// + [JsonPropertyName("allow_auto_merge")] + public bool AllowAutoMerge { get; init; } = false; + + /// + /// Whether to allow private forks + /// + [JsonPropertyName("allow_forking")] + public bool? AllowForking { get; init; } + + /// + /// Whether to allow merge commits for pull requests. + /// + [JsonPropertyName("allow_merge_commit")] + public bool AllowMergeCommit { get; init; } = true; + + /// + /// Whether to allow rebase merges for pull requests. + /// + [JsonPropertyName("allow_rebase_merge")] + public bool AllowRebaseMerge { get; init; } = true; + + /// + /// Whether to allow squash merges for pull requests. + /// + [JsonPropertyName("allow_squash_merge")] + public bool AllowSquashMerge { get; init; } = true; + + [JsonPropertyName("allow_update_branch")] + public bool? AllowUpdateBranch { get; init; } + + [JsonPropertyName("archive_url")] + public required string ArchiveUrl { get; init; } + + /// + /// Whether the repository is archived. + /// + [JsonPropertyName("archived")] + public required bool Archived { get; init; } = false; + + [JsonPropertyName("assignees_url")] + public required string AssigneesUrl { get; init; } + + [JsonPropertyName("blobs_url")] + public required string BlobsUrl { get; init; } + + [JsonPropertyName("branches_url")] + public required string BranchesUrl { get; init; } + + [JsonPropertyName("clone_url")] + public required Uri CloneUrl { get; init; } + + [JsonPropertyName("collaborators_url")] + public required string CollaboratorsUrl { get; init; } + + [JsonPropertyName("comments_url")] + public required string CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required string CommitsUrl { get; init; } + + [JsonPropertyName("compare_url")] + public required string CompareUrl { get; init; } + + [JsonPropertyName("contents_url")] + public required string ContentsUrl { get; init; } + + [JsonPropertyName("contributors_url")] + public required Uri ContributorsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required object CreatedAt { get; init; } + + /// + /// The default branch of the repository. + /// + [JsonPropertyName("default_branch")] + public required string DefaultBranch { get; init; } + + /// + /// Whether to delete head branches when pull requests are merged + /// + [JsonPropertyName("delete_branch_on_merge")] + public bool DeleteBranchOnMerge { get; init; } = false; + + [JsonPropertyName("deployments_url")] + public required Uri DeploymentsUrl { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + /// + /// Returns whether or not this repository is disabled. + /// + [JsonPropertyName("disabled")] + public bool? Disabled { get; init; } + + [JsonPropertyName("downloads_url")] + public required Uri DownloadsUrl { get; init; } + + [JsonPropertyName("events_url")] + public required Uri EventsUrl { get; init; } + + [JsonPropertyName("fork")] + public required bool Fork { get; init; } + + [JsonPropertyName("forks")] + public required int Forks { get; init; } + + [JsonPropertyName("forks_count")] + public required int ForksCount { get; init; } + + [JsonPropertyName("forks_url")] + public required Uri ForksUrl { get; init; } + + [JsonPropertyName("full_name")] + public required string FullName { get; init; } + + [JsonPropertyName("git_commits_url")] + public required string GitCommitsUrl { get; init; } + + [JsonPropertyName("git_refs_url")] + public required string GitRefsUrl { get; init; } + + [JsonPropertyName("git_tags_url")] + public required string GitTagsUrl { get; init; } + + [JsonPropertyName("git_url")] + public required Uri GitUrl { get; init; } + + /// + /// Whether downloads are enabled. + /// + [JsonPropertyName("has_downloads")] + public required bool HasDownloads { get; init; } = true; + + /// + /// Whether issues are enabled. + /// + [JsonPropertyName("has_issues")] + public required bool HasIssues { get; init; } = true; + + [JsonPropertyName("has_pages")] + public required bool HasPages { get; init; } + + /// + /// Whether projects are enabled. + /// + [JsonPropertyName("has_projects")] + public required bool HasProjects { get; init; } = true; + + /// + /// Whether the wiki is enabled. + /// + [JsonPropertyName("has_wiki")] + public required bool HasWiki { get; init; } = true; + + /// + /// Whether discussions are enabled. + /// + [JsonPropertyName("has_discussions")] + public required bool HasDiscussions { get; init; } = false; + + /// + /// Whether pull requests are enabled. + /// + [JsonPropertyName("has_pull_requests")] + public bool HasPullRequests { get; init; } = true; + + /// + /// The policy controlling who can create pull requests: all or collaborators_only. + /// + [JsonPropertyName("pull_request_creation_policy")] + public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } + + [JsonPropertyName("homepage")] + public required string? Homepage { get; init; } + + [JsonPropertyName("hooks_url")] + public required Uri HooksUrl { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the repository + /// + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("is_template")] + public bool? IsTemplate { get; init; } + + [JsonPropertyName("issue_comment_url")] + public required string IssueCommentUrl { get; init; } + + [JsonPropertyName("issue_events_url")] + public required string IssueEventsUrl { get; init; } + + [JsonPropertyName("issues_url")] + public required string IssuesUrl { get; init; } + + [JsonPropertyName("keys_url")] + public required string KeysUrl { get; init; } + + [JsonPropertyName("labels_url")] + public required string LabelsUrl { get; init; } + + [JsonPropertyName("language")] + public required string? Language { get; init; } + + [JsonPropertyName("languages_url")] + public required Uri LanguagesUrl { get; init; } + + [JsonPropertyName("license")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense? License { get; init; } + + [JsonPropertyName("master_branch")] + public string? MasterBranch { get; init; } + + [JsonPropertyName("merges_url")] + public required Uri MergesUrl { get; init; } + + [JsonPropertyName("milestones_url")] + public required string MilestonesUrl { get; init; } + + [JsonPropertyName("mirror_url")] + public required Uri? MirrorUrl { get; init; } + + /// + /// The name of the repository. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("notifications_url")] + public required string NotificationsUrl { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + [JsonPropertyName("open_issues_count")] + public required int OpenIssuesCount { get; init; } + + [JsonPropertyName("organization")] + public string? Organization { get; init; } + + [JsonPropertyName("owner")] + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner? Owner { get; init; } + + [JsonPropertyName("permissions")] + public WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions? Permissions { get; init; } + + /// + /// Whether the repository is private or public. + /// + [JsonPropertyName("private")] + public required bool Private { get; init; } + + [JsonPropertyName("public")] + public bool? Public { get; init; } + + [JsonPropertyName("pulls_url")] + public required string PullsUrl { get; init; } + + [JsonPropertyName("pushed_at")] + public required object PushedAt { get; init; } + + [JsonPropertyName("releases_url")] + public required string ReleasesUrl { get; init; } + + [JsonPropertyName("role_name")] + public string? RoleName { get; init; } + + [JsonPropertyName("size")] + public required int Size { get; init; } + + [JsonPropertyName("ssh_url")] + public required string SshUrl { get; init; } + + [JsonPropertyName("stargazers")] + public int? Stargazers { get; init; } + + [JsonPropertyName("stargazers_count")] + public required int StargazersCount { get; init; } + + [JsonPropertyName("stargazers_url")] + public required Uri StargazersUrl { get; init; } + + [JsonPropertyName("statuses_url")] + public required string StatusesUrl { get; init; } + + [JsonPropertyName("subscribers_url")] + public required Uri SubscribersUrl { get; init; } + + [JsonPropertyName("subscription_url")] + public required Uri SubscriptionUrl { get; init; } + + [JsonPropertyName("svn_url")] + public required Uri SvnUrl { get; init; } + + [JsonPropertyName("tags_url")] + public required Uri TagsUrl { get; init; } + + [JsonPropertyName("teams_url")] + public required Uri TeamsUrl { get; init; } + + [JsonPropertyName("topics")] + public required IReadOnlyList Topics { get; init; } + + [JsonPropertyName("trees_url")] + public required string TreesUrl { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("visibility")] + public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } + + [JsonPropertyName("watchers")] + public required int Watchers { get; init; } + + [JsonPropertyName("watchers_count")] + public required int WatchersCount { get; init; } + + /// + /// Whether to require contributors to sign off on web-based commits + /// + [JsonPropertyName("web_commit_signoff_required")] + public bool? WebCommitSignoffRequired { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense +{ + [JsonPropertyName("key")] + public required string Key { get; init; } + + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("spdx_id")] + public required string SpdxId { get; init; } + + [JsonPropertyName("url")] + public required Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions +{ + [JsonPropertyName("admin")] + public required bool Admin { get; init; } + + [JsonPropertyName("maintain")] + public bool? Maintain { get; init; } + + [JsonPropertyName("pull")] + public required bool Pull { get; init; } + + [JsonPropertyName("push")] + public required bool Push { get; init; } + + [JsonPropertyName("triage")] + public bool? Triage { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewers; + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThread +{ + [JsonPropertyName("comments")] + public required IReadOnlyList Comments { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + +} + +/// +/// The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. +/// +public partial record WebhookPullRequestReviewThreadResolvedThreadComments +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinks Links { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The text of the comment. + /// + [JsonPropertyName("body")] + public required string Body { get; init; } + + /// + /// The SHA of the commit to which the comment applies. + /// + [JsonPropertyName("commit_id")] + public required string CommitId { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + /// + /// The diff of the line that the comment refers to. + /// + [JsonPropertyName("diff_hunk")] + public required string DiffHunk { get; init; } + + /// + /// HTML URL for the pull request review comment. + /// + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// The ID of the pull request review comment. + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The comment ID to reply to. + /// + [JsonPropertyName("in_reply_to_id")] + public int? InReplyToId { get; init; } + + /// + /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment + /// + [JsonPropertyName("line")] + public required int? Line { get; init; } + + /// + /// The node ID of the pull request review comment. + /// + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The SHA of the original commit to which the comment applies. + /// + [JsonPropertyName("original_commit_id")] + public required string OriginalCommitId { get; init; } + + /// + /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment + /// + [JsonPropertyName("original_line")] + public required int? OriginalLine { get; init; } + + /// + /// The index of the original line in the diff to which the comment applies. + /// + [JsonPropertyName("original_position")] + public required int OriginalPosition { get; init; } + + /// + /// The first line of the range for a multi-line comment. + /// + [JsonPropertyName("original_start_line")] + public required int? OriginalStartLine { get; init; } + + /// + /// The relative path of the file to which the comment applies. + /// + [JsonPropertyName("path")] + public required string Path { get; init; } + + /// + /// The line index in the diff to which the comment applies. + /// + [JsonPropertyName("position")] + public required int? Position { get; init; } + + /// + /// The ID of the pull request review to which the comment belongs. + /// + [JsonPropertyName("pull_request_review_id")] + public required int? PullRequestReviewId { get; init; } + + /// + /// URL for the pull request that the review comment belongs to. + /// + [JsonPropertyName("pull_request_url")] + public required Uri PullRequestUrl { get; init; } + + [JsonPropertyName("reactions")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsReactions Reactions { get; init; } + + /// + /// The side of the first line of the range for a multi-line comment. + /// + [JsonPropertyName("side")] + public required Side Side { get; init; } + + /// + /// The first line of the range for a multi-line comment. + /// + [JsonPropertyName("start_line")] + public required int? StartLine { get; init; } + + /// + /// The side of the first line of the range for a multi-line comment. + /// + [JsonPropertyName("start_side")] + public required StartSide StartSide { get; init; } = Generated.GithubApi.StartSide.Right; + + /// + /// The level at which the comment is targeted, can be a diff line or a file. + /// + [JsonPropertyName("subject_type")] + public SubjectType? SubjectType { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + /// + /// URL for the pull request review comment + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinks +{ + [JsonPropertyName("html")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml Html { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest PullRequest { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf Self { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsReactions +{ + [JsonPropertyName("+1")] + public required int Plus1 { get; init; } + + [JsonPropertyName("-1")] + public required int Minus1 { get; init; } + + [JsonPropertyName("confused")] + public required int Confused { get; init; } + + [JsonPropertyName("eyes")] + public required int Eyes { get; init; } + + [JsonPropertyName("heart")] + public required int Heart { get; init; } + + [JsonPropertyName("hooray")] + public required int Hooray { get; init; } + + [JsonPropertyName("laugh")] + public required int Laugh { get; init; } + + [JsonPropertyName("rocket")] + public required int Rocket { get; init; } + + [JsonPropertyName("total_count")] + public required int TotalCount { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsUser +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest +{ + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinks Links { get; init; } + + [JsonPropertyName("active_lock_reason")] + public required ActiveLockReason ActiveLockReason { get; init; } + + [JsonPropertyName("assignee")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee? Assignee { get; init; } + + [JsonPropertyName("assignees")] + public required IReadOnlyList Assignees { get; init; } + + /// + /// How the author is associated with the repository. + /// + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + + /// + /// The status of auto merging a pull request. + /// + [JsonPropertyName("auto_merge")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge? AutoMerge { get; init; } + + [JsonPropertyName("base")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBase Base { get; init; } + + [JsonPropertyName("body")] + public required string? Body { get; init; } + + [JsonPropertyName("closed_at")] + public required string? ClosedAt { get; init; } + + [JsonPropertyName("comments_url")] + public required Uri CommentsUrl { get; init; } + + [JsonPropertyName("commits_url")] + public required Uri CommitsUrl { get; init; } + + [JsonPropertyName("created_at")] + public required string CreatedAt { get; init; } + + [JsonPropertyName("diff_url")] + public required Uri DiffUrl { get; init; } + + [JsonPropertyName("draft")] + public required bool Draft { get; init; } + + [JsonPropertyName("head")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestHead Head { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("issue_url")] + public required Uri IssueUrl { get; init; } + + [JsonPropertyName("labels")] + public required IReadOnlyList Labels { get; init; } + + [JsonPropertyName("locked")] + public required bool Locked { get; init; } + + [JsonPropertyName("merge_commit_sha")] + public required string? MergeCommitSha { get; init; } + + [JsonPropertyName("merged_at")] + public required string? MergedAt { get; init; } + + /// + /// A collection of related issues and pull requests. + /// + [JsonPropertyName("milestone")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestMilestone? Milestone { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("patch_url")] + public required Uri PatchUrl { get; init; } + + [JsonPropertyName("requested_reviewers")] + public required IReadOnlyList RequestedReviewers { get; init; } + + [JsonPropertyName("requested_teams")] + public required IReadOnlyList RequestedTeams { get; init; } + + [JsonPropertyName("review_comment_url")] + public required string ReviewCommentUrl { get; init; } + + [JsonPropertyName("review_comments_url")] + public required Uri ReviewCommentsUrl { get; init; } + + /// + /// The stack information associated with a pull request. + /// + [JsonPropertyName("stack")] + public PullRequestStack? Stack { get; init; } + + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + [JsonPropertyName("statuses_url")] + public required Uri StatusesUrl { get; init; } + + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required string UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestUser? User { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinks +{ + [JsonPropertyName("comments")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments Comments { get; init; } + + [JsonPropertyName("commits")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits Commits { get; init; } + + [JsonPropertyName("html")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml Html { get; init; } + + [JsonPropertyName("issue")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue Issue { get; init; } + + [JsonPropertyName("review_comment")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment ReviewComment { get; init; } + + [JsonPropertyName("review_comments")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments ReviewComments { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf Self { get; init; } + + [JsonPropertyName("statuses")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses Statuses { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignees +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +/// +/// The status of auto merging a pull request. +/// +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge +{ + /// + /// Commit message for the merge commit. + /// + [JsonPropertyName("commit_message")] + public required string? CommitMessage { get; init; } + + /// + /// Title for the merge commit message. + /// + [JsonPropertyName("commit_title")] + public required string CommitTitle { get; init; } + + [JsonPropertyName("enabled_by")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + + /// + /// The merge method to use. + /// + [JsonPropertyName("merge_method")] + public required AutoMergeMergeMethod MergeMethod { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase +{ + [JsonPropertyName("label")] + public required string Label { get; init; } + + [JsonPropertyName("ref")] + public required string Ref { get; init; } + + /// + /// A git repository + /// + [JsonPropertyName("repo")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo Repo { get; init; } + + [JsonPropertyName("sha")] + public required string Sha { get; init; } + + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseUser? User { get; init; } + +} + +/// +/// A git repository +/// +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -121471,6 +134395,196 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestMilesto } +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -122088,7 +135202,7 @@ public partial record WebhookPullRequestStackedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -123593,7 +136707,245 @@ public partial record WebhookPullRequestStackedPullRequestHeadUser public Uri? HtmlUrl { get; init; } [JsonPropertyName("id")] - public required long Id { get; init; } + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestStackedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestStackedPullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestStackedPullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestStackedPullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestStackedPullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } [JsonPropertyName("login")] public required string Login { get; init; } @@ -123623,7 +136975,7 @@ public partial record WebhookPullRequestStackedPullRequestHeadUser public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -123633,41 +136985,7 @@ public partial record WebhookPullRequestStackedPullRequestHeadUser } -public partial record WebhookPullRequestStackedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestStackedPullRequestMergedBy +public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -123738,139 +137056,125 @@ public partial record WebhookPullRequestStackedPullRequestMergedBy } /// -/// A collection of related issues and pull requests. +/// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestStackedPullRequestMilestone +public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 { - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestStackedPullRequestMilestoneCreator? Creator { get; init; } + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + /// + /// Description of the team + /// [JsonPropertyName("description")] public required string? Description { get; init; } - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestStackedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + /// - /// The number of the milestone. + /// Permission that the team will have for its repositories /// - [JsonPropertyName("number")] - public required int Number { get; init; } + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } /// - /// The title of the milestone. + /// URL for the team /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestStackedPullRequestMilestoneCreator +public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant2Parent { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + public required string NodeId { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public required string Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } + public required Uri Url { get; init; } } +/// +/// Union of: WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 | WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant1), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant2), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestStackedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -124186,7 +137490,7 @@ public partial record WebhookPullRequestSynchronizePullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -125962,6 +139266,196 @@ public partial record WebhookPullRequestSynchronizePullRequestMilestoneCreator } +public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 | WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -126277,7 +139771,7 @@ public partial record WebhookPullRequestUnassignedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -127782,7 +141276,245 @@ public partial record WebhookPullRequestUnassignedPullRequestHeadUser public Uri? HtmlUrl { get; init; } [JsonPropertyName("id")] - public required long Id { get; init; } + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +public partial record WebhookPullRequestUnassignedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestUnassignedPullRequestMergedBy +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// A collection of related issues and pull requests. +/// +public partial record WebhookPullRequestUnassignedPullRequestMilestone +{ + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestUnassignedPullRequestMilestoneCreator? Creator { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// The number of the milestone. + /// + [JsonPropertyName("number")] + public required int Number { get; init; } + + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } + + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } + + /// + /// The title of the milestone. + /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } [JsonPropertyName("login")] public required string Login { get; init; } @@ -127812,7 +141544,7 @@ public partial record WebhookPullRequestUnassignedPullRequestHeadUser public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -127822,41 +141554,7 @@ public partial record WebhookPullRequestUnassignedPullRequestHeadUser } -public partial record WebhookPullRequestUnassignedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestUnassignedPullRequestMergedBy +public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -127927,139 +141625,125 @@ public partial record WebhookPullRequestUnassignedPullRequestMergedBy } /// -/// A collection of related issues and pull requests. +/// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestUnassignedPullRequestMilestone +public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 { - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestUnassignedPullRequestMilestoneCreator? Creator { get; init; } + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + /// + /// Description of the team + /// [JsonPropertyName("description")] public required string? Description { get; init; } - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + /// - /// The number of the milestone. + /// Permission that the team will have for its repositories /// - [JsonPropertyName("number")] - public required int Number { get; init; } + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } /// - /// The title of the milestone. + /// URL for the team /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator +public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2Parent { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } + public required Uri HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + public required string NodeId { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public required string Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } + public required Uri Url { get; init; } } +/// +/// Union of: WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestUnassignedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -128375,7 +142059,7 @@ public partial record WebhookPullRequestUnlabeledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -130151,6 +143835,196 @@ public partial record WebhookPullRequestUnlabeledPullRequestMilestoneCreator } +public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -130466,7 +144340,7 @@ public partial record WebhookPullRequestUnlockedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -132249,6 +146123,196 @@ public partial record WebhookPullRequestUnlockedPullRequestMilestoneCreator } +public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 +{ + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } + +} + +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2Parent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +/// +/// Union of: WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 +/// +[JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1")] +[JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2")] +public abstract partial record WebhookPullRequestUnlockedPullRequestRequestedReviewers; + /// /// Groups of organization members that gives permissions on specified repositories. /// diff --git a/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs b/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs index 99617cb..ad477f5 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs @@ -360,6 +360,12 @@ public partial record Notification [JsonPropertyName("contact")] public required ContactMethod Contact { get; init; } + /// + /// oneOf with mixed ref and inline object variants. The inline object is hoisted to a named record and the union is emitted as an abstract record with [JsonDerivedType] attributes. + /// + [JsonPropertyName("escalation")] + public required NotificationEscalation Escalation { get; init; } + /// /// Superseded by contact; retained for backward compatibility. /// @@ -394,3 +400,27 @@ public readonly partial record struct LegacyId(Guid Value) : IOpenApiGeneratedTy { public static LegacyId Create(Guid value) => new(value); } + +/// +/// Inline escalation variant hoisted to a named record. +/// +public partial record NotificationEscalationVariant2 +{ + [RegularExpression("^\\+?[0-9]{6,15}$")] + [JsonPropertyName("phone")] + public required string Phone { get; init; } + + [JsonPropertyName("afterHours")] + public bool? AfterHours { get; init; } + +} + +/// +/// oneOf with mixed ref and inline object variants. The inline object is hoisted to a named record and the union is emitted as an abstract record with [JsonDerivedType] attributes. +/// +/// +/// Union of: EmailContact | NotificationEscalationVariant2 +/// +[JsonDerivedType(typeof(EmailContact), "EmailContact")] +[JsonDerivedType(typeof(NotificationEscalationVariant2), "NotificationEscalationVariant2")] +public abstract partial record NotificationEscalation; diff --git a/examples/OpenApiCodeGenerator.Examples/specs/showcase-openapi.yaml b/examples/OpenApiCodeGenerator.Examples/specs/showcase-openapi.yaml index 3363099..4a76a6a 100644 --- a/examples/OpenApiCodeGenerator.Examples/specs/showcase-openapi.yaml +++ b/examples/OpenApiCodeGenerator.Examples/specs/showcase-openapi.yaml @@ -174,6 +174,7 @@ components: - record - preferredShape - contact + - escalation properties: record: $ref: '#/components/schemas/DeliveryRecord' @@ -181,6 +182,23 @@ components: $ref: '#/components/schemas/Shape' contact: $ref: '#/components/schemas/ContactMethod' + escalation: + description: >- + oneOf with mixed ref and inline object variants. The inline object + is hoisted to a named record and the union is emitted as an abstract + record with [JsonDerivedType] attributes. + oneOf: + - $ref: '#/components/schemas/EmailContact' + - type: object + description: Inline escalation variant hoisted to a named record. + required: + - phone + properties: + phone: + type: string + pattern: '^\+?[0-9]{6,15}$' + afterHours: + type: boolean legacyChannel: type: string deprecated: true From e03d631679ebdebe0515d8b03c576bbe98a3b9b2 Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 15:49:13 +0200 Subject: [PATCH 03/10] fix: Handle inline object variants in discriminated unions and add tests - Extend EmitDiscriminatedUnion to emit [JsonDerivedType] for hoisted inline object variants not covered by the discriminator mapping - Add doc comment noting synthetic discriminator for inline variants - Fix xUnit1051 warnings: use TestContext.Current.CancellationToken - Add tests: anyOf with inline, nested inline objects, same-shaped inline variants, discriminated oneOf with inline object - Regenerate all example outputs --- .../output/github-api-next.cs | 90 ++++++++ .../output/github-api.cs | 90 ++++++++ .../output/showcase-openapi.cs | 3 + src/OpenApiCodeGenerator/CSharpCodeEmitter.cs | 27 +++ .../CSharpCodeEmitterTests.cs | 207 +++++++++++++++++- 5 files changed, 412 insertions(+), 5 deletions(-) diff --git a/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs b/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs index bdaaffd..988a72c 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs @@ -43049,6 +43049,9 @@ public partial record WebhookPullRequestReviewEdited /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant1 | WebhookPullRequestReviewRequestRemovedVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1), "WebhookPullRequestReviewRequestRemovedVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2), "WebhookPullRequestReviewRequestRemovedVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemoved; @@ -43056,6 +43059,9 @@ public abstract partial record WebhookPullRequestReviewRequestRemoved; /// /// Union of: WebhookPullRequestReviewRequestedVariant1 | WebhookPullRequestReviewRequestedVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1), "WebhookPullRequestReviewRequestedVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2), "WebhookPullRequestReviewRequestedVariant2")] public abstract partial record WebhookPullRequestReviewRequested; @@ -52920,6 +52926,9 @@ public partial record EnvironmentProtectionRulesVariant3 /// /// Union of: EnvironmentProtectionRulesVariant1 | EnvironmentProtectionRulesVariant2 | EnvironmentProtectionRulesVariant3 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(EnvironmentProtectionRulesVariant1), "EnvironmentProtectionRulesVariant1")] [JsonDerivedType(typeof(EnvironmentProtectionRulesVariant2), "EnvironmentProtectionRulesVariant2")] [JsonDerivedType(typeof(EnvironmentProtectionRulesVariant3), "EnvironmentProtectionRulesVariant3")] @@ -53823,6 +53832,9 @@ public partial record PullRequestMergeAsyncResultDetailsVariant3 /// /// Union of: PullRequestMergeAsyncResultDetailsVariant1 | PullRequestMergeAsyncResultDetailsVariant2 | PullRequestMergeAsyncResultDetailsVariant3 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant1), "PullRequestMergeAsyncResultDetailsVariant1")] [JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant2), "PullRequestMergeAsyncResultDetailsVariant2")] [JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant3), "PullRequestMergeAsyncResultDetailsVariant3")] @@ -59411,6 +59423,9 @@ public partial record WebhooksPullRequest5RequestedReviewersVariant2Parent /// /// Union of: WebhooksPullRequest5RequestedReviewersVariant1 | WebhooksPullRequest5RequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant1), "WebhooksPullRequest5RequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant2), "WebhooksPullRequest5RequestedReviewersVariant2")] public abstract partial record WebhooksPullRequest5RequestedReviewers; @@ -87669,6 +87684,9 @@ public partial record WebhookProjectsV2ItemEditedChangesVariant2Body /// /// Union of: WebhookProjectsV2ItemEditedChangesVariant1 | WebhookProjectsV2ItemEditedChangesVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant1), "WebhookProjectsV2ItemEditedChangesVariant1")] [JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant2), "WebhookProjectsV2ItemEditedChangesVariant2")] public abstract partial record WebhookProjectsV2ItemEditedChanges; @@ -89850,6 +89868,9 @@ public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestAssignedPullRequestRequestedReviewers; @@ -92138,6 +92159,9 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedRev /// /// Union of: WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewers; @@ -94426,6 +94450,9 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedRevi /// /// Union of: WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewers; @@ -96714,6 +96741,9 @@ public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestDequeuedPullRequestRequestedReviewers; @@ -99062,6 +99092,9 @@ public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewers; @@ -101350,6 +101383,9 @@ public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVari /// /// Union of: WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestLabeledPullRequestRequestedReviewers; @@ -103638,6 +103674,9 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria /// /// Union of: WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestLockedPullRequestRequestedReviewers; @@ -106097,6 +106136,9 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequested /// /// Union of: WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewers; @@ -108264,6 +108306,9 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequested /// /// Union of: WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewers; @@ -110434,6 +110479,9 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedR /// /// Union of: WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewers; @@ -112601,6 +112649,9 @@ public partial record WebhookPullRequestReviewDismissedPullRequestRequestedRevie /// /// Union of: WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewers; @@ -114792,6 +114843,9 @@ public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewer /// /// Union of: WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewers; @@ -117131,6 +117185,9 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewers; @@ -119550,6 +119607,9 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewers; @@ -122009,6 +122069,9 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestReques /// /// Union of: WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewers; @@ -124428,6 +124491,9 @@ public partial record WebhookPullRequestReviewRequestedVariant2PullRequestReques /// /// Union of: WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewers; @@ -126708,6 +126774,9 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedRevie /// /// Union of: WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewers; @@ -128787,6 +128856,9 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested /// /// Union of: WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewers; @@ -131168,6 +131240,9 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequest /// /// Union of: WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewers; @@ -133758,6 +133833,9 @@ public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVari /// /// Union of: WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 | WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant1), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant2), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestStackedPullRequestRequestedReviewers; @@ -136039,6 +136117,9 @@ public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers /// /// Union of: WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 | WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers; @@ -138327,6 +138408,9 @@ public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersV /// /// Union of: WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestUnassignedPullRequestRequestedReviewers; @@ -140608,6 +140692,9 @@ public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVa /// /// Union of: WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewers; @@ -142896,6 +142983,9 @@ public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestUnlockedPullRequestRequestedReviewers; diff --git a/examples/OpenApiCodeGenerator.Examples/output/github-api.cs b/examples/OpenApiCodeGenerator.Examples/output/github-api.cs index 283c64e..9da0e6f 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/github-api.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/github-api.cs @@ -45779,6 +45779,9 @@ public partial record WebhookPullRequestReviewEdited /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant1 | WebhookPullRequestReviewRequestRemovedVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1), "WebhookPullRequestReviewRequestRemovedVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2), "WebhookPullRequestReviewRequestRemovedVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemoved; @@ -45786,6 +45789,9 @@ public abstract partial record WebhookPullRequestReviewRequestRemoved; /// /// Union of: WebhookPullRequestReviewRequestedVariant1 | WebhookPullRequestReviewRequestedVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1), "WebhookPullRequestReviewRequestedVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2), "WebhookPullRequestReviewRequestedVariant2")] public abstract partial record WebhookPullRequestReviewRequested; @@ -55848,6 +55854,9 @@ public partial record EnvironmentProtectionRulesVariant3 /// /// Union of: EnvironmentProtectionRulesVariant1 | EnvironmentProtectionRulesVariant2 | EnvironmentProtectionRulesVariant3 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(EnvironmentProtectionRulesVariant1), "EnvironmentProtectionRulesVariant1")] [JsonDerivedType(typeof(EnvironmentProtectionRulesVariant2), "EnvironmentProtectionRulesVariant2")] [JsonDerivedType(typeof(EnvironmentProtectionRulesVariant3), "EnvironmentProtectionRulesVariant3")] @@ -56801,6 +56810,9 @@ public partial record PullRequestMergeAsyncResultDetailsVariant3 /// /// Union of: PullRequestMergeAsyncResultDetailsVariant1 | PullRequestMergeAsyncResultDetailsVariant2 | PullRequestMergeAsyncResultDetailsVariant3 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant1), "PullRequestMergeAsyncResultDetailsVariant1")] [JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant2), "PullRequestMergeAsyncResultDetailsVariant2")] [JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant3), "PullRequestMergeAsyncResultDetailsVariant3")] @@ -62779,6 +62791,9 @@ public partial record WebhooksPullRequest5RequestedReviewersVariant2Parent /// /// Union of: WebhooksPullRequest5RequestedReviewersVariant1 | WebhooksPullRequest5RequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant1), "WebhooksPullRequest5RequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant2), "WebhooksPullRequest5RequestedReviewersVariant2")] public abstract partial record WebhooksPullRequest5RequestedReviewers; @@ -91082,6 +91097,9 @@ public partial record WebhookProjectsV2ItemEditedChangesVariant2Body /// /// Union of: WebhookProjectsV2ItemEditedChangesVariant1 | WebhookProjectsV2ItemEditedChangesVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant1), "WebhookProjectsV2ItemEditedChangesVariant1")] [JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant2), "WebhookProjectsV2ItemEditedChangesVariant2")] public abstract partial record WebhookProjectsV2ItemEditedChanges; @@ -93263,6 +93281,9 @@ public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestAssignedPullRequestRequestedReviewers; @@ -95551,6 +95572,9 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedRev /// /// Union of: WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewers; @@ -97839,6 +97863,9 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedRevi /// /// Union of: WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewers; @@ -100127,6 +100154,9 @@ public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestDequeuedPullRequestRequestedReviewers; @@ -102475,6 +102505,9 @@ public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewers; @@ -104763,6 +104796,9 @@ public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVari /// /// Union of: WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestLabeledPullRequestRequestedReviewers; @@ -107051,6 +107087,9 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria /// /// Union of: WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestLockedPullRequestRequestedReviewers; @@ -109510,6 +109549,9 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequested /// /// Union of: WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewers; @@ -111677,6 +111719,9 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequested /// /// Union of: WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewers; @@ -113847,6 +113892,9 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedR /// /// Union of: WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewers; @@ -116014,6 +116062,9 @@ public partial record WebhookPullRequestReviewDismissedPullRequestRequestedRevie /// /// Union of: WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewers; @@ -118205,6 +118256,9 @@ public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewer /// /// Union of: WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewers; @@ -120544,6 +120598,9 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewers; @@ -122963,6 +123020,9 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewers; @@ -125422,6 +125482,9 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestReques /// /// Union of: WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewers; @@ -127841,6 +127904,9 @@ public partial record WebhookPullRequestReviewRequestedVariant2PullRequestReques /// /// Union of: WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewers; @@ -130121,6 +130187,9 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedRevie /// /// Union of: WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewers; @@ -132200,6 +132269,9 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested /// /// Union of: WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewers; @@ -134581,6 +134653,9 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequest /// /// Union of: WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewers; @@ -137171,6 +137246,9 @@ public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVari /// /// Union of: WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 | WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant1), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant2), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestStackedPullRequestRequestedReviewers; @@ -139452,6 +139530,9 @@ public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers /// /// Union of: WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 | WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers; @@ -141740,6 +141821,9 @@ public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersV /// /// Union of: WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestUnassignedPullRequestRequestedReviewers; @@ -144021,6 +144105,9 @@ public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVa /// /// Union of: WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewers; @@ -146309,6 +146396,9 @@ public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1")] [JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2")] public abstract partial record WebhookPullRequestUnlockedPullRequestRequestedReviewers; diff --git a/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs b/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs index ad477f5..022bf5c 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs @@ -421,6 +421,9 @@ public partial record NotificationEscalationVariant2 /// /// Union of: EmailContact | NotificationEscalationVariant2 /// +/// +/// Inline object variants use the synthesized type name as the discriminator value. +/// [JsonDerivedType(typeof(EmailContact), "EmailContact")] [JsonDerivedType(typeof(NotificationEscalationVariant2), "NotificationEscalationVariant2")] public abstract partial record NotificationEscalation; diff --git a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs index 576bc28..42b29d2 100644 --- a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs +++ b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs @@ -1244,6 +1244,25 @@ private void EmitDiscriminatedUnion( } } + // Add hoisted inline object variants not covered by the discriminator mapping. + // These have no natural discriminator value, so the synthesized type name is used + // as the wire discriminator. + foreach (IOpenApiSchema variant in variants) + { + if (variant is OpenApiSchemaReference) + { + continue; + } + + string? hoistedName = _typeResolver.GetInlineObjectTypeName(variant); + if (hoistedName is null || mapping.ContainsValue(hoistedName)) + { + continue; + } + + mapping[hoistedName] = hoistedName; + } + foreach ((string? discriminatorValue, string? derivedType) in mapping) { AppendLine($"[JsonDerivedType(typeof({derivedType}), \"{discriminatorValue}\")]"); @@ -1287,6 +1306,14 @@ private void EmitSimpleUnion(string typeName, IList variants) AppendLine($"/// "); } + bool hasInlineVariant = nonNullVariants.Any(v => v is not OpenApiSchemaReference && _typeResolver.GetInlineObjectTypeName(v) != null); + if (hasInlineVariant) + { + AppendLine("/// "); + AppendLine("/// Inline object variants use the synthesized type name as the discriminator value."); + AppendLine("/// "); + } + // Emit [JsonDerivedType] for each resolvable variant foreach (IOpenApiSchema variant in nonNullVariants) { diff --git a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs index 62dee3b..ec7a98f 100644 --- a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs +++ b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs @@ -2385,7 +2385,7 @@ public async Task Emit_InlineOneOfWithRefAndInlineObject_CompilesSuccessfully() Directory.CreateDirectory(tempRoot); try { - await File.WriteAllTextAsync(Path.Combine(tempRoot, "Generated.cs"), result); + await File.WriteAllTextAsync(Path.Combine(tempRoot, "Generated.cs"), result, TestContext.Current.CancellationToken); await File.WriteAllTextAsync(Path.Combine(tempRoot, "Harness.csproj"), """ @@ -2395,7 +2395,7 @@ await File.WriteAllTextAsync(Path.Combine(tempRoot, "Harness.csproj"), """ true - """); + """, TestContext.Current.CancellationToken); using var proc = new System.Diagnostics.Process(); proc.StartInfo = new System.Diagnostics.ProcessStartInfo { @@ -2408,9 +2408,9 @@ await File.WriteAllTextAsync(Path.Combine(tempRoot, "Harness.csproj"), """ CreateNoWindow = true }; proc.Start(); - string stdout = await proc.StandardOutput.ReadToEndAsync(); - string stderr = await proc.StandardError.ReadToEndAsync(); - await proc.WaitForExitAsync(); + string stdout = await proc.StandardOutput.ReadToEndAsync(TestContext.Current.CancellationToken); + string stderr = await proc.StandardError.ReadToEndAsync(TestContext.Current.CancellationToken); + await proc.WaitForExitAsync(TestContext.Current.CancellationToken); Assert.True(proc.ExitCode == 0, $"Inline union code failed to compile.{Environment.NewLine}STDOUT:{stdout}{Environment.NewLine}STDERR:{stderr}"); } @@ -2420,6 +2420,203 @@ await File.WriteAllTextAsync(Path.Combine(tempRoot, "Harness.csproj"), """ } } + [Fact] + public void Emit_InlineAnyOfWithRefAndInlineObject_HoistsInlineObject() + { + var schemas = new Dictionary + { + ["A"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["name"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + ["MyRecord"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["value"] = new OpenApiSchema + { + AnyOf = new List + { + new OpenApiSchemaReference("A"), + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["x"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + } + } + } + } + } + }; + + string result = Generate(schemas); + + Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); + Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(A), \"A\")]", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant2), \"MyRecordValueVariant2\")]", result, StringComparison.Ordinal); + Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); + } + + [Fact] + public void Emit_InlineOneOfWithNestedInlineObject_HoistsNestedObject() + { + var schemas = new Dictionary + { + ["A"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["name"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + ["MyRecord"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["value"] = new OpenApiSchema + { + OneOf = new List + { + new OpenApiSchemaReference("A"), + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["nested"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["deep"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + } + } + } + } + } + } + } + }; + + string result = Generate(schemas); + + Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); + Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); + Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); + Assert.Contains("public MyRecordValueVariant2Nested? Nested { get; init; }", result, StringComparison.Ordinal); + Assert.Contains("public partial record MyRecordValueVariant2Nested", result, StringComparison.Ordinal); + Assert.Contains("public string? Deep { get; init; }", result, StringComparison.Ordinal); + } + + [Fact] + public void Emit_InlineOneOfWithTwoSameShapedInlineObjects_HoistsBothSeparately() + { + var schemas = new Dictionary + { + ["MyRecord"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["value"] = new OpenApiSchema + { + OneOf = new List + { + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["label"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["label"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + } + } + } + } + } + }; + + string result = Generate(schemas); + + Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); + Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); + Assert.Contains("public partial record MyRecordValueVariant1", result, StringComparison.Ordinal); + Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant1), \"MyRecordValueVariant1\")]", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant2), \"MyRecordValueVariant2\")]", result, StringComparison.Ordinal); + } + + [Fact] + public void Emit_DiscriminatedOneOfWithRefAndInlineObject_EmitsBothDerivedTypes() + { + var schemas = new Dictionary + { + ["Cat"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Required = new HashSet { "petType" }, + Properties = new Dictionary + { + ["petType"] = new OpenApiSchema { Type = JsonSchemaType.String, Enum = [JsonValue.Create("cat")] }, + ["meow"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + ["Pet"] = new OpenApiSchema + { + OneOf = + [ + new OpenApiSchemaReference("Cat"), + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Required = new HashSet { "petType" }, + Properties = new Dictionary + { + ["petType"] = new OpenApiSchema { Type = JsonSchemaType.String, Enum = [JsonValue.Create("dog")] }, + ["bark"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + } + ], + Discriminator = new OpenApiDiscriminator + { + PropertyName = "petType", + Mapping = new Dictionary + { + ["cat"] = new OpenApiSchemaReference("Cat") + } + } + } + }; + + string result = Generate(schemas); + + Assert.Contains("public abstract partial record Pet;", result, StringComparison.Ordinal); + Assert.Contains("[JsonPolymorphic(TypeDiscriminatorPropertyName = \"petType\")]", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(Cat), \"cat\")]", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(PetVariant2), \"PetVariant2\")]", result, StringComparison.Ordinal); + Assert.Contains("public partial record PetVariant2", result, StringComparison.Ordinal); + } + #endregion #region Default Value Emission From 6adff8397765e0d908c7364686b8621e0231035a Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 16:29:45 +0200 Subject: [PATCH 04/10] fix: Extract discriminator value from inline object variants in discriminated unions Inline object variants in discriminated unions now use the wire discriminator value extracted from the variant's discriminator property (e.g. "dog" from petType: { enum: ["dog"] }) instead of the synthesized type name. Union variants now inherit from the discriminated union base type and the discriminator property is skipped on derived types so that System.TextJson polymorphic deserialization works correctly. Also fixes orphan hoisted types when a schema has both direct properties and oneOf/anyOf. --- src/OpenApiCodeGenerator/CSharpCodeEmitter.cs | 90 +++++++- .../CSharpCodeEmitterTests.cs | 2 +- .../CSharpSchemaGeneratorTests.cs | 198 ++++++++++++++++-- 3 files changed, 268 insertions(+), 22 deletions(-) diff --git a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs index 42b29d2..e7cda82 100644 --- a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs +++ b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs @@ -18,6 +18,14 @@ internal class CSharpCodeEmitter private readonly StringBuilder _sb = new(); private int _indent; + /// + /// Maps a union variant schema → (resolved base type name, discriminator property name). + /// Populated during so that + /// can emit the correct base type for variants of discriminated unions and skip the + /// discriminator property (handled by the polymorphic serializer). + /// + private readonly Dictionary _unionVariantBaseTypes = new(ReferenceEqualityComparer.Instance); + /// /// Maps (schemaName, propertyName) → resolved enum type name for inline enums. /// Built during so that can reference @@ -519,10 +527,16 @@ private void DiscoverInlineObjects( } // Scan oneOf/anyOf variants for inline objects (handles component-level union schemas - // where variants include inline object definitions that need to be hoisted) + // where variants include inline object definitions that need to be hoisted). + // Skip when the schema has its own direct properties — in that case the schema is + // emitted as a record and the oneOf/anyOf is not consumed, so hoisting would + // produce orphan types. IList? unionVariants = schema.OneOf ?? schema.AnyOf; - if (unionVariants != null) + if (unionVariants != null && properties.Count == 0) { + bool isDiscriminated = schema.Discriminator is { PropertyName: not null }; + string? discPropName = schema.Discriminator?.PropertyName; + int variantIndex = 1; foreach (IOpenApiSchema variant in unionVariants) { @@ -531,6 +545,22 @@ private void DiscoverInlineObjects( // Try to hoist inline objects within union variants string variantPropName = $"Variant{variantIndex}"; TryHoistPropertySchema(variant, enclosingTypeName, variantPropName, typeNameMap, usedNames, visited); + + // For discriminated unions, record the union base type so the hoisted + // inline variant can inherit from it (required for polymorphic deserialization). + if (isDiscriminated) + { + _unionVariantBaseTypes.TryAdd(variant, (enclosingTypeName, discPropName!)); + } + } + else if (isDiscriminated && variant is OpenApiSchemaReference refVariant && refVariant.Reference?.Id != null) + { + // For $ref variants in discriminated unions, record the union base type + // on the referenced schema so it inherits from the union. + if (_allSchemas.TryGetValue(refVariant.Reference.Id, out IOpenApiSchema? refSchema)) + { + _unionVariantBaseTypes.TryAdd(refSchema, (enclosingTypeName, discPropName!)); + } } variantIndex++; @@ -925,6 +955,16 @@ private void EmitRecord(string schemaName, IOpenApiSchema schema, string? typeNa } } + // If no allOf base type, check if this schema is a variant of a discriminated + // union. Variants must inherit from the union base type for polymorphic + // deserialization (JsonDerivedType / JsonPolymorphic) to function. + string? unionDiscriminatorPropertyName = null; + if (baseType == null && _unionVariantBaseTypes.TryGetValue(schema, out (string BaseTypeName, string DiscriminatorPropertyName) unionInfo)) + { + baseType = unionInfo.BaseTypeName; + unionDiscriminatorPropertyName = unionInfo.DiscriminatorPropertyName; + } + EmitDocComment(schema.Description); EmitObsoleteAttribute(schema); @@ -939,6 +979,15 @@ private void EmitRecord(string schemaName, IOpenApiSchema schema, string? typeNa .Where(p => basePropertyNames == null || !basePropertyNames.Contains(p.Key)) .ToList(); + // When inheriting from a discriminated union, skip the discriminator property + // on the derived type — it is handled by the polymorphic serializer. + if (unionDiscriminatorPropertyName != null) + { + filteredProps = filteredProps + .Where(p => !string.Equals(p.Key, unionDiscriminatorPropertyName, StringComparison.Ordinal)) + .ToList(); + } + // Two-pass property name resolution: detect collisions, assign clean names to // the most natural property name, differentiate others meaningfully. Dictionary propertyNameMap = ResolvePropertyNameCollisions(filteredProps.Select(p => p.Key), typeName); @@ -1245,8 +1294,9 @@ private void EmitDiscriminatedUnion( } // Add hoisted inline object variants not covered by the discriminator mapping. - // These have no natural discriminator value, so the synthesized type name is used - // as the wire discriminator. + // The discriminator value is extracted from the variant's discriminator property + // (e.g., petType: "dog"). Falls back to the synthesized type name when no + // discriminator property value is found. foreach (IOpenApiSchema variant in variants) { if (variant is OpenApiSchemaReference) @@ -1260,7 +1310,8 @@ private void EmitDiscriminatedUnion( continue; } - mapping[hoistedName] = hoistedName; + string discriminatorValue = TryGetDiscriminatorValue(variant, discriminator.PropertyName!) ?? hoistedName; + mapping[discriminatorValue] = hoistedName; } foreach ((string? discriminatorValue, string? derivedType) in mapping) @@ -1274,6 +1325,35 @@ private void EmitDiscriminatedUnion( AppendLine(); } + /// + /// Extracts the wire discriminator value from an inline variant's discriminator property. + /// The property is expected to have an with a single + /// (const/enum constraint). Returns null if not found. + /// + private static string? TryGetDiscriminatorValue(IOpenApiSchema variant, string discriminatorPropertyName) + { + Dictionary properties = CollectProperties(variant); + if (!properties.TryGetValue(discriminatorPropertyName, out IOpenApiSchema? discProp)) + { + return null; + } + + if (discProp.Enum is null || discProp.Enum.Count == 0) + { + return null; + } + + foreach (var enumValue in discProp.Enum) + { + if (enumValue is JsonValue jv && jv.TryGetValue(out string? s)) + { + return s; + } + } + + return null; + } + private void EmitSimpleUnion(string typeName, IList variants) { // Filter out null-type variants (from nullable anyOf patterns like [type, null]) diff --git a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs index ec7a98f..6034de6 100644 --- a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs +++ b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs @@ -2613,7 +2613,7 @@ public void Emit_DiscriminatedOneOfWithRefAndInlineObject_EmitsBothDerivedTypes( Assert.Contains("public abstract partial record Pet;", result, StringComparison.Ordinal); Assert.Contains("[JsonPolymorphic(TypeDiscriminatorPropertyName = \"petType\")]", result, StringComparison.Ordinal); Assert.Contains("[JsonDerivedType(typeof(Cat), \"cat\")]", result, StringComparison.Ordinal); - Assert.Contains("[JsonDerivedType(typeof(PetVariant2), \"PetVariant2\")]", result, StringComparison.Ordinal); + Assert.Contains("[JsonDerivedType(typeof(PetVariant2), \"dog\")]", result, StringComparison.Ordinal); Assert.Contains("public partial record PetVariant2", result, StringComparison.Ordinal); } diff --git a/tests/OpenApiCodeGenerator.Tests/CSharpSchemaGeneratorTests.cs b/tests/OpenApiCodeGenerator.Tests/CSharpSchemaGeneratorTests.cs index c5537f6..dc83b74 100644 --- a/tests/OpenApiCodeGenerator.Tests/CSharpSchemaGeneratorTests.cs +++ b/tests/OpenApiCodeGenerator.Tests/CSharpSchemaGeneratorTests.cs @@ -1040,7 +1040,7 @@ public async Task Generate_ComprehensiveApi_AllOfDerivedRecord_RoundTripsWithSys } [Fact] - public async Task Generate_ComprehensiveApi_OneOfDiscriminatedUnion_DefaultSystemTextJsonReportsUnsupportedDerivedType() + public async Task Generate_ComprehensiveApi_OneOfDiscriminatedUnion_RoundTripsWithSystemTextJsonDefaults() { var generator = new CSharpSchemaGenerator(new GeneratorOptions { @@ -1050,26 +1050,192 @@ public async Task Generate_ComprehensiveApi_OneOfDiscriminatedUnion_DefaultSyste string generatedCode = generator.GenerateFromFile(GetFixturePath("comprehensive-api.json")); string[] lines = await GetSerializationLinesAsync(generatedCode, """ - using System; using System.Text.Json; using GeneratedModels; - try - { - Shape? shape = JsonSerializer.Deserialize("{\"shapeType\":\"circle\",\"radius\":2.5}"); - Console.WriteLine(shape?.GetType().Name ?? ""); - Console.WriteLine(JsonSerializer.Serialize(shape)); - } - catch (Exception ex) - { - Console.WriteLine(ex.GetType().Name); - Console.WriteLine(ex.Message); - } + Shape? shape = JsonSerializer.Deserialize("{\"shapeType\":\"circle\",\"radius\":2.5}"); + Console.WriteLine(shape?.GetType().Name ?? ""); + Console.WriteLine(JsonSerializer.Serialize(shape)); """); - Assert.Equal("InvalidOperationException", lines[^2]); - Assert.Contains("not a supported derived type", lines[^1], StringComparison.Ordinal); - Assert.Contains("GeneratedModels.Shape", lines[^1], StringComparison.Ordinal); + Assert.Equal("Circle", lines[^2]); + Assert.Equal("{\"shapeType\":\"circle\",\"radius\":2.5}", lines[^1]); + } + + [Fact] + public async Task Generate_FromText_DiscriminatedOneOfWithRefAndInlineObject_RoundTripsWithSystemTextJsonDefaults() + { + const string spec = """ + { + "openapi": "3.0.3", + "info": { "title": "Pet Union Test", "version": "1.0.0" }, + "components": { + "schemas": { + "Cat": { + "type": "object", + "required": ["petType"], + "properties": { + "petType": { "type": "string", "enum": ["cat"] }, + "meow": { "type": "string" } + } + }, + "Pet": { + "oneOf": [ + { "$ref": "#/components/schemas/Cat" }, + { + "type": "object", + "required": ["petType"], + "properties": { + "petType": { "type": "string", "enum": ["dog"] }, + "bark": { "type": "string" } + } + } + ], + "discriminator": { + "propertyName": "petType", + "mapping": { "cat": "#/components/schemas/Cat" } + } + } + } + } + } + """; + + var generator = new CSharpSchemaGenerator(new GeneratorOptions + { + GenerateFileHeader = false, + Namespace = "GeneratedModels" + }); + + string generatedCode = generator.GenerateFromText(spec); + string[] lines = await GetSerializationLinesAsync(generatedCode, """ + using System.Text.Json; + using GeneratedModels; + + Pet? cat = JsonSerializer.Deserialize("{\"petType\":\"cat\",\"meow\":\"purr\"}"); + Pet? dog = JsonSerializer.Deserialize("{\"petType\":\"dog\",\"bark\":\"woof\"}"); + Console.WriteLine(cat?.GetType().Name ?? ""); + Console.WriteLine(JsonSerializer.Serialize(cat)); + Console.WriteLine(dog?.GetType().Name ?? ""); + Console.WriteLine(JsonSerializer.Serialize(dog)); + """); + + Assert.Equal("Cat", lines[^4]); + Assert.Equal("{\"petType\":\"cat\",\"meow\":\"purr\"}", lines[^3]); + Assert.Equal("PetVariant2", lines[^2]); + Assert.Equal("{\"petType\":\"dog\",\"bark\":\"woof\"}", lines[^1]); + } + + [Fact] + public async Task Generate_FromText_DiscriminatedOneOfAllInlineObjects_RoundTripsWithSystemTextJsonDefaults() + { + const string spec = """ + { + "openapi": "3.0.3", + "info": { "title": "Animal Union Test", "version": "1.0.0" }, + "components": { + "schemas": { + "Animal": { + "oneOf": [ + { + "type": "object", + "required": ["animalType"], + "properties": { + "animalType": { "type": "string", "enum": ["cat"] }, + "meow": { "type": "string" } + } + }, + { + "type": "object", + "required": ["animalType"], + "properties": { + "animalType": { "type": "string", "enum": ["dog"] }, + "bark": { "type": "string" } + } + } + ], + "discriminator": { + "propertyName": "animalType" + } + } + } + } + } + """; + + var generator = new CSharpSchemaGenerator(new GeneratorOptions + { + GenerateFileHeader = false, + Namespace = "GeneratedModels" + }); + + string generatedCode = generator.GenerateFromText(spec); + string[] lines = await GetSerializationLinesAsync(generatedCode, """ + using System.Text.Json; + using GeneratedModels; + + Animal? cat = JsonSerializer.Deserialize("{\"animalType\":\"cat\",\"meow\":\"purr\"}"); + Animal? dog = JsonSerializer.Deserialize("{\"animalType\":\"dog\",\"bark\":\"woof\"}"); + Console.WriteLine(cat?.GetType().Name ?? ""); + Console.WriteLine(JsonSerializer.Serialize(cat)); + Console.WriteLine(dog?.GetType().Name ?? ""); + Console.WriteLine(JsonSerializer.Serialize(dog)); + """); + + Assert.Equal("AnimalVariant1", lines[^4]); + Assert.Equal("{\"animalType\":\"cat\",\"meow\":\"purr\"}", lines[^3]); + Assert.Equal("AnimalVariant2", lines[^2]); + Assert.Equal("{\"animalType\":\"dog\",\"bark\":\"woof\"}", lines[^1]); + } + + [Fact] + public async Task Generate_FromText_DiscriminatedOneOfWithRefAndInlineObject_CompilesWithWarningsAsErrors() + { + const string spec = """ + { + "openapi": "3.0.3", + "info": { "title": "Pet Union Test", "version": "1.0.0" }, + "components": { + "schemas": { + "Cat": { + "type": "object", + "required": ["petType"], + "properties": { + "petType": { "type": "string", "enum": ["cat"] }, + "meow": { "type": "string" } + } + }, + "Pet": { + "oneOf": [ + { "$ref": "#/components/schemas/Cat" }, + { + "type": "object", + "required": ["petType"], + "properties": { + "petType": { "type": "string", "enum": ["dog"] }, + "bark": { "type": "string" } + } + } + ], + "discriminator": { + "propertyName": "petType", + "mapping": { "cat": "#/components/schemas/Cat" } + } + } + } + } + } + """; + + var generator = new CSharpSchemaGenerator(new GeneratorOptions + { + GenerateFileHeader = false, + Namespace = "GeneratedModels" + }); + + string generatedCode = generator.GenerateFromText(spec); + + await AssertGeneratedCodeCompilesAsync(generatedCode, implicitUsings: true, treatWarningsAsErrors: true); } [Fact] From 19e2bff9e37cad48366a139e546b56372d40dc89 Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 16:46:55 +0200 Subject: [PATCH 05/10] fix: support const-based discriminators and clean up union variant emission - Extract discriminator value from discProp.Const (OpenAPI 3.1) in TryGetDiscriminatorValue, falling back to discProp.Enum (OpenAPI 3.0) - Skip discriminator properties of union variants in ResolveInlineEnums to avoid emitting orphaned inline enum types - Merge duplicate doc comment blocks in EmitSimpleUnion --- src/OpenApiCodeGenerator/CSharpCodeEmitter.cs | 45 ++++++++++++++----- 1 file changed, 33 insertions(+), 12 deletions(-) diff --git a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs index e7cda82..b0cc052 100644 --- a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs +++ b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs @@ -312,9 +312,23 @@ private void EmitBinaryStreamTypeAliasJsonConverter() foreach ((string? schemaName, IOpenApiSchema? schema) in _allSchemas) { + // If this schema is a variant of a discriminated union, its discriminator + // property is handled by the polymorphic serializer and skipped in EmitRecord. + // Don't collect it as an inline enum — it would be emitted but never referenced. + string? skipDiscriminator = null; + if (_unionVariantBaseTypes.TryGetValue(schema, out (string BaseTypeName, string DiscriminatorPropertyName) unionInfo)) + { + skipDiscriminator = unionInfo.DiscriminatorPropertyName; + } + Dictionary properties = CollectProperties(schema); foreach ((string? propName, IOpenApiSchema? propSchema) in properties) { + if (skipDiscriminator != null && string.Equals(propName, skipDiscriminator, StringComparison.Ordinal)) + { + continue; + } + if (TypeResolver.IsEnum(propSchema) && !_knownSchemas.Contains(propSchema)) { string enumTypeName = NameHelper.ToPropertyName(propName, typeNameMap.GetValueOrDefault(schemaName)); @@ -1327,8 +1341,9 @@ private void EmitDiscriminatedUnion( /// /// Extracts the wire discriminator value from an inline variant's discriminator property. - /// The property is expected to have an with a single - /// (const/enum constraint). Returns null if not found. + /// In OpenAPI 3.0 the value is expressed via (a single + /// ); in OpenAPI 3.1 it is expressed via . + /// Returns null if neither is found. /// private static string? TryGetDiscriminatorValue(IOpenApiSchema variant, string discriminatorPropertyName) { @@ -1338,6 +1353,11 @@ private void EmitDiscriminatedUnion( return null; } + if (!string.IsNullOrEmpty(discProp.Const)) + { + return discProp.Const; + } + if (discProp.Enum is null || discProp.Enum.Count == 0) { return null; @@ -1379,21 +1399,22 @@ private void EmitSimpleUnion(string typeName, IList variants) } } - if (variantNames.Count > 0) + bool hasInlineVariant = nonNullVariants.Any(v => v is not OpenApiSchemaReference && _typeResolver.GetInlineObjectTypeName(v) != null); + + if (variantNames.Count > 0 || hasInlineVariant) { AppendLine($"/// "); - AppendLine($"/// Union of: {string.Join(" | ", variantNames)}"); + if (variantNames.Count > 0) + { + AppendLine($"/// Union of: {string.Join(" | ", variantNames)}"); + } + if (hasInlineVariant) + { + AppendLine("/// Inline object variants use the synthesized type name as the discriminator value."); + } AppendLine($"/// "); } - bool hasInlineVariant = nonNullVariants.Any(v => v is not OpenApiSchemaReference && _typeResolver.GetInlineObjectTypeName(v) != null); - if (hasInlineVariant) - { - AppendLine("/// "); - AppendLine("/// Inline object variants use the synthesized type name as the discriminator value."); - AppendLine("/// "); - } - // Emit [JsonDerivedType] for each resolvable variant foreach (IOpenApiSchema variant in nonNullVariants) { From 3136f3997779940bf3a782c390b76a531e8f8181 Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 16:47:48 +0200 Subject: [PATCH 06/10] docs: Regenerate examples after discriminator and union emission fixes --- .../output/github-api-next.cs | 60 ------------------- .../output/github-api.cs | 60 ------------------- .../output/showcase-openapi.cs | 26 +------- 3 files changed, 2 insertions(+), 144 deletions(-) diff --git a/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs b/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs index 988a72c..25be30a 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs @@ -43048,8 +43048,6 @@ public partial record WebhookPullRequestReviewEdited /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant1 | WebhookPullRequestReviewRequestRemovedVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1), "WebhookPullRequestReviewRequestRemovedVariant1")] @@ -43058,8 +43056,6 @@ public abstract partial record WebhookPullRequestReviewRequestRemoved; /// /// Union of: WebhookPullRequestReviewRequestedVariant1 | WebhookPullRequestReviewRequestedVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1), "WebhookPullRequestReviewRequestedVariant1")] @@ -52925,8 +52921,6 @@ public partial record EnvironmentProtectionRulesVariant3 /// /// Union of: EnvironmentProtectionRulesVariant1 | EnvironmentProtectionRulesVariant2 | EnvironmentProtectionRulesVariant3 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(EnvironmentProtectionRulesVariant1), "EnvironmentProtectionRulesVariant1")] @@ -53831,8 +53825,6 @@ public partial record PullRequestMergeAsyncResultDetailsVariant3 /// /// Union of: PullRequestMergeAsyncResultDetailsVariant1 | PullRequestMergeAsyncResultDetailsVariant2 | PullRequestMergeAsyncResultDetailsVariant3 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant1), "PullRequestMergeAsyncResultDetailsVariant1")] @@ -59422,8 +59414,6 @@ public partial record WebhooksPullRequest5RequestedReviewersVariant2Parent /// /// Union of: WebhooksPullRequest5RequestedReviewersVariant1 | WebhooksPullRequest5RequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant1), "WebhooksPullRequest5RequestedReviewersVariant1")] @@ -87683,8 +87673,6 @@ public partial record WebhookProjectsV2ItemEditedChangesVariant2Body /// /// /// Union of: WebhookProjectsV2ItemEditedChangesVariant1 | WebhookProjectsV2ItemEditedChangesVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant1), "WebhookProjectsV2ItemEditedChangesVariant1")] @@ -89867,8 +89855,6 @@ public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1")] @@ -92158,8 +92144,6 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedRev /// /// Union of: WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1")] @@ -94449,8 +94433,6 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedRevi /// /// Union of: WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1")] @@ -96740,8 +96722,6 @@ public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1")] @@ -99091,8 +99071,6 @@ public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1")] @@ -101382,8 +101360,6 @@ public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVari /// /// Union of: WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1")] @@ -103673,8 +103649,6 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria /// /// Union of: WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant1")] @@ -106135,8 +106109,6 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequested /// /// Union of: WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1")] @@ -108305,8 +108277,6 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequested /// /// Union of: WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1")] @@ -110478,8 +110448,6 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedR /// /// Union of: WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1")] @@ -112648,8 +112616,6 @@ public partial record WebhookPullRequestReviewDismissedPullRequestRequestedRevie /// /// Union of: WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1")] @@ -114842,8 +114808,6 @@ public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewer /// /// Union of: WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1")] @@ -117184,8 +117148,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1")] @@ -119606,8 +119568,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1")] @@ -122068,8 +122028,6 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestReques /// /// Union of: WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1")] @@ -124490,8 +124448,6 @@ public partial record WebhookPullRequestReviewRequestedVariant2PullRequestReques /// /// Union of: WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1")] @@ -126773,8 +126729,6 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedRevie /// /// Union of: WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1")] @@ -128855,8 +128809,6 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested /// /// Union of: WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1")] @@ -131239,8 +131191,6 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequest /// /// Union of: WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1")] @@ -133832,8 +133782,6 @@ public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVari /// /// Union of: WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 | WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant1), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant1")] @@ -136116,8 +136064,6 @@ public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers /// /// Union of: WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 | WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1")] @@ -138407,8 +138353,6 @@ public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersV /// /// Union of: WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1")] @@ -140691,8 +140635,6 @@ public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVa /// /// Union of: WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1")] @@ -142982,8 +142924,6 @@ public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1")] diff --git a/examples/OpenApiCodeGenerator.Examples/output/github-api.cs b/examples/OpenApiCodeGenerator.Examples/output/github-api.cs index 9da0e6f..b37628e 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/github-api.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/github-api.cs @@ -45778,8 +45778,6 @@ public partial record WebhookPullRequestReviewEdited /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant1 | WebhookPullRequestReviewRequestRemovedVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1), "WebhookPullRequestReviewRequestRemovedVariant1")] @@ -45788,8 +45786,6 @@ public abstract partial record WebhookPullRequestReviewRequestRemoved; /// /// Union of: WebhookPullRequestReviewRequestedVariant1 | WebhookPullRequestReviewRequestedVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1), "WebhookPullRequestReviewRequestedVariant1")] @@ -55853,8 +55849,6 @@ public partial record EnvironmentProtectionRulesVariant3 /// /// Union of: EnvironmentProtectionRulesVariant1 | EnvironmentProtectionRulesVariant2 | EnvironmentProtectionRulesVariant3 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(EnvironmentProtectionRulesVariant1), "EnvironmentProtectionRulesVariant1")] @@ -56809,8 +56803,6 @@ public partial record PullRequestMergeAsyncResultDetailsVariant3 /// /// Union of: PullRequestMergeAsyncResultDetailsVariant1 | PullRequestMergeAsyncResultDetailsVariant2 | PullRequestMergeAsyncResultDetailsVariant3 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant1), "PullRequestMergeAsyncResultDetailsVariant1")] @@ -62790,8 +62782,6 @@ public partial record WebhooksPullRequest5RequestedReviewersVariant2Parent /// /// Union of: WebhooksPullRequest5RequestedReviewersVariant1 | WebhooksPullRequest5RequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant1), "WebhooksPullRequest5RequestedReviewersVariant1")] @@ -91096,8 +91086,6 @@ public partial record WebhookProjectsV2ItemEditedChangesVariant2Body /// /// /// Union of: WebhookProjectsV2ItemEditedChangesVariant1 | WebhookProjectsV2ItemEditedChangesVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant1), "WebhookProjectsV2ItemEditedChangesVariant1")] @@ -93280,8 +93268,6 @@ public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1")] @@ -95571,8 +95557,6 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedRev /// /// Union of: WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1")] @@ -97862,8 +97846,6 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedRevi /// /// Union of: WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1")] @@ -100153,8 +100135,6 @@ public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1")] @@ -102504,8 +102484,6 @@ public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1")] @@ -104795,8 +104773,6 @@ public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVari /// /// Union of: WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1")] @@ -107086,8 +107062,6 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria /// /// Union of: WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant1")] @@ -109548,8 +109522,6 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequested /// /// Union of: WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1")] @@ -111718,8 +111690,6 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequested /// /// Union of: WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1")] @@ -113891,8 +113861,6 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedR /// /// Union of: WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1")] @@ -116061,8 +116029,6 @@ public partial record WebhookPullRequestReviewDismissedPullRequestRequestedRevie /// /// Union of: WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1")] @@ -118255,8 +118221,6 @@ public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewer /// /// Union of: WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1")] @@ -120597,8 +120561,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1")] @@ -123019,8 +122981,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR /// /// Union of: WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1")] @@ -125481,8 +125441,6 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestReques /// /// Union of: WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1")] @@ -127903,8 +127861,6 @@ public partial record WebhookPullRequestReviewRequestedVariant2PullRequestReques /// /// Union of: WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1")] @@ -130186,8 +130142,6 @@ public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedRevie /// /// Union of: WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1")] @@ -132268,8 +132222,6 @@ public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequested /// /// Union of: WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1")] @@ -134652,8 +134604,6 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequest /// /// Union of: WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1")] @@ -137245,8 +137195,6 @@ public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVari /// /// Union of: WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 | WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant1), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant1")] @@ -139529,8 +139477,6 @@ public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers /// /// Union of: WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 | WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1")] @@ -141820,8 +141766,6 @@ public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersV /// /// Union of: WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1")] @@ -144104,8 +144048,6 @@ public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVa /// /// Union of: WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1")] @@ -146395,8 +146337,6 @@ public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVar /// /// Union of: WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1")] diff --git a/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs b/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs index 022bf5c..966b8a1 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs @@ -143,20 +143,6 @@ public enum Status Failed } -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum CircleShapeType -{ - [JsonStringEnumMemberName("circle")] - Circle -} - -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum RectangleShapeType -{ - [JsonStringEnumMemberName("rectangle")] - Rectangle -} - /// /// Strongly typed UUID alias. /// @@ -297,22 +283,16 @@ public partial record DeliveryRecord : DeliveryBase } -public partial record Circle +public partial record Circle : Shape { - [JsonPropertyName("shapeType")] - public required CircleShapeType ShapeType { get; init; } - [Range(0d, 1000d)] [JsonPropertyName("radius")] public required double Radius { get; init; } } -public partial record Rectangle +public partial record Rectangle : Shape { - [JsonPropertyName("shapeType")] - public required RectangleShapeType ShapeType { get; init; } - [JsonPropertyName("width")] public required double Width { get; init; } @@ -420,8 +400,6 @@ public partial record NotificationEscalationVariant2 /// /// /// Union of: EmailContact | NotificationEscalationVariant2 -/// -/// /// Inline object variants use the synthesized type name as the discriminator value. /// [JsonDerivedType(typeof(EmailContact), "EmailContact")] From df89fb07d27a74e065c98e2f879d0e5a2dd18d53 Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 17:24:53 +0200 Subject: [PATCH 07/10] fix: prevent discriminator collision, inherit property-level union variants, and sequential variant naming - Guard against inline variant discriminator value overwriting explicit mapping entries in EmitDiscriminatedUnion - Populate _unionVariantBaseTypes for property-level discriminated unions so both and inline variants inherit from the union base type - Filter null-type variants from anyOf before numbering to produce sequential Variant1, Variant2 names without gaps - Add 4 tests covering all three fixes including a round-trip test - Regenerate examples --- src/OpenApiCodeGenerator/CSharpCodeEmitter.cs | 38 ++++- .../CSharpCodeEmitterTests.cs | 154 ++++++++++++++++++ .../CSharpSchemaGeneratorTests.cs | 72 ++++++++ 3 files changed, 260 insertions(+), 4 deletions(-) diff --git a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs index b0cc052..e5c4e1e 100644 --- a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs +++ b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs @@ -545,9 +545,14 @@ private void DiscoverInlineObjects( // Skip when the schema has its own direct properties — in that case the schema is // emitted as a record and the oneOf/anyOf is not consumed, so hoisting would // produce orphan types. - IList? unionVariants = schema.OneOf ?? schema.AnyOf; - if (unionVariants != null && properties.Count == 0) + IList? rawUnionVariants = schema.OneOf ?? schema.AnyOf; + if (rawUnionVariants != null && properties.Count == 0) { + // Filter null-type variants from anyOf to keep variant numbering sequential. + IEnumerable unionVariants = schema.AnyOf is { } anyOf + ? anyOf.Where(s => !(s.Type.HasValue && s.Type.Value == JsonSchemaType.Null)) + : rawUnionVariants; + bool isDiscriminated = schema.Discriminator is { PropertyName: not null }; string? discPropName = schema.Discriminator?.PropertyName; @@ -615,11 +620,19 @@ private void DiscoverInlineObjects( { string inlineTypeName = SynthesizeInlineTypeName(enclosingTypeName, propName, usedNames); + bool isDiscriminated = propSchema.Discriminator is { PropertyName: not null }; + string? discPropName = propSchema.Discriminator?.PropertyName; + // Hoist any inline object variants within the union before hoisting the union itself. // This ensures the inline objects are registered with TypeResolver and emitted as records. - IList? variants = propSchema.OneOf ?? propSchema.AnyOf; - if (variants != null) + // Filter out null-type variants (from nullable anyOf patterns like [type, null]) to + // keep variant numbering sequential, consistent with IsInlineUnion's filtering. + IList? rawVariants = propSchema.OneOf ?? propSchema.AnyOf; + if (rawVariants != null) { + IEnumerable variants = propSchema.AnyOf is { } anyOf + ? anyOf.Where(s => !(s.Type.HasValue && s.Type.Value == JsonSchemaType.Null)) + : rawVariants; int variantIndex = 1; foreach (IOpenApiSchema variant in variants) { @@ -628,6 +641,18 @@ private void DiscoverInlineObjects( string variantTypeName = SynthesizeInlineTypeName(inlineTypeName, $"Variant{variantIndex}", usedNames); HoistInlineObject(variant, variantTypeName, typeNameMap, usedNames); DiscoverInlineObjects(variant, variantTypeName, typeNameMap, usedNames, visited); + + if (isDiscriminated) + { + _unionVariantBaseTypes.TryAdd(variant, (inlineTypeName, discPropName!)); + } + } + else if (isDiscriminated && variant is OpenApiSchemaReference refVariant && refVariant.Reference?.Id != null) + { + if (_allSchemas.TryGetValue(refVariant.Reference.Id, out IOpenApiSchema? refSchema)) + { + _unionVariantBaseTypes.TryAdd(refSchema, (inlineTypeName, discPropName!)); + } } variantIndex++; @@ -1325,6 +1350,11 @@ private void EmitDiscriminatedUnion( } string discriminatorValue = TryGetDiscriminatorValue(variant, discriminator.PropertyName!) ?? hoistedName; + if (mapping.ContainsKey(discriminatorValue)) + { + continue; + } + mapping[discriminatorValue] = hoistedName; } diff --git a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs index 6034de6..d924e48 100644 --- a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs +++ b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs @@ -2617,6 +2617,160 @@ public void Emit_DiscriminatedOneOfWithRefAndInlineObject_EmitsBothDerivedTypes( Assert.Contains("public partial record PetVariant2", result, StringComparison.Ordinal); } + [Fact] + public void Emit_DiscriminatedUnion_InlineVariantCollidingDiscriminatorValue_DoesNotOverwriteMapping() + { + var schemas = new Dictionary + { + ["Cat"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Required = new HashSet { "petType" }, + Properties = new Dictionary + { + ["petType"] = new OpenApiSchema { Type = JsonSchemaType.String, Enum = [JsonValue.Create("cat")] }, + ["meow"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + ["Pet"] = new OpenApiSchema + { + OneOf = + [ + new OpenApiSchemaReference("Cat"), + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Required = new HashSet { "petType" }, + Properties = new Dictionary + { + ["petType"] = new OpenApiSchema { Type = JsonSchemaType.String, Enum = [JsonValue.Create("cat")] }, + ["bark"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + } + ], + Discriminator = new OpenApiDiscriminator + { + PropertyName = "petType", + Mapping = new Dictionary + { + ["cat"] = new OpenApiSchemaReference("Cat") + } + } + } + }; + + string result = Generate(schemas); + + // Explicit mapping entry should be preserved + Assert.Contains("[JsonDerivedType(typeof(Cat), \"cat\")]", result, StringComparison.Ordinal); + // The inline variant's discriminator value "cat" collides with the explicit mapping + // so it should NOT overwrite the mapping entry + Assert.DoesNotContain("[JsonDerivedType(typeof(PetVariant2), \"cat\")]", result, StringComparison.Ordinal); + } + + [Fact] + public void Emit_PropertyLevelDiscriminatedUnion_InlineVariantInheritsFromUnionBase() + { + var schemas = new Dictionary + { + ["Cat"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Required = new HashSet { "petType" }, + Properties = new Dictionary + { + ["petType"] = new OpenApiSchema { Type = JsonSchemaType.String, Enum = [JsonValue.Create("cat")] }, + ["meow"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + ["Owner"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Required = new HashSet { "pet" }, + Properties = new Dictionary + { + ["pet"] = new OpenApiSchema + { + OneOf = new List + { + new OpenApiSchemaReference("Cat"), + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Required = new HashSet { "petType" }, + Properties = new Dictionary + { + ["petType"] = new OpenApiSchema { Type = JsonSchemaType.String, Enum = [JsonValue.Create("dog")] }, + ["bark"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + } + }, + Discriminator = new OpenApiDiscriminator + { + PropertyName = "petType" + } + } + } + } + }; + + string result = Generate(schemas); + + // The property-level union should be an abstract record + Assert.Contains("public abstract partial record OwnerPet;", result, StringComparison.Ordinal); + // The Cat component schema should inherit from the union base type + Assert.Contains("public partial record Cat : OwnerPet", result, StringComparison.Ordinal); + // The inline variant should also inherit from the union base type + Assert.Contains("public partial record OwnerPetVariant2 : OwnerPet", result, StringComparison.Ordinal); + } + + [Fact] + public void Emit_AnyOfWithNullVariantBetweenInlineObjects_SequentialVariantNames() + { + var schemas = new Dictionary + { + ["Container"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Required = new HashSet { "value" }, + Properties = new Dictionary + { + ["value"] = new OpenApiSchema + { + AnyOf = new List + { + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["label"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + new OpenApiSchema { Type = JsonSchemaType.Null }, + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["count"] = new OpenApiSchema { Type = JsonSchemaType.Integer, Format = "int32" } + } + } + } + } + } + } + }; + + string result = Generate(schemas); + + // Null variant should be filtered from numbering, producing sequential names + Assert.Contains("public partial record ContainerValueVariant1", result, StringComparison.Ordinal); + Assert.Contains("public partial record ContainerValueVariant2", result, StringComparison.Ordinal); + // Variant3 should NOT exist (only 2 non-null inline objects) + Assert.DoesNotContain("ContainerValueVariant3", result, StringComparison.Ordinal); + } + #endregion #region Default Value Emission diff --git a/tests/OpenApiCodeGenerator.Tests/CSharpSchemaGeneratorTests.cs b/tests/OpenApiCodeGenerator.Tests/CSharpSchemaGeneratorTests.cs index dc83b74..c50430b 100644 --- a/tests/OpenApiCodeGenerator.Tests/CSharpSchemaGeneratorTests.cs +++ b/tests/OpenApiCodeGenerator.Tests/CSharpSchemaGeneratorTests.cs @@ -1188,6 +1188,78 @@ public async Task Generate_FromText_DiscriminatedOneOfAllInlineObjects_RoundTrip Assert.Equal("{\"animalType\":\"dog\",\"bark\":\"woof\"}", lines[^1]); } + [Fact] + public async Task Generate_FromText_PropertyLevelDiscriminatedUnion_RoundTripsWithSystemTextJsonDefaults() + { + const string spec = """ + { + "openapi": "3.0.3", + "info": { "title": "Property Union Test", "version": "1.0.0" }, + "components": { + "schemas": { + "Cat": { + "type": "object", + "required": ["petType"], + "properties": { + "petType": { "type": "string", "enum": ["cat"] }, + "meow": { "type": "string" } + } + }, + "Owner": { + "type": "object", + "required": ["pet"], + "properties": { + "pet": { + "oneOf": [ + { "$ref": "#/components/schemas/Cat" }, + { + "type": "object", + "required": ["petType"], + "properties": { + "petType": { "type": "string", "enum": ["dog"] }, + "bark": { "type": "string" } + } + } + ], + "discriminator": { + "propertyName": "petType", + "mapping": { + "cat": "#/components/schemas/Cat" + } + } + } + } + } + } + } + } + """; + + var generator = new CSharpSchemaGenerator(new GeneratorOptions + { + GenerateFileHeader = false, + Namespace = "GeneratedModels" + }); + + string generatedCode = generator.GenerateFromText(spec); + string[] lines = await GetSerializationLinesAsync(generatedCode, """ + using System.Text.Json; + using GeneratedModels; + + Owner? catOwner = JsonSerializer.Deserialize("{\"pet\":{\"petType\":\"cat\",\"meow\":\"purr\"}}"); + Owner? dogOwner = JsonSerializer.Deserialize("{\"pet\":{\"petType\":\"dog\",\"bark\":\"woof\"}}"); + Console.WriteLine(catOwner?.Pet?.GetType().Name ?? ""); + Console.WriteLine(JsonSerializer.Serialize(catOwner?.Pet)); + Console.WriteLine(dogOwner?.Pet?.GetType().Name ?? ""); + Console.WriteLine(JsonSerializer.Serialize(dogOwner?.Pet)); + """); + + Assert.Equal("Cat", lines[^4]); + Assert.Equal("{\"petType\":\"cat\",\"meow\":\"purr\"}", lines[^3]); + Assert.Equal("OwnerPetVariant2", lines[^2]); + Assert.Equal("{\"petType\":\"dog\",\"bark\":\"woof\"}", lines[^1]); + } + [Fact] public async Task Generate_FromText_DiscriminatedOneOfWithRefAndInlineObject_CompilesWithWarningsAsErrors() { From 6ddf7741c0ab8e8754f6b581cdf8c8a8adab1486 Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 17:39:42 +0200 Subject: [PATCH 08/10] fix: filter null variants in oneOf and remove redundant condition in EmitSimpleUnion --- src/OpenApiCodeGenerator/CSharpCodeEmitter.cs | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs index e5c4e1e..60f3124 100644 --- a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs +++ b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs @@ -774,8 +774,17 @@ private bool IsInlineUnion(IOpenApiSchema schema) return false; } - // For anyOf, skip the nullable [type, null] pattern - if (schema.AnyOf is { } anyOf) + // Filter out null-type variants (from nullable [type, null] patterns) + if (schema.OneOf is { } oneOf) + { + var nonNull = oneOf.Where(s => + !(s.Type.HasValue && s.Type.Value == JsonSchemaType.Null)).ToList(); + if (nonNull.Count != oneOf.Count) + { + variants = nonNull; + } + } + else if (schema.AnyOf is { } anyOf) { var nonNull = anyOf.Where(s => !(s.Type.HasValue && s.Type.Value == JsonSchemaType.Null)).ToList(); @@ -1431,7 +1440,7 @@ private void EmitSimpleUnion(string typeName, IList variants) bool hasInlineVariant = nonNullVariants.Any(v => v is not OpenApiSchemaReference && _typeResolver.GetInlineObjectTypeName(v) != null); - if (variantNames.Count > 0 || hasInlineVariant) + if (variantNames.Count > 0) { AppendLine($"/// "); if (variantNames.Count > 0) From 60a07eea27e3f3fae14e0e3239fd84a8f69f8035 Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 18:10:31 +0200 Subject: [PATCH 09/10] fix: unify null-variant filtering for oneOf/anyOf hoisting and remove redundant condition - Filter null-type variants in both oneOf and anyOf hoisting paths (DiscoverInlineObjects and TryHoistPropertySchema) so variant numbering stays sequential, consistent with IsInlineUnion. - Remove redundant inner in EmitSimpleUnion that was always true due to the outer guard. - Add oneOf equivalent of the anyOf null-variant sequential naming test. --- src/OpenApiCodeGenerator/CSharpCodeEmitter.cs | 19 +++----- .../CSharpCodeEmitterTests.cs | 47 +++++++++++++++++++ 2 files changed, 54 insertions(+), 12 deletions(-) diff --git a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs index 60f3124..9ee93df 100644 --- a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs +++ b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs @@ -548,10 +548,9 @@ private void DiscoverInlineObjects( IList? rawUnionVariants = schema.OneOf ?? schema.AnyOf; if (rawUnionVariants != null && properties.Count == 0) { - // Filter null-type variants from anyOf to keep variant numbering sequential. - IEnumerable unionVariants = schema.AnyOf is { } anyOf - ? anyOf.Where(s => !(s.Type.HasValue && s.Type.Value == JsonSchemaType.Null)) - : rawUnionVariants; + // Filter null-type variants to keep variant numbering sequential. + IEnumerable unionVariants = + rawUnionVariants.Where(s => !(s.Type.HasValue && s.Type.Value == JsonSchemaType.Null)); bool isDiscriminated = schema.Discriminator is { PropertyName: not null }; string? discPropName = schema.Discriminator?.PropertyName; @@ -625,14 +624,13 @@ private void DiscoverInlineObjects( // Hoist any inline object variants within the union before hoisting the union itself. // This ensures the inline objects are registered with TypeResolver and emitted as records. - // Filter out null-type variants (from nullable anyOf patterns like [type, null]) to + // Filter out null-type variants (from nullable [type, null] patterns) to // keep variant numbering sequential, consistent with IsInlineUnion's filtering. IList? rawVariants = propSchema.OneOf ?? propSchema.AnyOf; if (rawVariants != null) { - IEnumerable variants = propSchema.AnyOf is { } anyOf - ? anyOf.Where(s => !(s.Type.HasValue && s.Type.Value == JsonSchemaType.Null)) - : rawVariants; + IEnumerable variants = + rawVariants.Where(s => !(s.Type.HasValue && s.Type.Value == JsonSchemaType.Null)); int variantIndex = 1; foreach (IOpenApiSchema variant in variants) { @@ -1443,10 +1441,7 @@ private void EmitSimpleUnion(string typeName, IList variants) if (variantNames.Count > 0) { AppendLine($"/// "); - if (variantNames.Count > 0) - { - AppendLine($"/// Union of: {string.Join(" | ", variantNames)}"); - } + AppendLine($"/// Union of: {string.Join(" | ", variantNames)}"); if (hasInlineVariant) { AppendLine("/// Inline object variants use the synthesized type name as the discriminator value."); diff --git a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs index d924e48..8418105 100644 --- a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs +++ b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs @@ -2771,6 +2771,53 @@ public void Emit_AnyOfWithNullVariantBetweenInlineObjects_SequentialVariantNames Assert.DoesNotContain("ContainerValueVariant3", result, StringComparison.Ordinal); } + [Fact] + public void Emit_OneOfWithNullVariantBetweenInlineObjects_SequentialVariantNames() + { + var schemas = new Dictionary + { + ["Container"] = new OpenApiSchema + { + Type = JsonSchemaType.Object, + Required = new HashSet { "value" }, + Properties = new Dictionary + { + ["value"] = new OpenApiSchema + { + OneOf = new List + { + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["label"] = new OpenApiSchema { Type = JsonSchemaType.String } + } + }, + new OpenApiSchema { Type = JsonSchemaType.Null }, + new OpenApiSchema + { + Type = JsonSchemaType.Object, + Properties = new Dictionary + { + ["count"] = new OpenApiSchema { Type = JsonSchemaType.Integer, Format = "int32" } + } + } + } + } + } + } + }; + + string result = Generate(schemas); + + // Null variant should be filtered from numbering, producing sequential names + Assert.Contains("public partial record ContainerValueVariant1", result, StringComparison.Ordinal); + Assert.Contains("public partial record ContainerValueVariant2", result, StringComparison.Ordinal); + // Variant3 should NOT exist (only 2 non-null inline objects) + Assert.DoesNotContain("ContainerValueVariant3", result, StringComparison.Ordinal); + } + #endregion #region Default Value Emission From 016969799e4c192129ae90868c100048e7a9cb16 Mon Sep 17 00:00:00 2001 From: Nikolaj Brask-Nielsen Date: Thu, 27 Aug 2026 20:06:27 +0200 Subject: [PATCH 10/10] fix: limit inline variant hoisting to discriminated unions and skip multi-union ref variants Non-discriminated unions with inline object variants now resolve to object instead of hoisting abstract records that System.Text.Json cannot deserialize without a discriminator. This restores the pre-branch behavior for these properties and eliminates ~10% code bloat in the github-api output. Discriminated unions with a $ref variant assigned to a different union base are now skipped in EmitDiscriminatedUnion, preventing invalid [JsonDerivedType] attributes that would cause runtime polymorphic configuration errors (C# single inheritance). --- .../output/github-api-next.cs | 16448 ++-------------- .../output/github-api.cs | 16448 ++-------------- .../output/showcase-openapi.cs | 27 +- src/OpenApiCodeGenerator/CSharpCodeEmitter.cs | 68 +- .../CSharpCodeEmitterTests.cs | 93 +- 5 files changed, 2443 insertions(+), 30641 deletions(-) diff --git a/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs b/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs index 25be30a..c8688d6 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/github-api-next.cs @@ -3484,20 +3484,6 @@ public enum TeamMemberRole Maintainer } -/// -/// The role granted to the collaborator -/// -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum CopilotSpaceCollaboratorVariant2Role -{ - [JsonStringEnumMemberName("reader")] - Reader, - [JsonStringEnumMemberName("writer")] - Writer, - [JsonStringEnumMemberName("admin")] - Admin -} - /// /// Determines if the team has a direct, indirect, or mixed relationship to a role /// @@ -3600,19 +3586,6 @@ public enum RepositoryRuleMergeQueueParametersMergeMethod Rebase } -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum PullRequestMergeAsyncResultDetailsVariant1MergeMethod -{ - [JsonStringEnumMemberName("default")] - Default, - [JsonStringEnumMemberName("merge")] - Merge, - [JsonStringEnumMemberName("squash")] - Squash, - [JsonStringEnumMemberName("rebase")] - Rebase -} - /// /// The type of content tracked in a project item /// @@ -3711,8 +3684,8 @@ public enum ValuesEditableBy /// /// The type of actor that can bypass a ruleset. /// -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum RepositoryRulesetBypassActorActorType +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum ActorType { [JsonStringEnumMemberName("Integration")] Integration, @@ -3728,16 +3701,6 @@ public enum RepositoryRulesetBypassActorActorType User } -/// -/// The collaborator actor type. -/// -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum CopilotSpaceCollaboratorVariant2ActorType -{ - [JsonStringEnumMemberName("Team")] - Team -} - /// /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. /// @@ -5551,20 +5514,6 @@ public enum WebhookGollumPagesAction Edited } -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum WebhookPullRequestReviewRequestRemovedVariant1Action -{ - [JsonStringEnumMemberName("review_request_removed")] - ReviewRequestRemoved -} - -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum WebhookPullRequestReviewRequestedVariant1Action -{ - [JsonStringEnumMemberName("review_requested")] - ReviewRequested -} - /// /// The side of the first line of the range for a multi-line comment. /// @@ -6002,17 +5951,6 @@ public enum Operator Regex } -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum MergeAction -{ - [JsonStringEnumMemberName("default")] - Default, - [JsonStringEnumMemberName("merge_queue")] - MergeQueue, - [JsonStringEnumMemberName("direct_merge")] - DirectMerge -} - [JsonConverter(typeof(JsonStringEnumConverter))] public enum ContentReferences { @@ -17320,7 +17258,7 @@ public partial record RepositoryRulesetBypassActor /// The type of actor that can bypass a ruleset. /// [JsonPropertyName("actor_type")] - public required RepositoryRulesetBypassActorActorType ActorType { get; init; } + public required ActorType ActorType { get; init; } /// /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. @@ -24309,7 +24247,7 @@ public partial record Environment /// Built-in deployment protection rules for the environment. /// [JsonPropertyName("protection_rules")] - public IReadOnlyList? ProtectionRules { get; init; } + public IReadOnlyList? ProtectionRules { get; init; } /// /// The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. @@ -27538,7 +27476,7 @@ public partial record PullRequestMergeAsyncResult public required PullRequestMergeAsyncResultStatus Status { get; init; } [JsonPropertyName("details")] - public required PullRequestMergeAsyncResultDetails Details { get; init; } + public required object Details { get; init; } } @@ -32733,7 +32671,7 @@ public partial record WebhooksPullRequest5 public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -41708,7 +41646,7 @@ public partial record WebhookProjectsV2ItemEdited /// It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. /// [JsonPropertyName("changes")] - public WebhookProjectsV2ItemEditedChanges? Changes { get; init; } + public object? Changes { get; init; } /// /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured @@ -43046,20 +42984,8 @@ public partial record WebhookPullRequestReviewEdited } -/// -/// Union of: WebhookPullRequestReviewRequestRemovedVariant1 | WebhookPullRequestReviewRequestRemovedVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1), "WebhookPullRequestReviewRequestRemovedVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2), "WebhookPullRequestReviewRequestRemovedVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemoved; -/// -/// Union of: WebhookPullRequestReviewRequestedVariant1 | WebhookPullRequestReviewRequestedVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1), "WebhookPullRequestReviewRequestedVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2), "WebhookPullRequestReviewRequestedVariant2")] public abstract partial record WebhookPullRequestReviewRequested; public partial record WebhookPullRequestReviewSubmitted @@ -49637,64 +49563,6 @@ public partial record CopilotSpaceResourcesAttributesMetadata } -public partial record CopilotSpaceCollaboratorVariant2 -{ - /// - /// The collaborator actor type. - /// - [JsonPropertyName("actor_type")] - public required CopilotSpaceCollaboratorVariant2ActorType ActorType { get; init; } - - /// - /// The role granted to the collaborator - /// - [JsonPropertyName("role")] - public required CopilotSpaceCollaboratorVariant2Role Role { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - [JsonPropertyName("type")] - public required RepositoryRuleParamsReviewerType Type { get; init; } - - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("privacy")] - public string? Privacy { get; init; } - - [JsonPropertyName("notification_setting")] - public string? NotificationSetting { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("organization_id")] - public int? OrganizationId { get; init; } - - [JsonPropertyName("parent")] - public object? Parent { get; init; } - -} - /// /// The team through which the assignee is granted access to GitHub Copilot, if applicable. /// @@ -52842,92 +52710,6 @@ public partial record SnapshotDetector } -public partial record EnvironmentProtectionRulesVariant1 -{ - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("type")] - public required string Type { get; init; } - - /// - /// The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). - /// - [JsonPropertyName("wait_timer")] - public WaitTimer? WaitTimer { get; init; } - -} - -public partial record EnvironmentProtectionRulesVariant2 -{ - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Whether deployments to this environment can be approved by the user who created the deployment. - /// - [JsonPropertyName("prevent_self_review")] - public bool? PreventSelfReview { get; init; } - - [JsonPropertyName("type")] - public required string Type { get; init; } - - /// - /// The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. - /// - [JsonPropertyName("reviewers")] - public IReadOnlyList? Reviewers { get; init; } - -} - -public partial record EnvironmentProtectionRulesVariant2Reviewers -{ - /// - /// The type of reviewer. - /// - [JsonPropertyName("type")] - public PendingDeploymentReviewersType? Type { get; init; } - - [JsonPropertyName("reviewer")] - public EnvironmentProtectionRulesVariant2ReviewersReviewer? Reviewer { get; init; } - -} - -/// -/// Union of: SimpleUser | Team -/// -[JsonDerivedType(typeof(SimpleUser), "simple-user")] -[JsonDerivedType(typeof(Team), "team")] -public abstract partial record EnvironmentProtectionRulesVariant2ReviewersReviewer; - -public partial record EnvironmentProtectionRulesVariant3 -{ - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("type")] - public required string Type { get; init; } - -} - -/// -/// Union of: EnvironmentProtectionRulesVariant1 | EnvironmentProtectionRulesVariant2 | EnvironmentProtectionRulesVariant3 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant1), "EnvironmentProtectionRulesVariant1")] -[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant2), "EnvironmentProtectionRulesVariant2")] -[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant3), "EnvironmentProtectionRulesVariant3")] -public abstract partial record EnvironmentProtectionRules; - /// /// Identifying information for the git-user /// @@ -53775,63 +53557,6 @@ public partial record PullRequestLinks } -/// -/// When an asynchronous merge request was created or already existed -/// -public partial record PullRequestMergeAsyncResultDetailsVariant1 -{ - [JsonPropertyName("message")] - public required string Message { get; init; } - - [JsonPropertyName("uuid")] - public required string Uuid { get; init; } - - [JsonPropertyName("merge_method")] - public required PullRequestMergeAsyncResultDetailsVariant1MergeMethod MergeMethod { get; init; } - - [JsonPropertyName("merge_action")] - public required MergeAction MergeAction { get; init; } - - /// - /// SHA that the pull request head must match for the enqueued merge to proceed. - /// - [JsonPropertyName("expected_head_sha")] - public required string ExpectedHeadSha { get; init; } - -} - -/// -/// When the pull request cannot be merged -/// -public partial record PullRequestMergeAsyncResultDetailsVariant2 -{ - [JsonPropertyName("message")] - public required string Message { get; init; } - -} - -/// -/// When the pull request is already merged -/// -public partial record PullRequestMergeAsyncResultDetailsVariant3 -{ - [JsonPropertyName("message")] - public required string Message { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - -} - -/// -/// Union of: PullRequestMergeAsyncResultDetailsVariant1 | PullRequestMergeAsyncResultDetailsVariant2 | PullRequestMergeAsyncResultDetailsVariant3 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant1), "PullRequestMergeAsyncResultDetailsVariant1")] -[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant2), "PullRequestMergeAsyncResultDetailsVariant2")] -[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant3), "PullRequestMergeAsyncResultDetailsVariant3")] -public abstract partial record PullRequestMergeAsyncResultDetails; - public partial record PullRequestReviewLinks { [JsonPropertyName("html")] @@ -59232,198 +58957,10 @@ public partial record WebhooksPullRequest5MilestoneCreator } -public partial record WebhooksPullRequest5RequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhooksPullRequest5RequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhooksPullRequest5RequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhooksPullRequest5RequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhooksPullRequest5RequestedReviewersVariant1 | WebhooksPullRequest5RequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant1), "WebhooksPullRequest5RequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant2), "WebhooksPullRequest5RequestedReviewersVariant2")] -public abstract partial record WebhooksPullRequest5RequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhooksPullRequest5RequestedTeams +public partial record WebhooksPullRequest5RequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -87621,64 +87158,6 @@ public partial record WebhookProjectsV2ItemConvertedChangesContentType } -public partial record WebhookProjectsV2ItemEditedChangesVariant1 -{ - [JsonPropertyName("field_value")] - public required WebhookProjectsV2ItemEditedChangesVariant1FieldValue FieldValue { get; init; } - -} - -public partial record WebhookProjectsV2ItemEditedChangesVariant1FieldValue -{ - [JsonPropertyName("field_node_id")] - public string? FieldNodeId { get; init; } - - [JsonPropertyName("field_type")] - public string? FieldType { get; init; } - - [JsonPropertyName("field_name")] - public string? FieldName { get; init; } - - [JsonPropertyName("project_number")] - public int? ProjectNumber { get; init; } - - [JsonPropertyName("from")] - public object? From { get; init; } - - [JsonPropertyName("to")] - public object? To { get; init; } - -} - -public partial record WebhookProjectsV2ItemEditedChangesVariant2 -{ - [JsonPropertyName("body")] - public required WebhookProjectsV2ItemEditedChangesVariant2Body Body { get; init; } - -} - -public partial record WebhookProjectsV2ItemEditedChangesVariant2Body -{ - [JsonPropertyName("from")] - public string? From { get; init; } - - [JsonPropertyName("to")] - public string? To { get; init; } - -} - -/// -/// The changes made to the item may involve modifications in the item's fields and draft issue body. -/// It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. -/// -/// -/// Union of: WebhookProjectsV2ItemEditedChangesVariant1 | WebhookProjectsV2ItemEditedChangesVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant1), "WebhookProjectsV2ItemEditedChangesVariant1")] -[JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant2), "WebhookProjectsV2ItemEditedChangesVariant2")] -public abstract partial record WebhookProjectsV2ItemEditedChanges; - public partial record WebhookProjectsV2ItemReorderedChanges { [JsonPropertyName("previous_projects_v2_item_node_id")] @@ -87884,7 +87363,7 @@ public partial record WebhookPullRequestAssignedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -89670,311 +89149,120 @@ public partial record WebhookPullRequestAssignedPullRequestMilestoneCreator } -public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestAssignedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAssignedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAssignedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestUser +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAssignedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAssignedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -90176,7 +89464,7 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -91959,197 +91247,6 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequestMilestoneCre } -public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -92465,7 +91562,7 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -94248,259 +93345,68 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequestMilestoneCrea } -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeams { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent? Parent { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public string? Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent { /// /// Description of the team @@ -94754,7 +93660,7 @@ public partial record WebhookPullRequestDequeuedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -96537,311 +95443,120 @@ public partial record WebhookPullRequestDequeuedPullRequestMilestoneCreator } -public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestDequeuedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestDequeuedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestDequeuedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestUser +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestDequeuedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestDequeuedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -97103,7 +95818,7 @@ public partial record WebhookPullRequestEnqueuedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -98886,197 +97601,6 @@ public partial record WebhookPullRequestEnqueuedPullRequestMilestoneCreator } -public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -99392,7 +97916,7 @@ public partial record WebhookPullRequestLabeledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -101175,259 +99699,68 @@ public partial record WebhookPullRequestLabeledPullRequestMilestoneCreator } -public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestLabeledPullRequestRequestedTeams { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestLabeledPullRequestRequestedTeamsParent? Parent { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public string? Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestLabeledPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestLabeledPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestLabeledPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestLabeledPullRequestRequestedTeamsParent +public partial record WebhookPullRequestLabeledPullRequestRequestedTeamsParent { /// /// Description of the team @@ -101681,7 +100014,7 @@ public partial record WebhookPullRequestLockedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -103464,80 +101797,10 @@ public partial record WebhookPullRequestLockedPullRequestMilestoneCreator } -public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 +public partial record WebhookPullRequestLockedPullRequestRequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -103546,10 +101809,10 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria /// Description of the team /// [JsonPropertyName("description")] - public required string? Description { get; init; } + public string? Description { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -103558,7 +101821,7 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria public required int Id { get; init; } [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + public string? MembersUrl { get; init; } /// /// Name of the team @@ -103567,156 +101830,35 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria public required string Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestLockedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + public WebhookPullRequestLockedPullRequestRequestedTeamsParent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public required string Permission { get; init; } + public string? Permission { get; init; } [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + public WebhooksTeamPrivacy? Privacy { get; init; } [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + public Uri? RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public required string Slug { get; init; } + public string? Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } } -public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestLockedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestLockedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestLockedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestLockedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestLockedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -104220,7 +102362,7 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -105924,197 +104066,6 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequestMilestone } -public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -106388,7 +104339,7 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -108092,197 +106043,6 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequestMilestone } -public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -108556,7 +106316,7 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -110263,311 +108023,120 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequestMilestoneC } -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestUser +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -110727,7 +108296,7 @@ public partial record WebhookPullRequestReviewDismissedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -112431,197 +110000,6 @@ public partial record WebhookPullRequestReviewDismissedPullRequestMilestoneCreat } -public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -113061,7 +110439,7 @@ public partial record WebhookPullRequestReviewEditedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -114623,259 +112001,68 @@ public partial record WebhookPullRequestReviewEditedPullRequestMilestoneCreator } -public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeams { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent? Parent { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public string? Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -114997,77 +112184,19 @@ public partial record WebhookPullRequestReviewEditedPullRequestUser } -public partial record WebhookPullRequestReviewRequestRemovedVariant1 -{ - [JsonPropertyName("action")] - public required WebhookPullRequestReviewRequestRemovedVariant1Action Action { get; init; } - - /// - /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - /// on an enterprise account or an organization that's part of an enterprise account. For more information, - /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - /// - [JsonPropertyName("enterprise")] - public EnterpriseWebhooks? Enterprise { get; init; } - - /// - /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - /// for and sent to a GitHub App. For more information, - /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - /// - [JsonPropertyName("installation")] - public SimpleInstallation? Installation { get; init; } - - /// - /// The pull request number. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - /// - /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - /// organization, or when the event occurs from activity in a repository owned by an organization. - /// - [JsonPropertyName("organization")] - public OrganizationSimpleWebhooks? Organization { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequest PullRequest { get; init; } - - /// - /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - /// when the event occurs from activity in a repository. - /// - [JsonPropertyName("repository")] - public required RepositoryWebhooks Repository { get; init; } - - [JsonPropertyName("requested_reviewer")] - public required WebhookPullRequestReviewRequestRemovedVariant1RequestedReviewer? RequestedReviewer { get; init; } - - /// - /// A GitHub user. - /// - [JsonPropertyName("sender")] - public required SimpleUser Sender { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest +public partial record WebhookPullRequestReviewSubmittedPullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } - [JsonPropertyName("additions")] - public int? Additions { get; init; } - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -115079,49 +112208,34 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBase Base { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } - [JsonPropertyName("changed_files")] - public int? ChangedFiles { get; init; } - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("comments")] - public int? Comments { get; init; } + public required string? ClosedAt { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } - [JsonPropertyName("commits")] - public int? Commits { get; init; } - [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("deletions")] - public int? Deletions { get; init; } + public required string CreatedAt { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } - /// - /// Indicates whether or not the pull request is a draft. - /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHead Head { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -115133,68 +112247,41 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } - /// - /// Indicates whether maintainers can modify the pull request. - /// - [JsonPropertyName("maintainer_can_modify")] - public bool? MaintainerCanModify { get; init; } - [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } - [JsonPropertyName("mergeable")] - public bool? Mergeable { get; init; } - - [JsonPropertyName("mergeable_state")] - public string? MergeableState { get; init; } - - [JsonPropertyName("merged")] - public bool? Merged { get; init; } - [JsonPropertyName("merged_at")] - public required DateTimeOffset? MergedAt { get; init; } - - [JsonPropertyName("merged_by")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestMergedBy? MergedBy { get; init; } + public required string? MergedAt { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - /// - /// Number uniquely identifying the pull request within its repository. - /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } - [JsonPropertyName("rebaseable")] - public bool? Rebaseable { get; init; } - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } - [JsonPropertyName("review_comments")] - public int? ReviewComments { get; init; } - [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -115204,117 +112291,111 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } - /// - /// State of this Pull Request. Either `open` or `closed`. - /// [JsonPropertyName("state")] public required MilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } - /// - /// The title of the pull request. - /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } + public required string UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestUser? User { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinks +public partial record WebhookPullRequestReviewSubmittedPullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksComments +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksCommits +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksHtml +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksIssue +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComment +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComments +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksSelf +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksStatuses +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignee +public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115374,7 +112455,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -115384,7 +112465,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignees +public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115444,20 +112525,17 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMerge +public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -115472,7 +112550,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -115482,7 +112560,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -115552,7 +112630,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBase +public partial record WebhookPullRequestReviewSubmittedPullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -115564,20 +112642,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepo +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -115796,7 +112874,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoLicense? License { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } @@ -115851,10 +112929,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -115881,13 +112959,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB public required int Size { get; init; } /// - /// The default value for a squash merge commit message. + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. /// [JsonPropertyName("squash_merge_commit_message")] public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } /// - /// The default value for a squash merge commit title. + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). /// [JsonPropertyName("squash_merge_commit_title")] public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } @@ -115957,7 +113042,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoLicense +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -115976,7 +113061,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoOwner +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116046,7 +113131,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoPermissions +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -116065,7 +113150,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseUser +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116135,10 +113220,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHead +public partial record WebhookPullRequestReviewSubmittedPullRequestHead { [JsonPropertyName("label")] - public required string Label { get; init; } + public required string? Label { get; init; } [JsonPropertyName("ref")] public required string Ref { get; init; } @@ -116147,20 +113232,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepo Repo { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepo? Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadUser? User { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHeadUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepo +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo { /// /// Whether to allow auto-merge for pull requests. @@ -116379,7 +113464,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoLicense? License { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } @@ -116434,10 +113519,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -116547,7 +113632,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoLicense +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -116566,7 +113651,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoOwner +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116636,7 +113721,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoPermissions +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -116655,7 +113740,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadUser +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -116725,7 +113810,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLabels +public partial record WebhookPullRequestReviewSubmittedPullRequestLabels { /// /// 6-character hex code, without the leading #, identifying the color @@ -116759,80 +113844,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestL } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - /// /// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestone +public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone { [JsonPropertyName("closed_at")] public required DateTimeOffset? ClosedAt { get; init; } @@ -116844,7 +113859,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestM public required DateTimeOffset CreatedAt { get; init; } [JsonPropertyName("creator")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestoneCreator? Creator { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator? Creator { get; init; } [JsonPropertyName("description")] public required string? Description { get; init; } @@ -116893,77 +113908,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestM } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 +public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117023,7 +113968,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -117036,128 +113981,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeams +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -117166,10 +113990,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR /// Description of the team /// [JsonPropertyName("description")] - public required string? Description { get; init; } + public string? Description { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -117178,7 +114002,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR public required int Id { get; init; } [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + public string? MembersUrl { get; init; } /// /// Name of the team @@ -117187,35 +114011,35 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR public required string Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public required string Permission { get; init; } + public string? Permission { get; init; } [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + public WebhooksTeamPrivacy? Privacy { get; init; } [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + public Uri? RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public required string Slug { get; init; } + public string? Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -117267,7 +114091,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestUser +public partial record WebhookPullRequestReviewSubmittedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117327,77 +114151,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestU public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant1RequestedReviewer -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -117407,80 +114161,19 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1RequestedRev } -public partial record WebhookPullRequestReviewRequestRemovedVariant2 -{ - [JsonPropertyName("action")] - public required WebhookPullRequestReviewRequestRemovedVariant1Action Action { get; init; } - - /// - /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - /// on an enterprise account or an organization that's part of an enterprise account. For more information, - /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - /// - [JsonPropertyName("enterprise")] - public EnterpriseWebhooks? Enterprise { get; init; } - - /// - /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - /// for and sent to a GitHub App. For more information, - /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - /// - [JsonPropertyName("installation")] - public SimpleInstallation? Installation { get; init; } - - /// - /// The pull request number. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - /// - /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - /// organization, or when the event occurs from activity in a repository owned by an organization. - /// - [JsonPropertyName("organization")] - public OrganizationSimpleWebhooks? Organization { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequest PullRequest { get; init; } - - /// - /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - /// when the event occurs from activity in a repository. - /// - [JsonPropertyName("repository")] - public required RepositoryWebhooks Repository { get; init; } - - /// - /// Groups of organization members that gives permissions on specified repositories. - /// - [JsonPropertyName("requested_team")] - public required WebhookPullRequestReviewRequestRemovedVariant2RequestedTeam RequestedTeam { get; init; } - - /// - /// A GitHub user. - /// - [JsonPropertyName("sender")] - public required SimpleUser Sender { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest +public partial record WebhookPullRequestReviewThreadResolvedPullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } - [JsonPropertyName("additions")] - public int? Additions { get; init; } - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -117492,49 +114185,34 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBase Base { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } - [JsonPropertyName("changed_files")] - public int? ChangedFiles { get; init; } - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("comments")] - public int? Comments { get; init; } + public required string? ClosedAt { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } - [JsonPropertyName("commits")] - public int? Commits { get; init; } - [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("deletions")] - public int? Deletions { get; init; } + public required string CreatedAt { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } - /// - /// Indicates whether or not the pull request is a draft. - /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHead Head { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -117546,68 +114224,41 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } - /// - /// Indicates whether maintainers can modify the pull request. - /// - [JsonPropertyName("maintainer_can_modify")] - public bool? MaintainerCanModify { get; init; } - [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } - [JsonPropertyName("mergeable")] - public bool? Mergeable { get; init; } - - [JsonPropertyName("mergeable_state")] - public string? MergeableState { get; init; } - - [JsonPropertyName("merged")] - public bool? Merged { get; init; } - [JsonPropertyName("merged_at")] - public required DateTimeOffset? MergedAt { get; init; } - - [JsonPropertyName("merged_by")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestMergedBy? MergedBy { get; init; } + public required string? MergedAt { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - /// - /// Number uniquely identifying the pull request within its repository. - /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } - [JsonPropertyName("rebaseable")] - public bool? Rebaseable { get; init; } - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } - [JsonPropertyName("review_comments")] - public int? ReviewComments { get; init; } - [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -117617,117 +114268,111 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } - /// - /// State of this Pull Request. Either `open` or `closed`. - /// [JsonPropertyName("state")] public required MilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } - /// - /// The title of the pull request. - /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } + public required string UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestUser? User { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinks +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksComments +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksCommits +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksHtml +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksIssue +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComment +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComments +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksSelf +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksStatuses +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignee +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117797,7 +114442,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignees +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117862,15 +114507,12 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMerge +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -117885,7 +114527,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -117895,7 +114537,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -117965,7 +114607,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBase +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -117977,20 +114619,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepo +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -118209,30 +114851,11 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoLicense? License { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - [JsonPropertyName("merges_url")] public required Uri MergesUrl { get; init; } @@ -118264,10 +114887,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -118293,25 +114916,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB [JsonPropertyName("size")] public required int Size { get; init; } - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - [JsonPropertyName("ssh_url")] public required string SshUrl { get; init; } @@ -118354,12 +114958,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB [JsonPropertyName("url")] public required Uri Url { get; init; } - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - [JsonPropertyName("visibility")] public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } @@ -118377,7 +114975,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoLicense +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -118396,7 +114994,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoOwner +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -118466,7 +115064,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoPermissions +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -118485,7 +115083,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseUser +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -118555,10 +115153,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHead +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead { [JsonPropertyName("label")] - public required string Label { get; init; } + public required string? Label { get; init; } [JsonPropertyName("ref")] public required string Ref { get; init; } @@ -118567,20 +115165,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepo Repo { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo? Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadUser? User { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepo +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo { /// /// Whether to allow auto-merge for pull requests. @@ -118799,30 +115397,11 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoLicense? License { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - [JsonPropertyName("merges_url")] public required Uri MergesUrl { get; init; } @@ -118854,10 +115433,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -118883,25 +115462,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH [JsonPropertyName("size")] public required int Size { get; init; } - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - [JsonPropertyName("ssh_url")] public required string SshUrl { get; init; } @@ -118944,12 +115504,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH [JsonPropertyName("url")] public required Uri Url { get; init; } - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - [JsonPropertyName("visibility")] public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } @@ -118967,7 +115521,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoLicense +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -118986,7 +115540,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoOwner +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119056,7 +115610,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoPermissions +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -119075,7 +115629,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadUser +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119145,7 +115699,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLabels +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels { /// /// 6-character hex code, without the leading #, identifying the color @@ -119179,80 +115733,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestL } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - /// /// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestone +public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone { [JsonPropertyName("closed_at")] public required DateTimeOffset? ClosedAt { get; init; } @@ -119264,7 +115748,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestM public required DateTimeOffset CreatedAt { get; init; } [JsonPropertyName("creator")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestoneCreator? Creator { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator? Creator { get; init; } [JsonPropertyName("description")] public required string? Description { get; init; } @@ -119313,77 +115797,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestM } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 +public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119456,128 +115870,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeams +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -119586,10 +115879,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR /// Description of the team /// [JsonPropertyName("description")] - public required string? Description { get; init; } + public string? Description { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -119598,7 +115891,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR public required int Id { get; init; } [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + public string? MembersUrl { get; init; } /// /// Name of the team @@ -119607,35 +115900,35 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR public required string Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public required string Permission { get; init; } + public string? Permission { get; init; } [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + public WebhooksTeamPrivacy? Privacy { get; init; } [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + public Uri? RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public required string Slug { get; init; } + public string? Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -119687,7 +115980,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestUser +public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119747,7 +116040,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestU public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -119757,190 +116050,321 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestU } +public partial record WebhookPullRequestReviewThreadResolvedThread +{ + [JsonPropertyName("comments")] + public required IReadOnlyList Comments { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + +} + /// -/// Groups of organization members that gives permissions on specified repositories. +/// The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2RequestedTeam +public partial record WebhookPullRequestReviewThreadResolvedThreadComments { - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinks Links { get; init; } /// - /// Description of the team + /// How the author is associated with the repository. /// - [JsonPropertyName("description")] - public required string? Description { get; init; } + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + /// + /// The text of the comment. + /// + [JsonPropertyName("body")] + public required string Body { get; init; } + + /// + /// The SHA of the commit to which the comment applies. + /// + [JsonPropertyName("commit_id")] + public required string CommitId { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + /// + /// The diff of the line that the comment refers to. + /// + [JsonPropertyName("diff_hunk")] + public required string DiffHunk { get; init; } + + /// + /// HTML URL for the pull request review comment. + /// [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } /// - /// Unique identifier of the team + /// The ID of the pull request review comment. /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + /// + /// The comment ID to reply to. + /// + [JsonPropertyName("in_reply_to_id")] + public int? InReplyToId { get; init; } /// - /// Name of the team + /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment /// - [JsonPropertyName("name")] - public required string Name { get; init; } + [JsonPropertyName("line")] + public required int? Line { get; init; } + /// + /// The node ID of the pull request review comment. + /// [JsonPropertyName("node_id")] public required string NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant2RequestedTeamParent? Parent { get; init; } + /// + /// The SHA of the original commit to which the comment applies. + /// + [JsonPropertyName("original_commit_id")] + public required string OriginalCommitId { get; init; } /// - /// Permission that the team will have for its repositories + /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } + [JsonPropertyName("original_line")] + public required int? OriginalLine { get; init; } - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + /// + /// The index of the original line in the diff to which the comment applies. + /// + [JsonPropertyName("original_position")] + public required int OriginalPosition { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + /// + /// The first line of the range for a multi-line comment. + /// + [JsonPropertyName("original_start_line")] + public required int? OriginalStartLine { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + /// + /// The relative path of the file to which the comment applies. + /// + [JsonPropertyName("path")] + public required string Path { get; init; } /// - /// URL for the team + /// The line index in the diff to which the comment applies. /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } + [JsonPropertyName("position")] + public required int? Position { get; init; } -} + /// + /// The ID of the pull request review to which the comment belongs. + /// + [JsonPropertyName("pull_request_review_id")] + public required int? PullRequestReviewId { get; init; } -public partial record WebhookPullRequestReviewRequestRemovedVariant2RequestedTeamParent -{ /// - /// Description of the team + /// URL for the pull request that the review comment belongs to. /// - [JsonPropertyName("description")] - public required string? Description { get; init; } + [JsonPropertyName("pull_request_url")] + public required Uri PullRequestUrl { get; init; } - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + [JsonPropertyName("reactions")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsReactions Reactions { get; init; } /// - /// Unique identifier of the team + /// The side of the first line of the range for a multi-line comment. /// - [JsonPropertyName("id")] - public required int Id { get; init; } + [JsonPropertyName("side")] + public required Side Side { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + /// + /// The first line of the range for a multi-line comment. + /// + [JsonPropertyName("start_line")] + public required int? StartLine { get; init; } /// - /// Name of the team + /// The side of the first line of the range for a multi-line comment. /// - [JsonPropertyName("name")] - public required string Name { get; init; } + [JsonPropertyName("start_side")] + public required StartSide StartSide { get; init; } = Generated.GithubApiNext.StartSide.Right; - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + /// + /// The level at which the comment is targeted, can be a diff line or a file. + /// + [JsonPropertyName("subject_type")] + public SubjectType? SubjectType { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } /// - /// Permission that the team will have for its repositories + /// URL for the pull request review comment /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } + [JsonPropertyName("url")] + public required Uri Url { get; init; } - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsUser? User { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } +} - [JsonPropertyName("slug")] - public required string Slug { get; init; } +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinks +{ + [JsonPropertyName("html")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml Html { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest PullRequest { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf Self { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsReactions +{ + [JsonPropertyName("+1")] + public required int Plus1 { get; init; } + + [JsonPropertyName("-1")] + public required int Minus1 { get; init; } + + [JsonPropertyName("confused")] + public required int Confused { get; init; } + + [JsonPropertyName("eyes")] + public required int Eyes { get; init; } + + [JsonPropertyName("heart")] + public required int Heart { get; init; } + + [JsonPropertyName("hooray")] + public required int Hooray { get; init; } + + [JsonPropertyName("laugh")] + public required int Laugh { get; init; } + + [JsonPropertyName("rocket")] + public required int Rocket { get; init; } + + [JsonPropertyName("total_count")] + public required int TotalCount { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1 +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsUser { - [JsonPropertyName("action")] - public required WebhookPullRequestReviewRequestedVariant1Action Action { get; init; } + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } - /// - /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - /// on an enterprise account or an organization that's part of an enterprise account. For more information, - /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - /// - [JsonPropertyName("enterprise")] - public EnterpriseWebhooks? Enterprise { get; init; } + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } - /// - /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - /// for and sent to a GitHub App. For more information, - /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - /// - [JsonPropertyName("installation")] - public SimpleInstallation? Installation { get; init; } + [JsonPropertyName("email")] + public string? Email { get; init; } - /// - /// The pull request number. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } - /// - /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - /// organization, or when the event occurs from activity in a repository owned by an organization. - /// - [JsonPropertyName("organization")] - public OrganizationSimpleWebhooks? Organization { get; init; } + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewRequestedVariant1PullRequest PullRequest { get; init; } + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } - /// - /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - /// when the event occurs from activity in a repository. - /// - [JsonPropertyName("repository")] - public required RepositoryWebhooks Repository { get; init; } + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } - [JsonPropertyName("requested_reviewer")] - public required WebhookPullRequestReviewRequestedVariant1RequestedReviewer? RequestedReviewer { get; init; } + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } - /// - /// A GitHub user. - /// - [JsonPropertyName("sender")] - public required SimpleUser Sender { get; init; } + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequest +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } - [JsonPropertyName("additions")] - public int? Additions { get; init; } - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -119952,49 +116376,34 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBase Base { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } - [JsonPropertyName("changed_files")] - public int? ChangedFiles { get; init; } - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("comments")] - public int? Comments { get; init; } + public required string? ClosedAt { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } - [JsonPropertyName("commits")] - public int? Commits { get; init; } - [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("deletions")] - public int? Deletions { get; init; } + public required string CreatedAt { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } - /// - /// Indicates whether or not the pull request is a draft. - /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHead Head { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -120006,68 +116415,41 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } - /// - /// Indicates whether maintainers can modify the pull request. - /// - [JsonPropertyName("maintainer_can_modify")] - public bool? MaintainerCanModify { get; init; } - [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } - [JsonPropertyName("mergeable")] - public bool? Mergeable { get; init; } - - [JsonPropertyName("mergeable_state")] - public string? MergeableState { get; init; } - - [JsonPropertyName("merged")] - public bool? Merged { get; init; } - [JsonPropertyName("merged_at")] - public required DateTimeOffset? MergedAt { get; init; } - - [JsonPropertyName("merged_by")] - public WebhookPullRequestReviewRequestedVariant1PullRequestMergedBy? MergedBy { get; init; } + public required string? MergedAt { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - /// - /// Number uniquely identifying the pull request within its repository. - /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } - [JsonPropertyName("rebaseable")] - public bool? Rebaseable { get; init; } - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } - [JsonPropertyName("review_comments")] - public int? ReviewComments { get; init; } - [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -120077,117 +116459,111 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } - /// - /// State of this Pull Request. Either `open` or `closed`. - /// [JsonPropertyName("state")] public required MilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } - /// - /// The title of the pull request. - /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } + public required string UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestUser? User { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinks +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksComments +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksCommits +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksHtml +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksIssue +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComment +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComments +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksSelf +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksStatuses +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssignee +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120247,7 +116623,7 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssign public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -120257,7 +116633,7 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssign } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssignees +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120317,20 +116693,17 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssign public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMerge +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -120342,10 +116715,10 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMe /// Title for the merge commit message. /// [JsonPropertyName("commit_title")] - public required string? CommitTitle { get; init; } + public required string CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -120355,7 +116728,7 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMe } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120425,7 +116798,7 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMe } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBase +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -120437,9341 +116810,20 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBase /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object? PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHead -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object? PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1RequestedReviewer -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2 -{ - [JsonPropertyName("action")] - public required WebhookPullRequestReviewRequestedVariant1Action Action { get; init; } - - /// - /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - /// on an enterprise account or an organization that's part of an enterprise account. For more information, - /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - /// - [JsonPropertyName("enterprise")] - public EnterpriseWebhooks? Enterprise { get; init; } - - /// - /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - /// for and sent to a GitHub App. For more information, - /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - /// - [JsonPropertyName("installation")] - public SimpleInstallation? Installation { get; init; } - - /// - /// The pull request number. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - /// - /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - /// organization, or when the event occurs from activity in a repository owned by an organization. - /// - [JsonPropertyName("organization")] - public OrganizationSimpleWebhooks? Organization { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewRequestedVariant2PullRequest PullRequest { get; init; } - - /// - /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - /// when the event occurs from activity in a repository. - /// - [JsonPropertyName("repository")] - public required RepositoryWebhooks Repository { get; init; } - - /// - /// Groups of organization members that gives permissions on specified repositories. - /// - [JsonPropertyName("requested_team")] - public required WebhookPullRequestReviewRequestedVariant2RequestedTeam RequestedTeam { get; init; } - - /// - /// A GitHub user. - /// - [JsonPropertyName("sender")] - public required SimpleUser Sender { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequest -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinks Links { get; init; } - - [JsonPropertyName("active_lock_reason")] - public required ActiveLockReason ActiveLockReason { get; init; } - - [JsonPropertyName("additions")] - public int? Additions { get; init; } - - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestAssignee? Assignee { get; init; } - - [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The status of auto merging a pull request. - /// - [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestAutoMerge? AutoMerge { get; init; } - - [JsonPropertyName("base")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBase Base { get; init; } - - [JsonPropertyName("body")] - public required string? Body { get; init; } - - [JsonPropertyName("changed_files")] - public int? ChangedFiles { get; init; } - - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("comments")] - public int? Comments { get; init; } - - [JsonPropertyName("comments_url")] - public required Uri CommentsUrl { get; init; } - - [JsonPropertyName("commits")] - public int? Commits { get; init; } - - [JsonPropertyName("commits_url")] - public required Uri CommitsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("deletions")] - public int? Deletions { get; init; } - - [JsonPropertyName("diff_url")] - public required Uri DiffUrl { get; init; } - - /// - /// Indicates whether or not the pull request is a draft. - /// - [JsonPropertyName("draft")] - public required bool Draft { get; init; } - - [JsonPropertyName("head")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHead Head { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("issue_url")] - public required Uri IssueUrl { get; init; } - - [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } - - [JsonPropertyName("locked")] - public required bool Locked { get; init; } - - /// - /// Indicates whether maintainers can modify the pull request. - /// - [JsonPropertyName("maintainer_can_modify")] - public bool? MaintainerCanModify { get; init; } - - [JsonPropertyName("merge_commit_sha")] - public required string? MergeCommitSha { get; init; } - - [JsonPropertyName("mergeable")] - public bool? Mergeable { get; init; } - - [JsonPropertyName("mergeable_state")] - public string? MergeableState { get; init; } - - [JsonPropertyName("merged")] - public bool? Merged { get; init; } - - [JsonPropertyName("merged_at")] - public required DateTimeOffset? MergedAt { get; init; } - - [JsonPropertyName("merged_by")] - public WebhookPullRequestReviewRequestedVariant2PullRequestMergedBy? MergedBy { get; init; } - - /// - /// A collection of related issues and pull requests. - /// - [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestMilestone? Milestone { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Number uniquely identifying the pull request within its repository. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("patch_url")] - public required Uri PatchUrl { get; init; } - - [JsonPropertyName("rebaseable")] - public bool? Rebaseable { get; init; } - - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } - - [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } - - [JsonPropertyName("review_comment_url")] - public required string ReviewCommentUrl { get; init; } - - [JsonPropertyName("review_comments")] - public int? ReviewComments { get; init; } - - [JsonPropertyName("review_comments_url")] - public required Uri ReviewCommentsUrl { get; init; } - - /// - /// The stack information associated with a pull request. - /// - [JsonPropertyName("stack")] - public PullRequestStack? Stack { get; init; } - - /// - /// State of this Pull Request. Either `open` or `closed`. - /// - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - [JsonPropertyName("statuses_url")] - public required Uri StatusesUrl { get; init; } - - /// - /// The title of the pull request. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinks -{ - [JsonPropertyName("comments")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksComments Comments { get; init; } - - [JsonPropertyName("commits")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksCommits Commits { get; init; } - - [JsonPropertyName("html")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksHtml Html { get; init; } - - [JsonPropertyName("issue")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksIssue Issue { get; init; } - - [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComment ReviewComment { get; init; } - - [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComments ReviewComments { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksSelf Self { get; init; } - - [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksStatuses Statuses { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksCommits -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksIssue -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComment -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksStatuses -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAssignee -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAssignees -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// The status of auto merging a pull request. -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAutoMerge -{ - /// - /// Commit message for the merge commit. - /// - [JsonPropertyName("commit_message")] - public required string? CommitMessage { get; init; } - - /// - /// Title for the merge commit message. - /// - [JsonPropertyName("commit_title")] - public required string? CommitTitle { get; init; } - - [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } - - /// - /// The merge method to use. - /// - [JsonPropertyName("merge_method")] - public required AutoMergeMergeMethod MergeMethod { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAutoMergeEnabledBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBase -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object? PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHead -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object? PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant2RequestedTeam -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant2RequestedTeamParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2RequestedTeamParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequest -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewSubmittedPullRequestLinks Links { get; init; } - - [JsonPropertyName("active_lock_reason")] - public required ActiveLockReason ActiveLockReason { get; init; } - - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewSubmittedPullRequestAssignee? Assignee { get; init; } - - [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The status of auto merging a pull request. - /// - [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewSubmittedPullRequestAutoMerge? AutoMerge { get; init; } - - [JsonPropertyName("base")] - public required WebhookPullRequestReviewSubmittedPullRequestBase Base { get; init; } - - [JsonPropertyName("body")] - public required string? Body { get; init; } - - [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } - - [JsonPropertyName("comments_url")] - public required Uri CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required Uri CommitsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } - - [JsonPropertyName("diff_url")] - public required Uri DiffUrl { get; init; } - - [JsonPropertyName("draft")] - public required bool Draft { get; init; } - - [JsonPropertyName("head")] - public required WebhookPullRequestReviewSubmittedPullRequestHead Head { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("issue_url")] - public required Uri IssueUrl { get; init; } - - [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } - - [JsonPropertyName("locked")] - public required bool Locked { get; init; } - - [JsonPropertyName("merge_commit_sha")] - public required string? MergeCommitSha { get; init; } - - [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } - - /// - /// A collection of related issues and pull requests. - /// - [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewSubmittedPullRequestMilestone? Milestone { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("patch_url")] - public required Uri PatchUrl { get; init; } - - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } - - [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } - - [JsonPropertyName("review_comment_url")] - public required string ReviewCommentUrl { get; init; } - - [JsonPropertyName("review_comments_url")] - public required Uri ReviewCommentsUrl { get; init; } - - /// - /// The stack information associated with a pull request. - /// - [JsonPropertyName("stack")] - public PullRequestStack? Stack { get; init; } - - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - [JsonPropertyName("statuses_url")] - public required Uri StatusesUrl { get; init; } - - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinks -{ - [JsonPropertyName("comments")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksComments Comments { get; init; } - - [JsonPropertyName("commits")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksCommits Commits { get; init; } - - [JsonPropertyName("html")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksHtml Html { get; init; } - - [JsonPropertyName("issue")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksIssue Issue { get; init; } - - [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment ReviewComment { get; init; } - - [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments ReviewComments { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksSelf Self { get; init; } - - [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksStatuses Statuses { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksCommits -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksIssue -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksStatuses -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -/// -/// The status of auto merging a pull request. -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge -{ - /// - /// Commit message for the merge commit. - /// - [JsonPropertyName("commit_message")] - public required string? CommitMessage { get; init; } - - /// - /// Title for the merge commit message. - /// - [JsonPropertyName("commit_title")] - public required string? CommitTitle { get; init; } - - [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } - - /// - /// The merge method to use. - /// - [JsonPropertyName("merge_method")] - public required AutoMergeMergeMethod MergeMethod { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBase -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object? PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHead -{ - [JsonPropertyName("label")] - public required string? Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepo? Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object? PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequest -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinks Links { get; init; } - - [JsonPropertyName("active_lock_reason")] - public required ActiveLockReason ActiveLockReason { get; init; } - - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAssignee? Assignee { get; init; } - - [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The status of auto merging a pull request. - /// - [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge? AutoMerge { get; init; } - - [JsonPropertyName("base")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBase Base { get; init; } - - [JsonPropertyName("body")] - public required string? Body { get; init; } - - [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } - - [JsonPropertyName("comments_url")] - public required Uri CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required Uri CommitsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } - - [JsonPropertyName("diff_url")] - public required Uri DiffUrl { get; init; } - - [JsonPropertyName("draft")] - public required bool Draft { get; init; } - - [JsonPropertyName("head")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHead Head { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("issue_url")] - public required Uri IssueUrl { get; init; } - - [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } - - [JsonPropertyName("locked")] - public required bool Locked { get; init; } - - [JsonPropertyName("merge_commit_sha")] - public required string? MergeCommitSha { get; init; } - - [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } - - /// - /// A collection of related issues and pull requests. - /// - [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewThreadResolvedPullRequestMilestone? Milestone { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("patch_url")] - public required Uri PatchUrl { get; init; } - - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } - - [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } - - [JsonPropertyName("review_comment_url")] - public required string ReviewCommentUrl { get; init; } - - [JsonPropertyName("review_comments_url")] - public required Uri ReviewCommentsUrl { get; init; } - - /// - /// The stack information associated with a pull request. - /// - [JsonPropertyName("stack")] - public PullRequestStack? Stack { get; init; } - - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - [JsonPropertyName("statuses_url")] - public required Uri StatusesUrl { get; init; } - - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinks -{ - [JsonPropertyName("comments")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksComments Comments { get; init; } - - [JsonPropertyName("commits")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits Commits { get; init; } - - [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml Html { get; init; } - - [JsonPropertyName("issue")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue Issue { get; init; } - - [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment ReviewComment { get; init; } - - [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments ReviewComments { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf Self { get; init; } - - [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses Statuses { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -/// -/// The status of auto merging a pull request. -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge -{ - /// - /// Commit message for the merge commit. - /// - [JsonPropertyName("commit_message")] - public required string? CommitMessage { get; init; } - - /// - /// Title for the merge commit message. - /// - [JsonPropertyName("commit_title")] - public required string? CommitTitle { get; init; } - - [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } - - /// - /// The merge method to use. - /// - [JsonPropertyName("merge_method")] - public required AutoMergeMergeMethod MergeMethod { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object? PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead -{ - [JsonPropertyName("label")] - public required string? Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo? Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object? PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThread -{ - [JsonPropertyName("comments")] - public required IReadOnlyList Comments { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - -} - -/// -/// The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. -/// -public partial record WebhookPullRequestReviewThreadResolvedThreadComments -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinks Links { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The text of the comment. - /// - [JsonPropertyName("body")] - public required string Body { get; init; } - - /// - /// The SHA of the commit to which the comment applies. - /// - [JsonPropertyName("commit_id")] - public required string CommitId { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - /// - /// The diff of the line that the comment refers to. - /// - [JsonPropertyName("diff_hunk")] - public required string DiffHunk { get; init; } - - /// - /// HTML URL for the pull request review comment. - /// - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// The ID of the pull request review comment. - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The comment ID to reply to. - /// - [JsonPropertyName("in_reply_to_id")] - public int? InReplyToId { get; init; } - - /// - /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment - /// - [JsonPropertyName("line")] - public required int? Line { get; init; } - - /// - /// The node ID of the pull request review comment. - /// - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The SHA of the original commit to which the comment applies. - /// - [JsonPropertyName("original_commit_id")] - public required string OriginalCommitId { get; init; } - - /// - /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment - /// - [JsonPropertyName("original_line")] - public required int? OriginalLine { get; init; } - - /// - /// The index of the original line in the diff to which the comment applies. - /// - [JsonPropertyName("original_position")] - public required int OriginalPosition { get; init; } - - /// - /// The first line of the range for a multi-line comment. - /// - [JsonPropertyName("original_start_line")] - public required int? OriginalStartLine { get; init; } - - /// - /// The relative path of the file to which the comment applies. - /// - [JsonPropertyName("path")] - public required string Path { get; init; } - - /// - /// The line index in the diff to which the comment applies. - /// - [JsonPropertyName("position")] - public required int? Position { get; init; } - - /// - /// The ID of the pull request review to which the comment belongs. - /// - [JsonPropertyName("pull_request_review_id")] - public required int? PullRequestReviewId { get; init; } - - /// - /// URL for the pull request that the review comment belongs to. - /// - [JsonPropertyName("pull_request_url")] - public required Uri PullRequestUrl { get; init; } - - [JsonPropertyName("reactions")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsReactions Reactions { get; init; } - - /// - /// The side of the first line of the range for a multi-line comment. - /// - [JsonPropertyName("side")] - public required Side Side { get; init; } - - /// - /// The first line of the range for a multi-line comment. - /// - [JsonPropertyName("start_line")] - public required int? StartLine { get; init; } - - /// - /// The side of the first line of the range for a multi-line comment. - /// - [JsonPropertyName("start_side")] - public required StartSide StartSide { get; init; } = Generated.GithubApiNext.StartSide.Right; - - /// - /// The level at which the comment is targeted, can be a diff line or a file. - /// - [JsonPropertyName("subject_type")] - public SubjectType? SubjectType { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - /// - /// URL for the pull request review comment - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinks -{ - [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml Html { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest PullRequest { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf Self { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsReactions -{ - [JsonPropertyName("+1")] - public required int Plus1 { get; init; } - - [JsonPropertyName("-1")] - public required int Minus1 { get; init; } - - [JsonPropertyName("confused")] - public required int Confused { get; init; } - - [JsonPropertyName("eyes")] - public required int Eyes { get; init; } - - [JsonPropertyName("heart")] - public required int Heart { get; init; } - - [JsonPropertyName("hooray")] - public required int Hooray { get; init; } - - [JsonPropertyName("laugh")] - public required int Laugh { get; init; } - - [JsonPropertyName("rocket")] - public required int Rocket { get; init; } - - [JsonPropertyName("total_count")] - public required int TotalCount { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinks Links { get; init; } - - [JsonPropertyName("active_lock_reason")] - public required ActiveLockReason ActiveLockReason { get; init; } - - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee? Assignee { get; init; } - - [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The status of auto merging a pull request. - /// - [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge? AutoMerge { get; init; } - - [JsonPropertyName("base")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBase Base { get; init; } - - [JsonPropertyName("body")] - public required string? Body { get; init; } - - [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } - - [JsonPropertyName("comments_url")] - public required Uri CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required Uri CommitsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } - - [JsonPropertyName("diff_url")] - public required Uri DiffUrl { get; init; } - - [JsonPropertyName("draft")] - public required bool Draft { get; init; } - - [JsonPropertyName("head")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestHead Head { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("issue_url")] - public required Uri IssueUrl { get; init; } - - [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } - - [JsonPropertyName("locked")] - public required bool Locked { get; init; } - - [JsonPropertyName("merge_commit_sha")] - public required string? MergeCommitSha { get; init; } - - [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } - - /// - /// A collection of related issues and pull requests. - /// - [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestMilestone? Milestone { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("patch_url")] - public required Uri PatchUrl { get; init; } - - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } - - [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } - - [JsonPropertyName("review_comment_url")] - public required string ReviewCommentUrl { get; init; } - - [JsonPropertyName("review_comments_url")] - public required Uri ReviewCommentsUrl { get; init; } - - /// - /// The stack information associated with a pull request. - /// - [JsonPropertyName("stack")] - public PullRequestStack? Stack { get; init; } - - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - [JsonPropertyName("statuses_url")] - public required Uri StatusesUrl { get; init; } - - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinks -{ - [JsonPropertyName("comments")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments Comments { get; init; } - - [JsonPropertyName("commits")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits Commits { get; init; } - - [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml Html { get; init; } - - [JsonPropertyName("issue")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue Issue { get; init; } - - [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment ReviewComment { get; init; } - - [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments ReviewComments { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf Self { get; init; } - - [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses Statuses { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignees -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -/// -/// The status of auto merging a pull request. -/// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge -{ - /// - /// Commit message for the merge commit. - /// - [JsonPropertyName("commit_message")] - public required string? CommitMessage { get; init; } - - /// - /// Title for the merge commit message. - /// - [JsonPropertyName("commit_title")] - public required string CommitTitle { get; init; } - - [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } - - /// - /// The merge method to use. - /// - [JsonPropertyName("merge_method")] - public required AutoMergeMergeMethod MergeMethod { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -131006,197 +118058,6 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestMilesto } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -131814,7 +118675,7 @@ public partial record WebhookPullRequestStackedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -133319,245 +120180,7 @@ public partial record WebhookPullRequestStackedPullRequestHeadUser public Uri? HtmlUrl { get; init; } [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestStackedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestStackedPullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestStackedPullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestStackedPullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestStackedPullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } + public required long Id { get; init; } [JsonPropertyName("login")] public required string Login { get; init; } @@ -133587,7 +120210,7 @@ public partial record WebhookPullRequestStackedPullRequestMilestoneCreator public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -133597,7 +120220,41 @@ public partial record WebhookPullRequestStackedPullRequestMilestoneCreator } -public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 +public partial record WebhookPullRequestStackedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestStackedPullRequestMergedBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -133668,125 +120325,138 @@ public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVari } /// -/// Groups of organization members that gives permissions on specified repositories. +/// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 +public partial record WebhookPullRequestStackedPullRequestMilestone { - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestStackedPullRequestMilestoneCreator? Creator { get; init; } - /// - /// Description of the team - /// [JsonPropertyName("description")] public required string? Description { get; init; } + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestStackedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - /// - /// Permission that the team will have for its repositories + /// The number of the milestone. /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("number")] + public required int Number { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } /// - /// URL for the team + /// The title of the milestone. /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant2Parent +public partial record WebhookPullRequestStackedPullRequestMilestoneCreator { - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } -} + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } -/// -/// Union of: WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 | WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant1), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant2), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestStackedPullRequestRequestedReviewers; +} /// /// Groups of organization members that gives permissions on specified repositories. @@ -134103,7 +120773,7 @@ public partial record WebhookPullRequestSynchronizePullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -135879,197 +122549,6 @@ public partial record WebhookPullRequestSynchronizePullRequestMilestoneCreator } -public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 | WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -136385,7 +122864,7 @@ public partial record WebhookPullRequestUnassignedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -137890,245 +124369,7 @@ public partial record WebhookPullRequestUnassignedPullRequestHeadUser public Uri? HtmlUrl { get; init; } [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestUnassignedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestUnassignedPullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestUnassignedPullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestUnassignedPullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required MilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } + public required long Id { get; init; } [JsonPropertyName("login")] public required string Login { get; init; } @@ -138158,7 +124399,7 @@ public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -138168,7 +124409,41 @@ public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator } -public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 +public partial record WebhookPullRequestUnassignedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestUnassignedPullRequestMergedBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -138239,125 +124514,138 @@ public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersV } /// -/// Groups of organization members that gives permissions on specified repositories. +/// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 +public partial record WebhookPullRequestUnassignedPullRequestMilestone { - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestUnassignedPullRequestMilestoneCreator? Creator { get; init; } - /// - /// Description of the team - /// [JsonPropertyName("description")] public required string? Description { get; init; } + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - /// - /// Permission that the team will have for its repositories + /// The number of the milestone. /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("number")] + public required int Number { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required MilestoneState State { get; init; } /// - /// URL for the team + /// The title of the milestone. /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2Parent +public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator { - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } -} + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } -/// -/// Union of: WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestUnassignedPullRequestRequestedReviewers; +} /// /// Groups of organization members that gives permissions on specified repositories. @@ -138674,7 +124962,7 @@ public partial record WebhookPullRequestUnlabeledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -140450,197 +126738,6 @@ public partial record WebhookPullRequestUnlabeledPullRequestMilestoneCreator } -public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -140956,7 +127053,7 @@ public partial record WebhookPullRequestUnlockedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -142739,197 +128836,6 @@ public partial record WebhookPullRequestUnlockedPullRequestMilestoneCreator } -public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestUnlockedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// diff --git a/examples/OpenApiCodeGenerator.Examples/output/github-api.cs b/examples/OpenApiCodeGenerator.Examples/output/github-api.cs index b37628e..38322b8 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/github-api.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/github-api.cs @@ -3325,20 +3325,6 @@ public enum TeamMemberRole Maintainer } -/// -/// The role granted to the collaborator -/// -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum CopilotSpaceCollaboratorVariant2Role -{ - [JsonStringEnumMemberName("reader")] - Reader, - [JsonStringEnumMemberName("writer")] - Writer, - [JsonStringEnumMemberName("admin")] - Admin -} - /// /// Determines if the team has a direct, indirect, or mixed relationship to a role /// @@ -3441,19 +3427,6 @@ public enum RepositoryRuleMergeQueueParametersMergeMethod Rebase } -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum PullRequestMergeAsyncResultDetailsVariant1MergeMethod -{ - [JsonStringEnumMemberName("default")] - Default, - [JsonStringEnumMemberName("merge")] - Merge, - [JsonStringEnumMemberName("squash")] - Squash, - [JsonStringEnumMemberName("rebase")] - Rebase -} - /// /// The type of content tracked in a project item /// @@ -3550,8 +3523,8 @@ public enum ValuesEditableBy /// /// The type of actor that can bypass a ruleset. /// -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum RepositoryRulesetBypassActorActorType +[JsonConverter(typeof(JsonStringEnumConverter))] +public enum ActorType { [JsonStringEnumMemberName("Integration")] Integration, @@ -3567,16 +3540,6 @@ public enum RepositoryRulesetBypassActorActorType User } -/// -/// The collaborator actor type. -/// -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum CopilotSpaceCollaboratorVariant2ActorType -{ - [JsonStringEnumMemberName("Team")] - Team -} - /// /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. /// @@ -5293,20 +5256,6 @@ public enum WebhookGollumPagesAction Edited } -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum WebhookPullRequestReviewRequestRemovedVariant1Action -{ - [JsonStringEnumMemberName("review_request_removed")] - ReviewRequestRemoved -} - -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum WebhookPullRequestReviewRequestedVariant1Action -{ - [JsonStringEnumMemberName("review_requested")] - ReviewRequested -} - /// /// The side of the first line of the range for a multi-line comment. /// @@ -5734,17 +5683,6 @@ public enum Operator Regex } -[JsonConverter(typeof(JsonStringEnumConverter))] -public enum MergeAction -{ - [JsonStringEnumMemberName("default")] - Default, - [JsonStringEnumMemberName("merge_queue")] - MergeQueue, - [JsonStringEnumMemberName("direct_merge")] - DirectMerge -} - [JsonConverter(typeof(JsonStringEnumConverter))] public enum ContentReferences { @@ -18537,7 +18475,7 @@ public partial record RepositoryRulesetBypassActor /// The type of actor that can bypass a ruleset. /// [JsonPropertyName("actor_type")] - public required RepositoryRulesetBypassActorActorType ActorType { get; init; } + public required ActorType ActorType { get; init; } /// /// When the specified actor can bypass the ruleset. `pull_request` means that an actor can only bypass rules on pull requests. `pull_request` is not applicable for the `DeployKey` actor type. Also, `pull_request` is only applicable to branch rulesets. When `bypass_mode` is `exempt`, rules will not be run for that actor and a bypass audit entry will not be created. @@ -25828,7 +25766,7 @@ public partial record Environment /// Built-in deployment protection rules for the environment. /// [JsonPropertyName("protection_rules")] - public IReadOnlyList? ProtectionRules { get; init; } + public IReadOnlyList? ProtectionRules { get; init; } /// /// The type of deployment branch policy for this environment. To allow all branches to deploy, set to `null`. @@ -29543,7 +29481,7 @@ public partial record PullRequestMergeAsyncResult public required PullRequestMergeAsyncResultStatus Status { get; init; } [JsonPropertyName("details")] - public required PullRequestMergeAsyncResultDetails Details { get; init; } + public required object Details { get; init; } } @@ -35428,7 +35366,7 @@ public partial record WebhooksPullRequest5 public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -44438,7 +44376,7 @@ public partial record WebhookProjectsV2ItemEdited /// It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. /// [JsonPropertyName("changes")] - public WebhookProjectsV2ItemEditedChanges? Changes { get; init; } + public object? Changes { get; init; } /// /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured @@ -45776,20 +45714,8 @@ public partial record WebhookPullRequestReviewEdited } -/// -/// Union of: WebhookPullRequestReviewRequestRemovedVariant1 | WebhookPullRequestReviewRequestRemovedVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1), "WebhookPullRequestReviewRequestRemovedVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2), "WebhookPullRequestReviewRequestRemovedVariant2")] public abstract partial record WebhookPullRequestReviewRequestRemoved; -/// -/// Union of: WebhookPullRequestReviewRequestedVariant1 | WebhookPullRequestReviewRequestedVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1), "WebhookPullRequestReviewRequestedVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2), "WebhookPullRequestReviewRequestedVariant2")] public abstract partial record WebhookPullRequestReviewRequested; public partial record WebhookPullRequestReviewSubmitted @@ -52408,64 +52334,6 @@ public partial record CopilotSpaceResourcesAttributesMetadata } -public partial record CopilotSpaceCollaboratorVariant2 -{ - /// - /// The collaborator actor type. - /// - [JsonPropertyName("actor_type")] - public required CopilotSpaceCollaboratorVariant2ActorType ActorType { get; init; } - - /// - /// The role granted to the collaborator - /// - [JsonPropertyName("role")] - public required CopilotSpaceCollaboratorVariant2Role Role { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - [JsonPropertyName("type")] - public required RepositoryRuleParamsReviewerType Type { get; init; } - - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("privacy")] - public string? Privacy { get; init; } - - [JsonPropertyName("notification_setting")] - public string? NotificationSetting { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("organization_id")] - public int? OrganizationId { get; init; } - - [JsonPropertyName("parent")] - public object? Parent { get; init; } - -} - /// /// The team through which the assignee is granted access to GitHub Copilot, if applicable. /// @@ -55770,92 +55638,6 @@ public partial record SnapshotDetector } -public partial record EnvironmentProtectionRulesVariant1 -{ - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("type")] - public required string Type { get; init; } - - /// - /// The amount of time to delay a job after the job is initially triggered. The time (in minutes) must be an integer between 0 and 43,200 (30 days). - /// - [JsonPropertyName("wait_timer")] - public WaitTimer? WaitTimer { get; init; } - -} - -public partial record EnvironmentProtectionRulesVariant2 -{ - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Whether deployments to this environment can be approved by the user who created the deployment. - /// - [JsonPropertyName("prevent_self_review")] - public bool? PreventSelfReview { get; init; } - - [JsonPropertyName("type")] - public required string Type { get; init; } - - /// - /// The people or teams that may approve jobs that reference the environment. You can list up to six users or teams as reviewers. The reviewers must have at least read access to the repository. Only one of the required reviewers needs to approve the job for it to proceed. - /// - [JsonPropertyName("reviewers")] - public IReadOnlyList? Reviewers { get; init; } - -} - -public partial record EnvironmentProtectionRulesVariant2Reviewers -{ - /// - /// The type of reviewer. - /// - [JsonPropertyName("type")] - public PendingDeploymentReviewersType? Type { get; init; } - - [JsonPropertyName("reviewer")] - public EnvironmentProtectionRulesVariant2ReviewersReviewer? Reviewer { get; init; } - -} - -/// -/// Union of: SimpleUser | Team -/// -[JsonDerivedType(typeof(SimpleUser), "simple-user")] -[JsonDerivedType(typeof(Team), "team")] -public abstract partial record EnvironmentProtectionRulesVariant2ReviewersReviewer; - -public partial record EnvironmentProtectionRulesVariant3 -{ - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("type")] - public required string Type { get; init; } - -} - -/// -/// Union of: EnvironmentProtectionRulesVariant1 | EnvironmentProtectionRulesVariant2 | EnvironmentProtectionRulesVariant3 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant1), "EnvironmentProtectionRulesVariant1")] -[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant2), "EnvironmentProtectionRulesVariant2")] -[JsonDerivedType(typeof(EnvironmentProtectionRulesVariant3), "EnvironmentProtectionRulesVariant3")] -public abstract partial record EnvironmentProtectionRules; - /// /// Identifying information for the git-user /// @@ -56753,63 +56535,6 @@ public partial record PullRequestLinks } -/// -/// When an asynchronous merge request was created or already existed -/// -public partial record PullRequestMergeAsyncResultDetailsVariant1 -{ - [JsonPropertyName("message")] - public required string Message { get; init; } - - [JsonPropertyName("uuid")] - public required string Uuid { get; init; } - - [JsonPropertyName("merge_method")] - public required PullRequestMergeAsyncResultDetailsVariant1MergeMethod MergeMethod { get; init; } - - [JsonPropertyName("merge_action")] - public required MergeAction MergeAction { get; init; } - - /// - /// SHA that the pull request head must match for the enqueued merge to proceed. - /// - [JsonPropertyName("expected_head_sha")] - public required string ExpectedHeadSha { get; init; } - -} - -/// -/// When the pull request cannot be merged -/// -public partial record PullRequestMergeAsyncResultDetailsVariant2 -{ - [JsonPropertyName("message")] - public required string Message { get; init; } - -} - -/// -/// When the pull request is already merged -/// -public partial record PullRequestMergeAsyncResultDetailsVariant3 -{ - [JsonPropertyName("message")] - public required string Message { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - -} - -/// -/// Union of: PullRequestMergeAsyncResultDetailsVariant1 | PullRequestMergeAsyncResultDetailsVariant2 | PullRequestMergeAsyncResultDetailsVariant3 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant1), "PullRequestMergeAsyncResultDetailsVariant1")] -[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant2), "PullRequestMergeAsyncResultDetailsVariant2")] -[JsonDerivedType(typeof(PullRequestMergeAsyncResultDetailsVariant3), "PullRequestMergeAsyncResultDetailsVariant3")] -public abstract partial record PullRequestMergeAsyncResultDetails; - public partial record PullRequestReviewLinks { [JsonPropertyName("html")] @@ -62600,198 +62325,10 @@ public partial record WebhooksPullRequest5MilestoneCreator } -public partial record WebhooksPullRequest5RequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhooksPullRequest5RequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhooksPullRequest5RequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhooksPullRequest5RequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhooksPullRequest5RequestedReviewersVariant1 | WebhooksPullRequest5RequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant1), "WebhooksPullRequest5RequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhooksPullRequest5RequestedReviewersVariant2), "WebhooksPullRequest5RequestedReviewersVariant2")] -public abstract partial record WebhooksPullRequest5RequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhooksPullRequest5RequestedTeams +public partial record WebhooksPullRequest5RequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -91034,64 +90571,6 @@ public partial record WebhookProjectsV2ItemConvertedChangesContentType } -public partial record WebhookProjectsV2ItemEditedChangesVariant1 -{ - [JsonPropertyName("field_value")] - public required WebhookProjectsV2ItemEditedChangesVariant1FieldValue FieldValue { get; init; } - -} - -public partial record WebhookProjectsV2ItemEditedChangesVariant1FieldValue -{ - [JsonPropertyName("field_node_id")] - public string? FieldNodeId { get; init; } - - [JsonPropertyName("field_type")] - public string? FieldType { get; init; } - - [JsonPropertyName("field_name")] - public string? FieldName { get; init; } - - [JsonPropertyName("project_number")] - public int? ProjectNumber { get; init; } - - [JsonPropertyName("from")] - public object? From { get; init; } - - [JsonPropertyName("to")] - public object? To { get; init; } - -} - -public partial record WebhookProjectsV2ItemEditedChangesVariant2 -{ - [JsonPropertyName("body")] - public required WebhookProjectsV2ItemEditedChangesVariant2Body Body { get; init; } - -} - -public partial record WebhookProjectsV2ItemEditedChangesVariant2Body -{ - [JsonPropertyName("from")] - public string? From { get; init; } - - [JsonPropertyName("to")] - public string? To { get; init; } - -} - -/// -/// The changes made to the item may involve modifications in the item's fields and draft issue body. -/// It includes altered values for text, number, date, single select, and iteration fields, along with the GraphQL node ID of the changed field. -/// -/// -/// Union of: WebhookProjectsV2ItemEditedChangesVariant1 | WebhookProjectsV2ItemEditedChangesVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant1), "WebhookProjectsV2ItemEditedChangesVariant1")] -[JsonDerivedType(typeof(WebhookProjectsV2ItemEditedChangesVariant2), "WebhookProjectsV2ItemEditedChangesVariant2")] -public abstract partial record WebhookProjectsV2ItemEditedChanges; - public partial record WebhookProjectsV2ItemReorderedChanges { [JsonPropertyName("previous_projects_v2_item_node_id")] @@ -91297,7 +90776,7 @@ public partial record WebhookPullRequestAssignedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -93083,311 +92562,120 @@ public partial record WebhookPullRequestAssignedPullRequestMilestoneCreator } -public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestAssignedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestAssignedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAssignedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAssignedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAssignedPullRequestUser +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAssignedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestAssignedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestAssignedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -93589,7 +92877,7 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -95372,197 +94660,6 @@ public partial record WebhookPullRequestAutoMergeDisabledPullRequestMilestoneCre } -public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestAutoMergeDisabledPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -95878,7 +94975,7 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -97661,259 +96758,68 @@ public partial record WebhookPullRequestAutoMergeEnabledPullRequestMilestoneCrea } -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeams { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent? Parent { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public string? Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1 | WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2), "WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent +public partial record WebhookPullRequestAutoMergeEnabledPullRequestRequestedTeamsParent { /// /// Description of the team @@ -98167,7 +97073,7 @@ public partial record WebhookPullRequestDequeuedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -99950,311 +98856,120 @@ public partial record WebhookPullRequestDequeuedPullRequestMilestoneCreator } -public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestDequeuedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestDequeuedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestDequeuedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestDequeuedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestDequeuedPullRequestUser +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestDequeuedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestDequeuedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestDequeuedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -100516,7 +99231,7 @@ public partial record WebhookPullRequestEnqueuedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -102299,197 +101014,6 @@ public partial record WebhookPullRequestEnqueuedPullRequestMilestoneCreator } -public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1 | WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2), "WebhookPullRequestEnqueuedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestEnqueuedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -102805,7 +101329,7 @@ public partial record WebhookPullRequestLabeledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -104588,259 +103112,68 @@ public partial record WebhookPullRequestLabeledPullRequestMilestoneCreator } -public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestLabeledPullRequestRequestedTeams { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestLabeledPullRequestRequestedTeamsParent? Parent { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public string? Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestLabeledPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestLabeledPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestLabeledPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestLabeledPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestLabeledPullRequestRequestedTeamsParent +public partial record WebhookPullRequestLabeledPullRequestRequestedTeamsParent { /// /// Description of the team @@ -105094,7 +103427,7 @@ public partial record WebhookPullRequestLockedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -106877,80 +105210,10 @@ public partial record WebhookPullRequestLockedPullRequestMilestoneCreator } -public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 +public partial record WebhookPullRequestLockedPullRequestRequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -106959,10 +105222,10 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria /// Description of the team /// [JsonPropertyName("description")] - public required string? Description { get; init; } + public string? Description { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -106971,7 +105234,7 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria public required int Id { get; init; } [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + public string? MembersUrl { get; init; } /// /// Name of the team @@ -106980,156 +105243,35 @@ public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVaria public required string Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestLockedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } + public WebhookPullRequestLockedPullRequestRequestedTeamsParent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public required string Permission { get; init; } + public string? Permission { get; init; } [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + public WebhooksTeamPrivacy? Privacy { get; init; } [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + public Uri? RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public required string Slug { get; init; } + public string? Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } } -public partial record WebhookPullRequestLockedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestLockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestLockedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestLockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestLockedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestLockedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestLockedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestLockedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestLockedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestLockedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -107633,7 +105775,7 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -109337,197 +107479,6 @@ public partial record WebhookPullRequestReviewCommentCreatedPullRequestMilestone } -public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewCommentCreatedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -109801,7 +107752,7 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -111505,197 +109456,6 @@ public partial record WebhookPullRequestReviewCommentDeletedPullRequestMilestone } -public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewCommentDeletedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -111969,7 +109729,7 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -113676,311 +111436,120 @@ public partial record WebhookPullRequestReviewCommentEditedPullRequestMilestoneC } -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewCommentEditedPullRequestUser +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeams +{ + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } + + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("parent")] + public WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent? Parent { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } + + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public string? Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public Uri? Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestRequestedTeamsParent +{ + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("html_url")] + public required Uri HtmlUrl { get; init; } + + /// + /// Unique identifier of the team + /// + [JsonPropertyName("id")] + public required int Id { get; init; } + + [JsonPropertyName("members_url")] + public required string MembersUrl { get; init; } + + /// + /// Name of the team + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public required string Permission { get; init; } + + [JsonPropertyName("privacy")] + public required WebhooksTeamPrivacy Privacy { get; init; } + + [JsonPropertyName("repositories_url")] + public required Uri RepositoriesUrl { get; init; } + + [JsonPropertyName("slug")] + public required string Slug { get; init; } + + /// + /// URL for the team + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestReviewCommentEditedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -114140,7 +111709,7 @@ public partial record WebhookPullRequestReviewDismissedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -115844,197 +113413,6 @@ public partial record WebhookPullRequestReviewDismissedPullRequestMilestoneCreat } -public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewDismissedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewDismissedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -116474,7 +113852,7 @@ public partial record WebhookPullRequestReviewEditedPullRequest public required Uri PatchUrl { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -118036,259 +115414,68 @@ public partial record WebhookPullRequestReviewEditedPullRequestMilestoneCreator } -public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 +/// +/// Groups of organization members that gives permissions on specified repositories. +/// +public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeams { - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - [JsonPropertyName("deleted")] public bool? Deleted { get; init; } - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } + /// + /// Description of the team + /// + [JsonPropertyName("description")] + public string? Description { get; init; } [JsonPropertyName("html_url")] public Uri? HtmlUrl { get; init; } + /// + /// Unique identifier of the team + /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("login")] - public required string Login { get; init; } + [JsonPropertyName("members_url")] + public string? MembersUrl { get; init; } + /// + /// Name of the team + /// [JsonPropertyName("name")] - public string? Name { get; init; } + public required string Name { get; init; } [JsonPropertyName("node_id")] public string? NodeId { get; init; } - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } + [JsonPropertyName("parent")] + public WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent? Parent { get; init; } - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } + /// + /// Permission that the team will have for its repositories + /// + [JsonPropertyName("permission")] + public string? Permission { get; init; } - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } + [JsonPropertyName("privacy")] + public WebhooksTeamPrivacy? Privacy { get; init; } - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } + [JsonPropertyName("repositories_url")] + public Uri? RepositoriesUrl { get; init; } - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + [JsonPropertyName("slug")] + public string? Slug { get; init; } + /// + /// URL for the team + /// [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewEditedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewEditedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewEditedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -118410,77 +115597,19 @@ public partial record WebhookPullRequestReviewEditedPullRequestUser } -public partial record WebhookPullRequestReviewRequestRemovedVariant1 -{ - [JsonPropertyName("action")] - public required WebhookPullRequestReviewRequestRemovedVariant1Action Action { get; init; } - - /// - /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - /// on an enterprise account or an organization that's part of an enterprise account. For more information, - /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - /// - [JsonPropertyName("enterprise")] - public EnterpriseWebhooks? Enterprise { get; init; } - - /// - /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - /// for and sent to a GitHub App. For more information, - /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - /// - [JsonPropertyName("installation")] - public SimpleInstallation? Installation { get; init; } - - /// - /// The pull request number. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - /// - /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - /// organization, or when the event occurs from activity in a repository owned by an organization. - /// - [JsonPropertyName("organization")] - public OrganizationSimpleWebhooks? Organization { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequest PullRequest { get; init; } - - /// - /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - /// when the event occurs from activity in a repository. - /// - [JsonPropertyName("repository")] - public required RepositoryWebhooks Repository { get; init; } - - [JsonPropertyName("requested_reviewer")] - public required WebhookPullRequestReviewRequestRemovedVariant1RequestedReviewer? RequestedReviewer { get; init; } - - /// - /// A GitHub user. - /// - [JsonPropertyName("sender")] - public required SimpleUser Sender { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest +public partial record WebhookPullRequestReviewSubmittedPullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } - [JsonPropertyName("additions")] - public int? Additions { get; init; } - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -118492,49 +115621,34 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBase Base { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } - [JsonPropertyName("changed_files")] - public int? ChangedFiles { get; init; } - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("comments")] - public int? Comments { get; init; } + public required string? ClosedAt { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } - [JsonPropertyName("commits")] - public int? Commits { get; init; } - [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("deletions")] - public int? Deletions { get; init; } + public required string CreatedAt { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } - /// - /// Indicates whether or not the pull request is a draft. - /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHead Head { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -118546,68 +115660,41 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } - /// - /// Indicates whether maintainers can modify the pull request. - /// - [JsonPropertyName("maintainer_can_modify")] - public bool? MaintainerCanModify { get; init; } - [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } - [JsonPropertyName("mergeable")] - public bool? Mergeable { get; init; } - - [JsonPropertyName("mergeable_state")] - public string? MergeableState { get; init; } - - [JsonPropertyName("merged")] - public bool? Merged { get; init; } - [JsonPropertyName("merged_at")] - public required DateTimeOffset? MergedAt { get; init; } - - [JsonPropertyName("merged_by")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestMergedBy? MergedBy { get; init; } + public required string? MergedAt { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - /// - /// Number uniquely identifying the pull request within its repository. - /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } - [JsonPropertyName("rebaseable")] - public bool? Rebaseable { get; init; } - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } - [JsonPropertyName("review_comments")] - public int? ReviewComments { get; init; } - [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -118617,117 +115704,111 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } - /// - /// State of this Pull Request. Either `open` or `closed`. - /// [JsonPropertyName("state")] public required NullableMilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } - /// - /// The title of the pull request. - /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } + public required string UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestUser? User { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinks +public partial record WebhookPullRequestReviewSubmittedPullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksComments +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksCommits +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksHtml +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksIssue +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComment +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksReviewComments +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksSelf +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLinksStatuses +public partial record WebhookPullRequestReviewSubmittedPullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignee +public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -118787,7 +115868,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -118797,7 +115878,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAssignees +public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -118857,20 +115938,17 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMerge +public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -118885,7 +115963,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -118895,7 +115973,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -118965,7 +116043,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBase +public partial record WebhookPullRequestReviewSubmittedPullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -118977,20 +116055,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepo +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -119209,7 +116287,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoLicense? License { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } @@ -119264,10 +116342,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -119294,13 +116372,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB public required int Size { get; init; } /// - /// The default value for a squash merge commit message. + /// The default value for a squash merge commit message: + /// + /// - `PR_BODY` - default to the pull request's body. + /// - `COMMIT_MESSAGES` - default to the branch's commit messages. + /// - `BLANK` - default to a blank commit message. /// [JsonPropertyName("squash_merge_commit_message")] public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } /// - /// The default value for a squash merge commit title. + /// The default value for a squash merge commit title: + /// + /// - `PR_TITLE` - default to the pull request's title. + /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). /// [JsonPropertyName("squash_merge_commit_title")] public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } @@ -119370,7 +116455,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoLicense +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -119389,7 +116474,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoOwner +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119459,7 +116544,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseRepoPermissions +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -119478,7 +116563,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestBaseUser +public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -119548,10 +116633,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHead +public partial record WebhookPullRequestReviewSubmittedPullRequestHead { [JsonPropertyName("label")] - public required string Label { get; init; } + public required string? Label { get; init; } [JsonPropertyName("ref")] public required string Ref { get; init; } @@ -119560,20 +116645,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepo Repo { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepo? Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadUser? User { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHeadUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepo +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo { /// /// Whether to allow auto-merge for pull requests. @@ -119792,7 +116877,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoLicense? License { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } @@ -119847,10 +116932,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -119960,7 +117045,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoLicense +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -119979,7 +117064,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoOwner +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120049,7 +117134,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadRepoPermissions +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -120068,7 +117153,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestHeadUser +public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120138,7 +117223,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestLabels +public partial record WebhookPullRequestReviewSubmittedPullRequestLabels { /// /// 6-character hex code, without the leading #, identifying the color @@ -120172,80 +117257,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestL } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - /// /// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestone +public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone { [JsonPropertyName("closed_at")] public required DateTimeOffset? ClosedAt { get; init; } @@ -120257,7 +117272,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestM public required DateTimeOffset CreatedAt { get; init; } [JsonPropertyName("creator")] - public required WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestoneCreator? Creator { get; init; } + public required WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator? Creator { get; init; } [JsonPropertyName("description")] public required string? Description { get; init; } @@ -120306,77 +117321,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestM } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 +public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120436,7 +117381,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -120449,128 +117394,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeams +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -120579,10 +117403,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR /// Description of the team /// [JsonPropertyName("description")] - public required string? Description { get; init; } + public string? Description { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -120591,7 +117415,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR public required int Id { get; init; } [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + public string? MembersUrl { get; init; } /// /// Name of the team @@ -120600,35 +117424,35 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR public required string Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public required string Permission { get; init; } + public string? Permission { get; init; } [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + public WebhooksTeamPrivacy? Privacy { get; init; } [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + public Uri? RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public required string Slug { get; init; } + public string? Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -120680,7 +117504,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestR } -public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestUser +public partial record WebhookPullRequestReviewSubmittedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -120740,77 +117564,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1PullRequestU public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant1RequestedReviewer -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -120820,80 +117574,19 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant1RequestedRev } -public partial record WebhookPullRequestReviewRequestRemovedVariant2 -{ - [JsonPropertyName("action")] - public required WebhookPullRequestReviewRequestRemovedVariant1Action Action { get; init; } - - /// - /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - /// on an enterprise account or an organization that's part of an enterprise account. For more information, - /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - /// - [JsonPropertyName("enterprise")] - public EnterpriseWebhooks? Enterprise { get; init; } - - /// - /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - /// for and sent to a GitHub App. For more information, - /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - /// - [JsonPropertyName("installation")] - public SimpleInstallation? Installation { get; init; } - - /// - /// The pull request number. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - /// - /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - /// organization, or when the event occurs from activity in a repository owned by an organization. - /// - [JsonPropertyName("organization")] - public OrganizationSimpleWebhooks? Organization { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequest PullRequest { get; init; } - - /// - /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - /// when the event occurs from activity in a repository. - /// - [JsonPropertyName("repository")] - public required RepositoryWebhooks Repository { get; init; } - - /// - /// Groups of organization members that gives permissions on specified repositories. - /// - [JsonPropertyName("requested_team")] - public required WebhookPullRequestReviewRequestRemovedVariant2RequestedTeam RequestedTeam { get; init; } - - /// - /// A GitHub user. - /// - [JsonPropertyName("sender")] - public required SimpleUser Sender { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest +public partial record WebhookPullRequestReviewThreadResolvedPullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } - [JsonPropertyName("additions")] - public int? Additions { get; init; } - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -120905,49 +117598,34 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBase Base { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } - [JsonPropertyName("changed_files")] - public int? ChangedFiles { get; init; } - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("comments")] - public int? Comments { get; init; } + public required string? ClosedAt { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } - [JsonPropertyName("commits")] - public int? Commits { get; init; } - [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("deletions")] - public int? Deletions { get; init; } + public required string CreatedAt { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } - /// - /// Indicates whether or not the pull request is a draft. - /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHead Head { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -120959,68 +117637,41 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } - /// - /// Indicates whether maintainers can modify the pull request. - /// - [JsonPropertyName("maintainer_can_modify")] - public bool? MaintainerCanModify { get; init; } - [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } - [JsonPropertyName("mergeable")] - public bool? Mergeable { get; init; } - - [JsonPropertyName("mergeable_state")] - public string? MergeableState { get; init; } - - [JsonPropertyName("merged")] - public bool? Merged { get; init; } - [JsonPropertyName("merged_at")] - public required DateTimeOffset? MergedAt { get; init; } - - [JsonPropertyName("merged_by")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestMergedBy? MergedBy { get; init; } + public required string? MergedAt { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - /// - /// Number uniquely identifying the pull request within its repository. - /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } - [JsonPropertyName("rebaseable")] - public bool? Rebaseable { get; init; } - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } - [JsonPropertyName("review_comments")] - public int? ReviewComments { get; init; } - [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -121030,117 +117681,111 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } - /// - /// State of this Pull Request. Either `open` or `closed`. - /// [JsonPropertyName("state")] public required NullableMilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } - /// - /// The title of the pull request. - /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } + public required string UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestUser? User { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinks +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksComments +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksCommits +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksHtml +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksIssue +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComment +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksReviewComments +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksSelf +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLinksStatuses +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignee +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -121210,7 +117855,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAssignees +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -121275,15 +117920,12 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMerge +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -121298,7 +117940,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA public required string? CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -121308,7 +117950,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -121378,7 +118020,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestA } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBase +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -121390,20 +118032,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepo +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -121622,30 +118264,11 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoLicense? License { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - [JsonPropertyName("merges_url")] public required Uri MergesUrl { get; init; } @@ -121677,10 +118300,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -121706,25 +118329,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB [JsonPropertyName("size")] public required int Size { get; init; } - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - [JsonPropertyName("ssh_url")] public required string SshUrl { get; init; } @@ -121767,12 +118371,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB [JsonPropertyName("url")] public required Uri Url { get; init; } - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - [JsonPropertyName("visibility")] public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } @@ -121790,7 +118388,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoLicense +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -121809,7 +118407,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoOwner +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -121879,7 +118477,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseRepoPermissions +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -121898,7 +118496,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestBaseUser +public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -121968,10 +118566,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestB } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHead +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead { [JsonPropertyName("label")] - public required string Label { get; init; } + public required string? Label { get; init; } [JsonPropertyName("ref")] public required string Ref { get; init; } @@ -121980,20 +118578,20 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepo Repo { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo? Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadUser? User { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepo +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo { /// /// Whether to allow auto-merge for pull requests. @@ -122212,30 +118810,11 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH public required Uri LanguagesUrl { get; init; } [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoLicense? License { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense? License { get; init; } [JsonPropertyName("master_branch")] public string? MasterBranch { get; init; } - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - [JsonPropertyName("merges_url")] public required Uri MergesUrl { get; init; } @@ -122267,10 +118846,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH public string? Organization { get; init; } [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoOwner? Owner { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner? Owner { get; init; } [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoPermissions? Permissions { get; init; } + public WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions? Permissions { get; init; } /// /// Whether the repository is private or public. @@ -122296,25 +118875,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH [JsonPropertyName("size")] public required int Size { get; init; } - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - [JsonPropertyName("ssh_url")] public required string SshUrl { get; init; } @@ -122357,12 +118917,6 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH [JsonPropertyName("url")] public required Uri Url { get; init; } - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - [JsonPropertyName("visibility")] public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } @@ -122380,7 +118934,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoLicense +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense { [JsonPropertyName("key")] public required string Key { get; init; } @@ -122399,7 +118953,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoOwner +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -122469,7 +119023,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadRepoPermissions +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions { [JsonPropertyName("admin")] public required bool Admin { get; init; } @@ -122488,7 +119042,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestHeadUser +public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -122558,7 +119112,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestH } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestLabels +public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels { /// /// 6-character hex code, without the leading #, identifying the color @@ -122592,80 +119146,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestL } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - /// /// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestone +public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone { [JsonPropertyName("closed_at")] public required DateTimeOffset? ClosedAt { get; init; } @@ -122677,7 +119161,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestM public required DateTimeOffset CreatedAt { get; init; } [JsonPropertyName("creator")] - public required WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestoneCreator? Creator { get; init; } + public required WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator? Creator { get; init; } [JsonPropertyName("description")] public required string? Description { get; init; } @@ -122726,77 +119210,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestM } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 +public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -122869,128 +119283,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR /// /// Groups of organization members that gives permissions on specified repositories. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeams +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeams { [JsonPropertyName("deleted")] public bool? Deleted { get; init; } @@ -122999,10 +119292,10 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR /// Description of the team /// [JsonPropertyName("description")] - public required string? Description { get; init; } + public string? Description { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } /// /// Unique identifier of the team @@ -123011,7 +119304,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR public required int Id { get; init; } [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + public string? MembersUrl { get; init; } /// /// Name of the team @@ -123020,35 +119313,35 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR public required string Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeamsParent? Parent { get; init; } + public WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent? Parent { get; init; } /// /// Permission that the team will have for its repositories /// [JsonPropertyName("permission")] - public required string Permission { get; init; } + public string? Permission { get; init; } [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + public WebhooksTeamPrivacy? Privacy { get; init; } [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + public Uri? RepositoriesUrl { get; init; } [JsonPropertyName("slug")] - public required string Slug { get; init; } + public string? Slug { get; init; } /// /// URL for the team /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestRequestedTeamsParent +public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent { /// /// Description of the team @@ -123100,7 +119393,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestR } -public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestUser +public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -123160,7 +119453,7 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestU public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } + public WebhooksUserMannequinType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -123170,190 +119463,321 @@ public partial record WebhookPullRequestReviewRequestRemovedVariant2PullRequestU } +public partial record WebhookPullRequestReviewThreadResolvedThread +{ + [JsonPropertyName("comments")] + public required IReadOnlyList Comments { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + +} + /// -/// Groups of organization members that gives permissions on specified repositories. +/// The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. /// -public partial record WebhookPullRequestReviewRequestRemovedVariant2RequestedTeam +public partial record WebhookPullRequestReviewThreadResolvedThreadComments { - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } + [JsonPropertyName("_links")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinks Links { get; init; } /// - /// Description of the team + /// How the author is associated with the repository. /// - [JsonPropertyName("description")] - public required string? Description { get; init; } + [JsonPropertyName("author_association")] + public required AuthorAssociation2 AuthorAssociation { get; init; } + /// + /// The text of the comment. + /// + [JsonPropertyName("body")] + public required string Body { get; init; } + + /// + /// The SHA of the commit to which the comment applies. + /// + [JsonPropertyName("commit_id")] + public required string CommitId { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + /// + /// The diff of the line that the comment refers to. + /// + [JsonPropertyName("diff_hunk")] + public required string DiffHunk { get; init; } + + /// + /// HTML URL for the pull request review comment. + /// [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } /// - /// Unique identifier of the team + /// The ID of the pull request review comment. /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + /// + /// The comment ID to reply to. + /// + [JsonPropertyName("in_reply_to_id")] + public int? InReplyToId { get; init; } /// - /// Name of the team + /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment /// - [JsonPropertyName("name")] - public required string Name { get; init; } + [JsonPropertyName("line")] + public required int? Line { get; init; } + /// + /// The node ID of the pull request review comment. + /// [JsonPropertyName("node_id")] public required string NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestRemovedVariant2RequestedTeamParent? Parent { get; init; } + /// + /// The SHA of the original commit to which the comment applies. + /// + [JsonPropertyName("original_commit_id")] + public required string OriginalCommitId { get; init; } /// - /// Permission that the team will have for its repositories + /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } + [JsonPropertyName("original_line")] + public required int? OriginalLine { get; init; } - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + /// + /// The index of the original line in the diff to which the comment applies. + /// + [JsonPropertyName("original_position")] + public required int OriginalPosition { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + /// + /// The first line of the range for a multi-line comment. + /// + [JsonPropertyName("original_start_line")] + public required int? OriginalStartLine { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + /// + /// The relative path of the file to which the comment applies. + /// + [JsonPropertyName("path")] + public required string Path { get; init; } /// - /// URL for the team + /// The line index in the diff to which the comment applies. /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } + [JsonPropertyName("position")] + public required int? Position { get; init; } -} + /// + /// The ID of the pull request review to which the comment belongs. + /// + [JsonPropertyName("pull_request_review_id")] + public required int? PullRequestReviewId { get; init; } -public partial record WebhookPullRequestReviewRequestRemovedVariant2RequestedTeamParent -{ /// - /// Description of the team + /// URL for the pull request that the review comment belongs to. /// - [JsonPropertyName("description")] - public required string? Description { get; init; } + [JsonPropertyName("pull_request_url")] + public required Uri PullRequestUrl { get; init; } - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + [JsonPropertyName("reactions")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsReactions Reactions { get; init; } /// - /// Unique identifier of the team + /// The side of the first line of the range for a multi-line comment. /// - [JsonPropertyName("id")] - public required int Id { get; init; } + [JsonPropertyName("side")] + public required Side Side { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + /// + /// The first line of the range for a multi-line comment. + /// + [JsonPropertyName("start_line")] + public required int? StartLine { get; init; } /// - /// Name of the team + /// The side of the first line of the range for a multi-line comment. /// - [JsonPropertyName("name")] - public required string Name { get; init; } + [JsonPropertyName("start_side")] + public required StartSide StartSide { get; init; } = Generated.GithubApi.StartSide.Right; - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + /// + /// The level at which the comment is targeted, can be a diff line or a file. + /// + [JsonPropertyName("subject_type")] + public SubjectType? SubjectType { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } /// - /// Permission that the team will have for its repositories + /// URL for the pull request review comment /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } + [JsonPropertyName("url")] + public required Uri Url { get; init; } - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("user")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsUser? User { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } +} - [JsonPropertyName("slug")] - public required string Slug { get; init; } +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinks +{ + [JsonPropertyName("html")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml Html { get; init; } + + [JsonPropertyName("pull_request")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest PullRequest { get; init; } + + [JsonPropertyName("self")] + public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf Self { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf +{ + [JsonPropertyName("href")] + public required string Href { get; init; } + +} + +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsReactions +{ + [JsonPropertyName("+1")] + public required int Plus1 { get; init; } + + [JsonPropertyName("-1")] + public required int Minus1 { get; init; } + + [JsonPropertyName("confused")] + public required int Confused { get; init; } + + [JsonPropertyName("eyes")] + public required int Eyes { get; init; } + + [JsonPropertyName("heart")] + public required int Heart { get; init; } + + [JsonPropertyName("hooray")] + public required int Hooray { get; init; } + + [JsonPropertyName("laugh")] + public required int Laugh { get; init; } + + [JsonPropertyName("rocket")] + public required int Rocket { get; init; } + + [JsonPropertyName("total_count")] + public required int TotalCount { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1 +public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsUser { - [JsonPropertyName("action")] - public required WebhookPullRequestReviewRequestedVariant1Action Action { get; init; } + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } - /// - /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - /// on an enterprise account or an organization that's part of an enterprise account. For more information, - /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - /// - [JsonPropertyName("enterprise")] - public EnterpriseWebhooks? Enterprise { get; init; } + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } - /// - /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - /// for and sent to a GitHub App. For more information, - /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - /// - [JsonPropertyName("installation")] - public SimpleInstallation? Installation { get; init; } + [JsonPropertyName("email")] + public string? Email { get; init; } - /// - /// The pull request number. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } - /// - /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - /// organization, or when the event occurs from activity in a repository owned by an organization. - /// - [JsonPropertyName("organization")] - public OrganizationSimpleWebhooks? Organization { get; init; } + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewRequestedVariant1PullRequest PullRequest { get; init; } + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } - /// - /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - /// when the event occurs from activity in a repository. - /// - [JsonPropertyName("repository")] - public required RepositoryWebhooks Repository { get; init; } + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } - [JsonPropertyName("requested_reviewer")] - public required WebhookPullRequestReviewRequestedVariant1RequestedReviewer? RequestedReviewer { get; init; } + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } - /// - /// A GitHub user. - /// - [JsonPropertyName("sender")] - public required SimpleUser Sender { get; init; } + [JsonPropertyName("html_url")] + public Uri? HtmlUrl { get; init; } + + [JsonPropertyName("id")] + public required long Id { get; init; } + + [JsonPropertyName("login")] + public required string Login { get; init; } + + [JsonPropertyName("name")] + public string? Name { get; init; } + + [JsonPropertyName("node_id")] + public string? NodeId { get; init; } + + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } + + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } + + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } + + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } + + [JsonPropertyName("url")] + public Uri? Url { get; init; } + + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequest +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest { [JsonPropertyName("_links")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinks Links { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinks Links { get; init; } [JsonPropertyName("active_lock_reason")] public required ActiveLockReason ActiveLockReason { get; init; } - [JsonPropertyName("additions")] - public int? Additions { get; init; } - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestAssignee? Assignee { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee? Assignee { get; init; } [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } + public required IReadOnlyList Assignees { get; init; } /// /// How the author is associated with the repository. @@ -123365,49 +119789,34 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequest /// The status of auto merging a pull request. /// [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestAutoMerge? AutoMerge { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge? AutoMerge { get; init; } [JsonPropertyName("base")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBase Base { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBase Base { get; init; } [JsonPropertyName("body")] public required string? Body { get; init; } - [JsonPropertyName("changed_files")] - public int? ChangedFiles { get; init; } - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("comments")] - public int? Comments { get; init; } + public required string? ClosedAt { get; init; } [JsonPropertyName("comments_url")] public required Uri CommentsUrl { get; init; } - [JsonPropertyName("commits")] - public int? Commits { get; init; } - [JsonPropertyName("commits_url")] public required Uri CommitsUrl { get; init; } [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("deletions")] - public int? Deletions { get; init; } + public required string CreatedAt { get; init; } [JsonPropertyName("diff_url")] public required Uri DiffUrl { get; init; } - /// - /// Indicates whether or not the pull request is a draft. - /// [JsonPropertyName("draft")] public required bool Draft { get; init; } [JsonPropertyName("head")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHead Head { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestHead Head { get; init; } [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } @@ -123419,68 +119828,41 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequest public required Uri IssueUrl { get; init; } [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } + public required IReadOnlyList Labels { get; init; } [JsonPropertyName("locked")] public required bool Locked { get; init; } - /// - /// Indicates whether maintainers can modify the pull request. - /// - [JsonPropertyName("maintainer_can_modify")] - public bool? MaintainerCanModify { get; init; } - [JsonPropertyName("merge_commit_sha")] public required string? MergeCommitSha { get; init; } - [JsonPropertyName("mergeable")] - public bool? Mergeable { get; init; } - - [JsonPropertyName("mergeable_state")] - public string? MergeableState { get; init; } - - [JsonPropertyName("merged")] - public bool? Merged { get; init; } - [JsonPropertyName("merged_at")] - public required DateTimeOffset? MergedAt { get; init; } - - [JsonPropertyName("merged_by")] - public WebhookPullRequestReviewRequestedVariant1PullRequestMergedBy? MergedBy { get; init; } + public required string? MergedAt { get; init; } /// /// A collection of related issues and pull requests. /// [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestMilestone? Milestone { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestMilestone? Milestone { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - /// - /// Number uniquely identifying the pull request within its repository. - /// [JsonPropertyName("number")] public required int Number { get; init; } [JsonPropertyName("patch_url")] public required Uri PatchUrl { get; init; } - [JsonPropertyName("rebaseable")] - public bool? Rebaseable { get; init; } - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } + public required IReadOnlyList RequestedTeams { get; init; } [JsonPropertyName("review_comment_url")] public required string ReviewCommentUrl { get; init; } - [JsonPropertyName("review_comments")] - public int? ReviewComments { get; init; } - [JsonPropertyName("review_comments_url")] public required Uri ReviewCommentsUrl { get; init; } @@ -123490,117 +119872,111 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequest [JsonPropertyName("stack")] public PullRequestStack? Stack { get; init; } - /// - /// State of this Pull Request. Either `open` or `closed`. - /// [JsonPropertyName("state")] public required NullableMilestoneState State { get; init; } [JsonPropertyName("statuses_url")] public required Uri StatusesUrl { get; init; } - /// - /// The title of the pull request. - /// [JsonPropertyName("title")] public required string Title { get; init; } [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } + public required string UpdatedAt { get; init; } [JsonPropertyName("url")] public required Uri Url { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestUser? User { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestUser? User { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinks +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinks { [JsonPropertyName("comments")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksComments Comments { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments Comments { get; init; } [JsonPropertyName("commits")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksCommits Commits { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits Commits { get; init; } [JsonPropertyName("html")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksHtml Html { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml Html { get; init; } [JsonPropertyName("issue")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksIssue Issue { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue Issue { get; init; } [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComment ReviewComment { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment ReviewComment { get; init; } [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComments ReviewComments { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments ReviewComments { get; init; } [JsonPropertyName("self")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksSelf Self { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf Self { get; init; } [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestLinksStatuses Statuses { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses Statuses { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksComments +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksCommits +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksHtml +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksIssue +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComment +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksReviewComments +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksSelf +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLinksStatuses +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses { [JsonPropertyName("href")] public required string Href { get; init; } } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssignee +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -123660,7 +120036,7 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssign public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -123670,7 +120046,7 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssign } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssignees +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignees { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -123730,20 +120106,17 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAssign public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - } /// /// The status of auto merging a pull request. /// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMerge +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge { /// /// Commit message for the merge commit. @@ -123755,10 +120128,10 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMe /// Title for the merge commit message. /// [JsonPropertyName("commit_title")] - public required string? CommitTitle { get; init; } + public required string CommitTitle { get; init; } [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } /// /// The merge method to use. @@ -123768,7 +120141,7 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMe } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMergeEnabledBy +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -123838,7 +120211,7 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestAutoMe } -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBase +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase { [JsonPropertyName("label")] public required string Label { get; init; } @@ -123850,9341 +120223,20 @@ public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBase /// A git repository /// [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepo Repo { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo Repo { get; init; } [JsonPropertyName("sha")] public required string Sha { get; init; } [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseUser? User { get; init; } + public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseUser? User { get; init; } } /// /// A git repository /// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestBaseUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHead -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestHeadUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestReviewRequestedVariant1PullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1PullRequestUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant1RequestedReviewer -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2 -{ - [JsonPropertyName("action")] - public required WebhookPullRequestReviewRequestedVariant1Action Action { get; init; } - - /// - /// An enterprise on GitHub. Webhook payloads contain the `enterprise` property when the webhook is configured - /// on an enterprise account or an organization that's part of an enterprise account. For more information, - /// see "[About enterprise accounts](https://docs.github.com/admin/overview/about-enterprise-accounts)." - /// - [JsonPropertyName("enterprise")] - public EnterpriseWebhooks? Enterprise { get; init; } - - /// - /// The GitHub App installation. Webhook payloads contain the `installation` property when the event is configured - /// for and sent to a GitHub App. For more information, - /// see "[Using webhooks with GitHub Apps](https://docs.github.com/apps/creating-github-apps/registering-a-github-app/using-webhooks-with-github-apps)." - /// - [JsonPropertyName("installation")] - public SimpleInstallation? Installation { get; init; } - - /// - /// The pull request number. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - /// - /// A GitHub organization. Webhook payloads contain the `organization` property when the webhook is configured for an - /// organization, or when the event occurs from activity in a repository owned by an organization. - /// - [JsonPropertyName("organization")] - public OrganizationSimpleWebhooks? Organization { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewRequestedVariant2PullRequest PullRequest { get; init; } - - /// - /// The repository on GitHub where the event occurred. Webhook payloads contain the `repository` property - /// when the event occurs from activity in a repository. - /// - [JsonPropertyName("repository")] - public required RepositoryWebhooks Repository { get; init; } - - /// - /// Groups of organization members that gives permissions on specified repositories. - /// - [JsonPropertyName("requested_team")] - public required WebhookPullRequestReviewRequestedVariant2RequestedTeam RequestedTeam { get; init; } - - /// - /// A GitHub user. - /// - [JsonPropertyName("sender")] - public required SimpleUser Sender { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequest -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinks Links { get; init; } - - [JsonPropertyName("active_lock_reason")] - public required ActiveLockReason ActiveLockReason { get; init; } - - [JsonPropertyName("additions")] - public int? Additions { get; init; } - - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestAssignee? Assignee { get; init; } - - [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The status of auto merging a pull request. - /// - [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestAutoMerge? AutoMerge { get; init; } - - [JsonPropertyName("base")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBase Base { get; init; } - - [JsonPropertyName("body")] - public required string? Body { get; init; } - - [JsonPropertyName("changed_files")] - public int? ChangedFiles { get; init; } - - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("comments")] - public int? Comments { get; init; } - - [JsonPropertyName("comments_url")] - public required Uri CommentsUrl { get; init; } - - [JsonPropertyName("commits")] - public int? Commits { get; init; } - - [JsonPropertyName("commits_url")] - public required Uri CommitsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("deletions")] - public int? Deletions { get; init; } - - [JsonPropertyName("diff_url")] - public required Uri DiffUrl { get; init; } - - /// - /// Indicates whether or not the pull request is a draft. - /// - [JsonPropertyName("draft")] - public required bool Draft { get; init; } - - [JsonPropertyName("head")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHead Head { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("issue_url")] - public required Uri IssueUrl { get; init; } - - [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } - - [JsonPropertyName("locked")] - public required bool Locked { get; init; } - - /// - /// Indicates whether maintainers can modify the pull request. - /// - [JsonPropertyName("maintainer_can_modify")] - public bool? MaintainerCanModify { get; init; } - - [JsonPropertyName("merge_commit_sha")] - public required string? MergeCommitSha { get; init; } - - [JsonPropertyName("mergeable")] - public bool? Mergeable { get; init; } - - [JsonPropertyName("mergeable_state")] - public string? MergeableState { get; init; } - - [JsonPropertyName("merged")] - public bool? Merged { get; init; } - - [JsonPropertyName("merged_at")] - public required DateTimeOffset? MergedAt { get; init; } - - [JsonPropertyName("merged_by")] - public WebhookPullRequestReviewRequestedVariant2PullRequestMergedBy? MergedBy { get; init; } - - /// - /// A collection of related issues and pull requests. - /// - [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestMilestone? Milestone { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Number uniquely identifying the pull request within its repository. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("patch_url")] - public required Uri PatchUrl { get; init; } - - [JsonPropertyName("rebaseable")] - public bool? Rebaseable { get; init; } - - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } - - [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } - - [JsonPropertyName("review_comment_url")] - public required string ReviewCommentUrl { get; init; } - - [JsonPropertyName("review_comments")] - public int? ReviewComments { get; init; } - - [JsonPropertyName("review_comments_url")] - public required Uri ReviewCommentsUrl { get; init; } - - /// - /// The stack information associated with a pull request. - /// - [JsonPropertyName("stack")] - public PullRequestStack? Stack { get; init; } - - /// - /// State of this Pull Request. Either `open` or `closed`. - /// - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - [JsonPropertyName("statuses_url")] - public required Uri StatusesUrl { get; init; } - - /// - /// The title of the pull request. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinks -{ - [JsonPropertyName("comments")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksComments Comments { get; init; } - - [JsonPropertyName("commits")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksCommits Commits { get; init; } - - [JsonPropertyName("html")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksHtml Html { get; init; } - - [JsonPropertyName("issue")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksIssue Issue { get; init; } - - [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComment ReviewComment { get; init; } - - [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComments ReviewComments { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksSelf Self { get; init; } - - [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestLinksStatuses Statuses { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksCommits -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksIssue -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComment -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksReviewComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLinksStatuses -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAssignee -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAssignees -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// The status of auto merging a pull request. -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAutoMerge -{ - /// - /// Commit message for the merge commit. - /// - [JsonPropertyName("commit_message")] - public required string? CommitMessage { get; init; } - - /// - /// Title for the merge commit message. - /// - [JsonPropertyName("commit_title")] - public required string? CommitTitle { get; init; } - - [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestAutoMergeEnabledBy? EnabledBy { get; init; } - - /// - /// The merge method to use. - /// - [JsonPropertyName("merge_method")] - public required AutoMergeMergeMethod MergeMethod { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestAutoMergeEnabledBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBase -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestBaseUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHead -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestHeadUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestReviewRequestedVariant2PullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2PullRequestUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewRequestedVariant2RequestedTeam -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewRequestedVariant2RequestedTeamParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewRequestedVariant2RequestedTeamParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequest -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewSubmittedPullRequestLinks Links { get; init; } - - [JsonPropertyName("active_lock_reason")] - public required ActiveLockReason ActiveLockReason { get; init; } - - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewSubmittedPullRequestAssignee? Assignee { get; init; } - - [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The status of auto merging a pull request. - /// - [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewSubmittedPullRequestAutoMerge? AutoMerge { get; init; } - - [JsonPropertyName("base")] - public required WebhookPullRequestReviewSubmittedPullRequestBase Base { get; init; } - - [JsonPropertyName("body")] - public required string? Body { get; init; } - - [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } - - [JsonPropertyName("comments_url")] - public required Uri CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required Uri CommitsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } - - [JsonPropertyName("diff_url")] - public required Uri DiffUrl { get; init; } - - [JsonPropertyName("draft")] - public required bool Draft { get; init; } - - [JsonPropertyName("head")] - public required WebhookPullRequestReviewSubmittedPullRequestHead Head { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("issue_url")] - public required Uri IssueUrl { get; init; } - - [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } - - [JsonPropertyName("locked")] - public required bool Locked { get; init; } - - [JsonPropertyName("merge_commit_sha")] - public required string? MergeCommitSha { get; init; } - - [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } - - /// - /// A collection of related issues and pull requests. - /// - [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewSubmittedPullRequestMilestone? Milestone { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("patch_url")] - public required Uri PatchUrl { get; init; } - - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } - - [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } - - [JsonPropertyName("review_comment_url")] - public required string ReviewCommentUrl { get; init; } - - [JsonPropertyName("review_comments_url")] - public required Uri ReviewCommentsUrl { get; init; } - - /// - /// The stack information associated with a pull request. - /// - [JsonPropertyName("stack")] - public PullRequestStack? Stack { get; init; } - - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - [JsonPropertyName("statuses_url")] - public required Uri StatusesUrl { get; init; } - - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinks -{ - [JsonPropertyName("comments")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksComments Comments { get; init; } - - [JsonPropertyName("commits")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksCommits Commits { get; init; } - - [JsonPropertyName("html")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksHtml Html { get; init; } - - [JsonPropertyName("issue")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksIssue Issue { get; init; } - - [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment ReviewComment { get; init; } - - [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments ReviewComments { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksSelf Self { get; init; } - - [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewSubmittedPullRequestLinksStatuses Statuses { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksCommits -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksIssue -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComment -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksReviewComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLinksStatuses -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestAssignee -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestAssignees -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -/// -/// The status of auto merging a pull request. -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMerge -{ - /// - /// Commit message for the merge commit. - /// - [JsonPropertyName("commit_message")] - public required string? CommitMessage { get; init; } - - /// - /// Title for the merge commit message. - /// - [JsonPropertyName("commit_title")] - public required string? CommitTitle { get; init; } - - [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } - - /// - /// The merge method to use. - /// - [JsonPropertyName("merge_method")] - public required AutoMergeMergeMethod MergeMethod { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestAutoMergeEnabledBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBase -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestBaseUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHead -{ - [JsonPropertyName("label")] - public required string? Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepo? Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - /// - /// The default value for a merge commit message. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `PR_BODY` - default to the pull request's body. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("merge_commit_message")] - public MergeCommitMessage? MergeCommitMessage { get; init; } - - /// - /// The default value for a merge commit title. - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `MERGE_MESSAGE` - default to the classic title for a merge message (e.g., Merge pull request #123 from branch-name). - /// - [JsonPropertyName("merge_commit_title")] - public MergeCommitTitle? MergeCommitTitle { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - /// - /// The default value for a squash merge commit message: - /// - /// - `PR_BODY` - default to the pull request's body. - /// - `COMMIT_MESSAGES` - default to the branch's commit messages. - /// - `BLANK` - default to a blank commit message. - /// - [JsonPropertyName("squash_merge_commit_message")] - public SquashMergeCommitMessage? SquashMergeCommitMessage { get; init; } - - /// - /// The default value for a squash merge commit title: - /// - /// - `PR_TITLE` - default to the pull request's title. - /// - `COMMIT_OR_PR_TITLE` - default to the commit's title (if only one commit) or the pull request's title (when more than one commit). - /// - [JsonPropertyName("squash_merge_commit_title")] - public SquashMergeCommitTitle? SquashMergeCommitTitle { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - /// - /// Whether a squash merge commit can use the pull request title as default. **This property is closing down. Please use `squash_merge_commit_title` instead. - /// - [JsonPropertyName("use_squash_pr_title_as_default")] - public bool UseSquashPrTitleAsDefault { get; init; } = false; - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestHeadUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewSubmittedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewSubmittedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewSubmittedPullRequestUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequest -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinks Links { get; init; } - - [JsonPropertyName("active_lock_reason")] - public required ActiveLockReason ActiveLockReason { get; init; } - - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAssignee? Assignee { get; init; } - - [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The status of auto merging a pull request. - /// - [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge? AutoMerge { get; init; } - - [JsonPropertyName("base")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBase Base { get; init; } - - [JsonPropertyName("body")] - public required string? Body { get; init; } - - [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } - - [JsonPropertyName("comments_url")] - public required Uri CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required Uri CommitsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } - - [JsonPropertyName("diff_url")] - public required Uri DiffUrl { get; init; } - - [JsonPropertyName("draft")] - public required bool Draft { get; init; } - - [JsonPropertyName("head")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHead Head { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("issue_url")] - public required Uri IssueUrl { get; init; } - - [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } - - [JsonPropertyName("locked")] - public required bool Locked { get; init; } - - [JsonPropertyName("merge_commit_sha")] - public required string? MergeCommitSha { get; init; } - - [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } - - /// - /// A collection of related issues and pull requests. - /// - [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewThreadResolvedPullRequestMilestone? Milestone { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("patch_url")] - public required Uri PatchUrl { get; init; } - - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } - - [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } - - [JsonPropertyName("review_comment_url")] - public required string ReviewCommentUrl { get; init; } - - [JsonPropertyName("review_comments_url")] - public required Uri ReviewCommentsUrl { get; init; } - - /// - /// The stack information associated with a pull request. - /// - [JsonPropertyName("stack")] - public PullRequestStack? Stack { get; init; } - - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - [JsonPropertyName("statuses_url")] - public required Uri StatusesUrl { get; init; } - - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinks -{ - [JsonPropertyName("comments")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksComments Comments { get; init; } - - [JsonPropertyName("commits")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits Commits { get; init; } - - [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml Html { get; init; } - - [JsonPropertyName("issue")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue Issue { get; init; } - - [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment ReviewComment { get; init; } - - [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments ReviewComments { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf Self { get; init; } - - [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses Statuses { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksCommits -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksIssue -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComment -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksReviewComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLinksStatuses -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignee -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAssignees -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -/// -/// The status of auto merging a pull request. -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMerge -{ - /// - /// Commit message for the merge commit. - /// - [JsonPropertyName("commit_message")] - public required string? CommitMessage { get; init; } - - /// - /// Title for the merge commit message. - /// - [JsonPropertyName("commit_title")] - public required string? CommitTitle { get; init; } - - [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } - - /// - /// The merge method to use. - /// - [JsonPropertyName("merge_method")] - public required AutoMergeMergeMethod MergeMethod { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestAutoMergeEnabledBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBase -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestBaseUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHead -{ - [JsonPropertyName("label")] - public required string? Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo? Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepo -{ - /// - /// Whether to allow auto-merge for pull requests. - /// - [JsonPropertyName("allow_auto_merge")] - public bool AllowAutoMerge { get; init; } = false; - - /// - /// Whether to allow private forks - /// - [JsonPropertyName("allow_forking")] - public bool? AllowForking { get; init; } - - /// - /// Whether to allow merge commits for pull requests. - /// - [JsonPropertyName("allow_merge_commit")] - public bool AllowMergeCommit { get; init; } = true; - - /// - /// Whether to allow rebase merges for pull requests. - /// - [JsonPropertyName("allow_rebase_merge")] - public bool AllowRebaseMerge { get; init; } = true; - - /// - /// Whether to allow squash merges for pull requests. - /// - [JsonPropertyName("allow_squash_merge")] - public bool AllowSquashMerge { get; init; } = true; - - [JsonPropertyName("allow_update_branch")] - public bool? AllowUpdateBranch { get; init; } - - [JsonPropertyName("archive_url")] - public required string ArchiveUrl { get; init; } - - /// - /// Whether the repository is archived. - /// - [JsonPropertyName("archived")] - public required bool Archived { get; init; } = false; - - [JsonPropertyName("assignees_url")] - public required string AssigneesUrl { get; init; } - - [JsonPropertyName("blobs_url")] - public required string BlobsUrl { get; init; } - - [JsonPropertyName("branches_url")] - public required string BranchesUrl { get; init; } - - [JsonPropertyName("clone_url")] - public required Uri CloneUrl { get; init; } - - [JsonPropertyName("collaborators_url")] - public required string CollaboratorsUrl { get; init; } - - [JsonPropertyName("comments_url")] - public required string CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required string CommitsUrl { get; init; } - - [JsonPropertyName("compare_url")] - public required string CompareUrl { get; init; } - - [JsonPropertyName("contents_url")] - public required string ContentsUrl { get; init; } - - [JsonPropertyName("contributors_url")] - public required Uri ContributorsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required object CreatedAt { get; init; } - - /// - /// The default branch of the repository. - /// - [JsonPropertyName("default_branch")] - public required string DefaultBranch { get; init; } - - /// - /// Whether to delete head branches when pull requests are merged - /// - [JsonPropertyName("delete_branch_on_merge")] - public bool DeleteBranchOnMerge { get; init; } = false; - - [JsonPropertyName("deployments_url")] - public required Uri DeploymentsUrl { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - /// - /// Returns whether or not this repository is disabled. - /// - [JsonPropertyName("disabled")] - public bool? Disabled { get; init; } - - [JsonPropertyName("downloads_url")] - public required Uri DownloadsUrl { get; init; } - - [JsonPropertyName("events_url")] - public required Uri EventsUrl { get; init; } - - [JsonPropertyName("fork")] - public required bool Fork { get; init; } - - [JsonPropertyName("forks")] - public required int Forks { get; init; } - - [JsonPropertyName("forks_count")] - public required int ForksCount { get; init; } - - [JsonPropertyName("forks_url")] - public required Uri ForksUrl { get; init; } - - [JsonPropertyName("full_name")] - public required string FullName { get; init; } - - [JsonPropertyName("git_commits_url")] - public required string GitCommitsUrl { get; init; } - - [JsonPropertyName("git_refs_url")] - public required string GitRefsUrl { get; init; } - - [JsonPropertyName("git_tags_url")] - public required string GitTagsUrl { get; init; } - - [JsonPropertyName("git_url")] - public required Uri GitUrl { get; init; } - - /// - /// Whether downloads are enabled. - /// - [JsonPropertyName("has_downloads")] - public required bool HasDownloads { get; init; } = true; - - /// - /// Whether issues are enabled. - /// - [JsonPropertyName("has_issues")] - public required bool HasIssues { get; init; } = true; - - [JsonPropertyName("has_pages")] - public required bool HasPages { get; init; } - - /// - /// Whether projects are enabled. - /// - [JsonPropertyName("has_projects")] - public required bool HasProjects { get; init; } = true; - - /// - /// Whether the wiki is enabled. - /// - [JsonPropertyName("has_wiki")] - public required bool HasWiki { get; init; } = true; - - /// - /// Whether discussions are enabled. - /// - [JsonPropertyName("has_discussions")] - public required bool HasDiscussions { get; init; } = false; - - /// - /// Whether pull requests are enabled. - /// - [JsonPropertyName("has_pull_requests")] - public bool HasPullRequests { get; init; } = true; - - /// - /// The policy controlling who can create pull requests: all or collaborators_only. - /// - [JsonPropertyName("pull_request_creation_policy")] - public PullRequestCreationPolicy? PullRequestCreationPolicy { get; init; } - - [JsonPropertyName("homepage")] - public required string? Homepage { get; init; } - - [JsonPropertyName("hooks_url")] - public required Uri HooksUrl { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the repository - /// - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("is_template")] - public bool? IsTemplate { get; init; } - - [JsonPropertyName("issue_comment_url")] - public required string IssueCommentUrl { get; init; } - - [JsonPropertyName("issue_events_url")] - public required string IssueEventsUrl { get; init; } - - [JsonPropertyName("issues_url")] - public required string IssuesUrl { get; init; } - - [JsonPropertyName("keys_url")] - public required string KeysUrl { get; init; } - - [JsonPropertyName("labels_url")] - public required string LabelsUrl { get; init; } - - [JsonPropertyName("language")] - public required string? Language { get; init; } - - [JsonPropertyName("languages_url")] - public required Uri LanguagesUrl { get; init; } - - [JsonPropertyName("license")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense? License { get; init; } - - [JsonPropertyName("master_branch")] - public string? MasterBranch { get; init; } - - [JsonPropertyName("merges_url")] - public required Uri MergesUrl { get; init; } - - [JsonPropertyName("milestones_url")] - public required string MilestonesUrl { get; init; } - - [JsonPropertyName("mirror_url")] - public required Uri? MirrorUrl { get; init; } - - /// - /// The name of the repository. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("notifications_url")] - public required string NotificationsUrl { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - [JsonPropertyName("open_issues_count")] - public required int OpenIssuesCount { get; init; } - - [JsonPropertyName("organization")] - public string? Organization { get; init; } - - [JsonPropertyName("owner")] - public required WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner? Owner { get; init; } - - [JsonPropertyName("permissions")] - public WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions? Permissions { get; init; } - - /// - /// Whether the repository is private or public. - /// - [JsonPropertyName("private")] - public required bool Private { get; init; } - - [JsonPropertyName("public")] - public bool? Public { get; init; } - - [JsonPropertyName("pulls_url")] - public required string PullsUrl { get; init; } - - [JsonPropertyName("pushed_at")] - public required object PushedAt { get; init; } - - [JsonPropertyName("releases_url")] - public required string ReleasesUrl { get; init; } - - [JsonPropertyName("role_name")] - public string? RoleName { get; init; } - - [JsonPropertyName("size")] - public required int Size { get; init; } - - [JsonPropertyName("ssh_url")] - public required string SshUrl { get; init; } - - [JsonPropertyName("stargazers")] - public int? Stargazers { get; init; } - - [JsonPropertyName("stargazers_count")] - public required int StargazersCount { get; init; } - - [JsonPropertyName("stargazers_url")] - public required Uri StargazersUrl { get; init; } - - [JsonPropertyName("statuses_url")] - public required string StatusesUrl { get; init; } - - [JsonPropertyName("subscribers_url")] - public required Uri SubscribersUrl { get; init; } - - [JsonPropertyName("subscription_url")] - public required Uri SubscriptionUrl { get; init; } - - [JsonPropertyName("svn_url")] - public required Uri SvnUrl { get; init; } - - [JsonPropertyName("tags_url")] - public required Uri TagsUrl { get; init; } - - [JsonPropertyName("teams_url")] - public required Uri TeamsUrl { get; init; } - - [JsonPropertyName("topics")] - public required IReadOnlyList Topics { get; init; } - - [JsonPropertyName("trees_url")] - public required string TreesUrl { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("visibility")] - public required WebhooksPullRequest5BaseRepoVisibility Visibility { get; init; } - - [JsonPropertyName("watchers")] - public required int Watchers { get; init; } - - [JsonPropertyName("watchers_count")] - public required int WatchersCount { get; init; } - - /// - /// Whether to require contributors to sign off on web-based commits - /// - [JsonPropertyName("web_commit_signoff_required")] - public bool? WebCommitSignoffRequired { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoLicense -{ - [JsonPropertyName("key")] - public required string Key { get; init; } - - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("spdx_id")] - public required string SpdxId { get; init; } - - [JsonPropertyName("url")] - public required Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoOwner -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadRepoPermissions -{ - [JsonPropertyName("admin")] - public required bool Admin { get; init; } - - [JsonPropertyName("maintain")] - public bool? Maintain { get; init; } - - [JsonPropertyName("pull")] - public required bool Pull { get; init; } - - [JsonPropertyName("push")] - public required bool Push { get; init; } - - [JsonPropertyName("triage")] - public bool? Triage { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestHeadUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedReviewers; - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeams -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestRequestedTeamsParent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedPullRequestUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThread -{ - [JsonPropertyName("comments")] - public required IReadOnlyList Comments { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - -} - -/// -/// The [comment](https://docs.github.com/rest/pulls/comments#get-a-review-comment-for-a-pull-request) itself. -/// -public partial record WebhookPullRequestReviewThreadResolvedThreadComments -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinks Links { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The text of the comment. - /// - [JsonPropertyName("body")] - public required string Body { get; init; } - - /// - /// The SHA of the commit to which the comment applies. - /// - [JsonPropertyName("commit_id")] - public required string CommitId { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - /// - /// The diff of the line that the comment refers to. - /// - [JsonPropertyName("diff_hunk")] - public required string DiffHunk { get; init; } - - /// - /// HTML URL for the pull request review comment. - /// - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// The ID of the pull request review comment. - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The comment ID to reply to. - /// - [JsonPropertyName("in_reply_to_id")] - public int? InReplyToId { get; init; } - - /// - /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment - /// - [JsonPropertyName("line")] - public required int? Line { get; init; } - - /// - /// The node ID of the pull request review comment. - /// - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The SHA of the original commit to which the comment applies. - /// - [JsonPropertyName("original_commit_id")] - public required string OriginalCommitId { get; init; } - - /// - /// The line of the blob to which the comment applies. The last line of the range for a multi-line comment - /// - [JsonPropertyName("original_line")] - public required int? OriginalLine { get; init; } - - /// - /// The index of the original line in the diff to which the comment applies. - /// - [JsonPropertyName("original_position")] - public required int OriginalPosition { get; init; } - - /// - /// The first line of the range for a multi-line comment. - /// - [JsonPropertyName("original_start_line")] - public required int? OriginalStartLine { get; init; } - - /// - /// The relative path of the file to which the comment applies. - /// - [JsonPropertyName("path")] - public required string Path { get; init; } - - /// - /// The line index in the diff to which the comment applies. - /// - [JsonPropertyName("position")] - public required int? Position { get; init; } - - /// - /// The ID of the pull request review to which the comment belongs. - /// - [JsonPropertyName("pull_request_review_id")] - public required int? PullRequestReviewId { get; init; } - - /// - /// URL for the pull request that the review comment belongs to. - /// - [JsonPropertyName("pull_request_url")] - public required Uri PullRequestUrl { get; init; } - - [JsonPropertyName("reactions")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsReactions Reactions { get; init; } - - /// - /// The side of the first line of the range for a multi-line comment. - /// - [JsonPropertyName("side")] - public required Side Side { get; init; } - - /// - /// The first line of the range for a multi-line comment. - /// - [JsonPropertyName("start_line")] - public required int? StartLine { get; init; } - - /// - /// The side of the first line of the range for a multi-line comment. - /// - [JsonPropertyName("start_side")] - public required StartSide StartSide { get; init; } = Generated.GithubApi.StartSide.Right; - - /// - /// The level at which the comment is targeted, can be a diff line or a file. - /// - [JsonPropertyName("subject_type")] - public SubjectType? SubjectType { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - /// - /// URL for the pull request review comment - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinks -{ - [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml Html { get; init; } - - [JsonPropertyName("pull_request")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest PullRequest { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf Self { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksPullRequest -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsReactions -{ - [JsonPropertyName("+1")] - public required int Plus1 { get; init; } - - [JsonPropertyName("-1")] - public required int Minus1 { get; init; } - - [JsonPropertyName("confused")] - public required int Confused { get; init; } - - [JsonPropertyName("eyes")] - public required int Eyes { get; init; } - - [JsonPropertyName("heart")] - public required int Heart { get; init; } - - [JsonPropertyName("hooray")] - public required int Hooray { get; init; } - - [JsonPropertyName("laugh")] - public required int Laugh { get; init; } - - [JsonPropertyName("rocket")] - public required int Rocket { get; init; } - - [JsonPropertyName("total_count")] - public required int TotalCount { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadResolvedThreadCommentsUser -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequest -{ - [JsonPropertyName("_links")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinks Links { get; init; } - - [JsonPropertyName("active_lock_reason")] - public required ActiveLockReason ActiveLockReason { get; init; } - - [JsonPropertyName("assignee")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee? Assignee { get; init; } - - [JsonPropertyName("assignees")] - public required IReadOnlyList Assignees { get; init; } - - /// - /// How the author is associated with the repository. - /// - [JsonPropertyName("author_association")] - public required AuthorAssociation2 AuthorAssociation { get; init; } - - /// - /// The status of auto merging a pull request. - /// - [JsonPropertyName("auto_merge")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge? AutoMerge { get; init; } - - [JsonPropertyName("base")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBase Base { get; init; } - - [JsonPropertyName("body")] - public required string? Body { get; init; } - - [JsonPropertyName("closed_at")] - public required string? ClosedAt { get; init; } - - [JsonPropertyName("comments_url")] - public required Uri CommentsUrl { get; init; } - - [JsonPropertyName("commits_url")] - public required Uri CommitsUrl { get; init; } - - [JsonPropertyName("created_at")] - public required string CreatedAt { get; init; } - - [JsonPropertyName("diff_url")] - public required Uri DiffUrl { get; init; } - - [JsonPropertyName("draft")] - public required bool Draft { get; init; } - - [JsonPropertyName("head")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestHead Head { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("issue_url")] - public required Uri IssueUrl { get; init; } - - [JsonPropertyName("labels")] - public required IReadOnlyList Labels { get; init; } - - [JsonPropertyName("locked")] - public required bool Locked { get; init; } - - [JsonPropertyName("merge_commit_sha")] - public required string? MergeCommitSha { get; init; } - - [JsonPropertyName("merged_at")] - public required string? MergedAt { get; init; } - - /// - /// A collection of related issues and pull requests. - /// - [JsonPropertyName("milestone")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestMilestone? Milestone { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("patch_url")] - public required Uri PatchUrl { get; init; } - - [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } - - [JsonPropertyName("requested_teams")] - public required IReadOnlyList RequestedTeams { get; init; } - - [JsonPropertyName("review_comment_url")] - public required string ReviewCommentUrl { get; init; } - - [JsonPropertyName("review_comments_url")] - public required Uri ReviewCommentsUrl { get; init; } - - /// - /// The stack information associated with a pull request. - /// - [JsonPropertyName("stack")] - public PullRequestStack? Stack { get; init; } - - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - [JsonPropertyName("statuses_url")] - public required Uri StatusesUrl { get; init; } - - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required string UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestUser? User { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinks -{ - [JsonPropertyName("comments")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments Comments { get; init; } - - [JsonPropertyName("commits")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits Commits { get; init; } - - [JsonPropertyName("html")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml Html { get; init; } - - [JsonPropertyName("issue")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue Issue { get; init; } - - [JsonPropertyName("review_comment")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment ReviewComment { get; init; } - - [JsonPropertyName("review_comments")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments ReviewComments { get; init; } - - [JsonPropertyName("self")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf Self { get; init; } - - [JsonPropertyName("statuses")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses Statuses { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksCommits -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksHtml -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksIssue -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComment -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksReviewComments -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksSelf -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestLinksStatuses -{ - [JsonPropertyName("href")] - public required string Href { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignee -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAssignees -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -/// -/// The status of auto merging a pull request. -/// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMerge -{ - /// - /// Commit message for the merge commit. - /// - [JsonPropertyName("commit_message")] - public required string? CommitMessage { get; init; } - - /// - /// Title for the merge commit message. - /// - [JsonPropertyName("commit_title")] - public required string CommitTitle { get; init; } - - [JsonPropertyName("enabled_by")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy? EnabledBy { get; init; } - - /// - /// The merge method to use. - /// - [JsonPropertyName("merge_method")] - public required AutoMergeMergeMethod MergeMethod { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestAutoMergeEnabledBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBase -{ - [JsonPropertyName("label")] - public required string Label { get; init; } - - [JsonPropertyName("ref")] - public required string Ref { get; init; } - - /// - /// A git repository - /// - [JsonPropertyName("repo")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo Repo { get; init; } - - [JsonPropertyName("sha")] - public required string Sha { get; init; } - - [JsonPropertyName("user")] - public required WebhookPullRequestReviewThreadUnresolvedPullRequestBaseUser? User { get; init; } - -} - -/// -/// A git repository -/// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo +public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestBaseRepo { /// /// Whether to allow auto-merge for pull requests. @@ -134419,197 +121471,6 @@ public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestMilesto } -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1 | WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2), "WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestReviewThreadUnresolvedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -135227,7 +122088,7 @@ public partial record WebhookPullRequestStackedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -136732,245 +123593,7 @@ public partial record WebhookPullRequestStackedPullRequestHeadUser public Uri? HtmlUrl { get; init; } [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestStackedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestStackedPullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestStackedPullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestStackedPullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestStackedPullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } + public required long Id { get; init; } [JsonPropertyName("login")] public required string Login { get; init; } @@ -137000,7 +123623,7 @@ public partial record WebhookPullRequestStackedPullRequestMilestoneCreator public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -137010,7 +123633,41 @@ public partial record WebhookPullRequestStackedPullRequestMilestoneCreator } -public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 +public partial record WebhookPullRequestStackedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestStackedPullRequestMergedBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -137081,125 +123738,138 @@ public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVari } /// -/// Groups of organization members that gives permissions on specified repositories. +/// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 +public partial record WebhookPullRequestStackedPullRequestMilestone { - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestStackedPullRequestMilestoneCreator? Creator { get; init; } - /// - /// Description of the team - /// [JsonPropertyName("description")] public required string? Description { get; init; } + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestStackedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - /// - /// Permission that the team will have for its repositories + /// The number of the milestone. /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("number")] + public required int Number { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } /// - /// URL for the team + /// The title of the milestone. /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestStackedPullRequestRequestedReviewersVariant2Parent +public partial record WebhookPullRequestStackedPullRequestMilestoneCreator { - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } -} + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } -/// -/// Union of: WebhookPullRequestStackedPullRequestRequestedReviewersVariant1 | WebhookPullRequestStackedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant1), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestStackedPullRequestRequestedReviewersVariant2), "WebhookPullRequestStackedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestStackedPullRequestRequestedReviewers; +} /// /// Groups of organization members that gives permissions on specified repositories. @@ -137516,7 +124186,7 @@ public partial record WebhookPullRequestSynchronizePullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -139292,197 +125962,6 @@ public partial record WebhookPullRequestSynchronizePullRequestMilestoneCreator } -public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1 | WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2), "WebhookPullRequestSynchronizePullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestSynchronizePullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -139798,7 +126277,7 @@ public partial record WebhookPullRequestUnassignedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -141303,245 +127782,7 @@ public partial record WebhookPullRequestUnassignedPullRequestHeadUser public Uri? HtmlUrl { get; init; } [JsonPropertyName("id")] - public required long Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -public partial record WebhookPullRequestUnassignedPullRequestLabels -{ - /// - /// 6-character hex code, without the leading #, identifying the color - /// - [JsonPropertyName("color")] - public required string Color { get; init; } - - [JsonPropertyName("default")] - public required bool Default { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - /// - /// The name of the label. - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// URL for the label - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestUnassignedPullRequestMergedBy -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// A collection of related issues and pull requests. -/// -public partial record WebhookPullRequestUnassignedPullRequestMilestone -{ - [JsonPropertyName("closed_at")] - public required DateTimeOffset? ClosedAt { get; init; } - - [JsonPropertyName("closed_issues")] - public required int ClosedIssues { get; init; } - - [JsonPropertyName("created_at")] - public required DateTimeOffset CreatedAt { get; init; } - - [JsonPropertyName("creator")] - public required WebhookPullRequestUnassignedPullRequestMilestoneCreator? Creator { get; init; } - - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("due_on")] - public required DateTimeOffset? DueOn { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("labels_url")] - public required Uri LabelsUrl { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// The number of the milestone. - /// - [JsonPropertyName("number")] - public required int Number { get; init; } - - [JsonPropertyName("open_issues")] - public required int OpenIssues { get; init; } - - /// - /// The state of the milestone. - /// - [JsonPropertyName("state")] - public required NullableMilestoneState State { get; init; } - - /// - /// The title of the milestone. - /// - [JsonPropertyName("title")] - public required string Title { get; init; } - - [JsonPropertyName("updated_at")] - public required DateTimeOffset UpdatedAt { get; init; } - - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } + public required long Id { get; init; } [JsonPropertyName("login")] public required string Login { get; init; } @@ -141571,7 +127812,7 @@ public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator public Uri? SubscriptionsUrl { get; init; } [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } + public WebhooksUserType? Type { get; init; } [JsonPropertyName("url")] public Uri? Url { get; init; } @@ -141581,7 +127822,41 @@ public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator } -public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 +public partial record WebhookPullRequestUnassignedPullRequestLabels +{ + /// + /// 6-character hex code, without the leading #, identifying the color + /// + [JsonPropertyName("color")] + public required string Color { get; init; } + + [JsonPropertyName("default")] + public required bool Default { get; init; } + + [JsonPropertyName("description")] + public required string? Description { get; init; } + + [JsonPropertyName("id")] + public required int Id { get; init; } + + /// + /// The name of the label. + /// + [JsonPropertyName("name")] + public required string Name { get; init; } + + [JsonPropertyName("node_id")] + public required string NodeId { get; init; } + + /// + /// URL for the label + /// + [JsonPropertyName("url")] + public required Uri Url { get; init; } + +} + +public partial record WebhookPullRequestUnassignedPullRequestMergedBy { [JsonPropertyName("avatar_url")] public Uri? AvatarUrl { get; init; } @@ -141652,125 +127927,138 @@ public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersV } /// -/// Groups of organization members that gives permissions on specified repositories. +/// A collection of related issues and pull requests. /// -public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 +public partial record WebhookPullRequestUnassignedPullRequestMilestone { - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } + [JsonPropertyName("closed_at")] + public required DateTimeOffset? ClosedAt { get; init; } + + [JsonPropertyName("closed_issues")] + public required int ClosedIssues { get; init; } + + [JsonPropertyName("created_at")] + public required DateTimeOffset CreatedAt { get; init; } + + [JsonPropertyName("creator")] + public required WebhookPullRequestUnassignedPullRequestMilestoneCreator? Creator { get; init; } - /// - /// Description of the team - /// [JsonPropertyName("description")] public required string? Description { get; init; } + [JsonPropertyName("due_on")] + public required DateTimeOffset? DueOn { get; init; } + [JsonPropertyName("html_url")] public required Uri HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } + [JsonPropertyName("labels_url")] + public required Uri LabelsUrl { get; init; } [JsonPropertyName("node_id")] public required string NodeId { get; init; } - [JsonPropertyName("parent")] - public WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - /// - /// Permission that the team will have for its repositories + /// The number of the milestone. /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("number")] + public required int Number { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + [JsonPropertyName("open_issues")] + public required int OpenIssues { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + /// + /// The state of the milestone. + /// + [JsonPropertyName("state")] + public required NullableMilestoneState State { get; init; } /// - /// URL for the team + /// The title of the milestone. /// + [JsonPropertyName("title")] + public required string Title { get; init; } + + [JsonPropertyName("updated_at")] + public required DateTimeOffset UpdatedAt { get; init; } + [JsonPropertyName("url")] public required Uri Url { get; init; } } -public partial record WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2Parent +public partial record WebhookPullRequestUnassignedPullRequestMilestoneCreator { - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } + [JsonPropertyName("avatar_url")] + public Uri? AvatarUrl { get; init; } + + [JsonPropertyName("deleted")] + public bool? Deleted { get; init; } + + [JsonPropertyName("email")] + public string? Email { get; init; } + + [JsonPropertyName("events_url")] + public string? EventsUrl { get; init; } + + [JsonPropertyName("followers_url")] + public Uri? FollowersUrl { get; init; } + + [JsonPropertyName("following_url")] + public string? FollowingUrl { get; init; } + + [JsonPropertyName("gists_url")] + public string? GistsUrl { get; init; } + + [JsonPropertyName("gravatar_id")] + public string? GravatarId { get; init; } [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } + public Uri? HtmlUrl { get; init; } - /// - /// Unique identifier of the team - /// [JsonPropertyName("id")] public required int Id { get; init; } - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } + [JsonPropertyName("login")] + public required string Login { get; init; } - /// - /// Name of the team - /// [JsonPropertyName("name")] - public required string Name { get; init; } + public string? Name { get; init; } [JsonPropertyName("node_id")] - public required string NodeId { get; init; } + public string? NodeId { get; init; } - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } + [JsonPropertyName("organizations_url")] + public Uri? OrganizationsUrl { get; init; } - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } + [JsonPropertyName("received_events_url")] + public Uri? ReceivedEventsUrl { get; init; } - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } + [JsonPropertyName("repos_url")] + public Uri? ReposUrl { get; init; } - [JsonPropertyName("slug")] - public required string Slug { get; init; } + [JsonPropertyName("site_admin")] + public bool? SiteAdmin { get; init; } + + [JsonPropertyName("starred_url")] + public string? StarredUrl { get; init; } + + [JsonPropertyName("subscriptions_url")] + public Uri? SubscriptionsUrl { get; init; } + + [JsonPropertyName("type")] + public WebhooksUserMannequinType? Type { get; init; } - /// - /// URL for the team - /// [JsonPropertyName("url")] - public required Uri Url { get; init; } + public Uri? Url { get; init; } -} + [JsonPropertyName("user_view_type")] + public string? UserViewType { get; init; } -/// -/// Union of: WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnassignedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestUnassignedPullRequestRequestedReviewers; +} /// /// Groups of organization members that gives permissions on specified repositories. @@ -142087,7 +128375,7 @@ public partial record WebhookPullRequestUnlabeledPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -143863,197 +130151,6 @@ public partial record WebhookPullRequestUnlabeledPullRequestMilestoneCreator } -public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserMannequinType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -public partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlabeledPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestUnlabeledPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// @@ -144369,7 +130466,7 @@ public partial record WebhookPullRequestUnlockedPullRequest public bool? Rebaseable { get; init; } [JsonPropertyName("requested_reviewers")] - public required IReadOnlyList RequestedReviewers { get; init; } + public required IReadOnlyList RequestedReviewers { get; init; } [JsonPropertyName("requested_teams")] public required IReadOnlyList RequestedTeams { get; init; } @@ -146152,197 +132249,6 @@ public partial record WebhookPullRequestUnlockedPullRequestMilestoneCreator } -public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 -{ - [JsonPropertyName("avatar_url")] - public Uri? AvatarUrl { get; init; } - - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - [JsonPropertyName("email")] - public string? Email { get; init; } - - [JsonPropertyName("events_url")] - public string? EventsUrl { get; init; } - - [JsonPropertyName("followers_url")] - public Uri? FollowersUrl { get; init; } - - [JsonPropertyName("following_url")] - public string? FollowingUrl { get; init; } - - [JsonPropertyName("gists_url")] - public string? GistsUrl { get; init; } - - [JsonPropertyName("gravatar_id")] - public string? GravatarId { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("login")] - public required string Login { get; init; } - - [JsonPropertyName("name")] - public string? Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("organizations_url")] - public Uri? OrganizationsUrl { get; init; } - - [JsonPropertyName("received_events_url")] - public Uri? ReceivedEventsUrl { get; init; } - - [JsonPropertyName("repos_url")] - public Uri? ReposUrl { get; init; } - - [JsonPropertyName("site_admin")] - public bool? SiteAdmin { get; init; } - - [JsonPropertyName("starred_url")] - public string? StarredUrl { get; init; } - - [JsonPropertyName("subscriptions_url")] - public Uri? SubscriptionsUrl { get; init; } - - [JsonPropertyName("type")] - public WebhooksUserType? Type { get; init; } - - [JsonPropertyName("url")] - public Uri? Url { get; init; } - - [JsonPropertyName("user_view_type")] - public string? UserViewType { get; init; } - -} - -/// -/// Groups of organization members that gives permissions on specified repositories. -/// -public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 -{ - [JsonPropertyName("deleted")] - public bool? Deleted { get; init; } - - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public string? Description { get; init; } - - [JsonPropertyName("html_url")] - public Uri? HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public string? MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public string? NodeId { get; init; } - - [JsonPropertyName("parent")] - public WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2Parent? Parent { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public string? Permission { get; init; } - - [JsonPropertyName("privacy")] - public WebhooksTeamPrivacy? Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public Uri? RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public string? Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public Uri? Url { get; init; } - -} - -public partial record WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2Parent -{ - /// - /// Description of the team - /// - [JsonPropertyName("description")] - public required string? Description { get; init; } - - [JsonPropertyName("html_url")] - public required Uri HtmlUrl { get; init; } - - /// - /// Unique identifier of the team - /// - [JsonPropertyName("id")] - public required int Id { get; init; } - - [JsonPropertyName("members_url")] - public required string MembersUrl { get; init; } - - /// - /// Name of the team - /// - [JsonPropertyName("name")] - public required string Name { get; init; } - - [JsonPropertyName("node_id")] - public required string NodeId { get; init; } - - /// - /// Permission that the team will have for its repositories - /// - [JsonPropertyName("permission")] - public required string Permission { get; init; } - - [JsonPropertyName("privacy")] - public required WebhooksTeamPrivacy Privacy { get; init; } - - [JsonPropertyName("repositories_url")] - public required Uri RepositoriesUrl { get; init; } - - [JsonPropertyName("slug")] - public required string Slug { get; init; } - - /// - /// URL for the team - /// - [JsonPropertyName("url")] - public required Uri Url { get; init; } - -} - -/// -/// Union of: WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1 | WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant1")] -[JsonDerivedType(typeof(WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2), "WebhookPullRequestUnlockedPullRequestRequestedReviewersVariant2")] -public abstract partial record WebhookPullRequestUnlockedPullRequestRequestedReviewers; - /// /// Groups of organization members that gives permissions on specified repositories. /// diff --git a/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs b/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs index 966b8a1..b48479c 100644 --- a/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs +++ b/examples/OpenApiCodeGenerator.Examples/output/showcase-openapi.cs @@ -344,7 +344,7 @@ public partial record Notification /// oneOf with mixed ref and inline object variants. The inline object is hoisted to a named record and the union is emitted as an abstract record with [JsonDerivedType] attributes. /// [JsonPropertyName("escalation")] - public required NotificationEscalation Escalation { get; init; } + public required object Escalation { get; init; } /// /// Superseded by contact; retained for backward compatibility. @@ -380,28 +380,3 @@ public readonly partial record struct LegacyId(Guid Value) : IOpenApiGeneratedTy { public static LegacyId Create(Guid value) => new(value); } - -/// -/// Inline escalation variant hoisted to a named record. -/// -public partial record NotificationEscalationVariant2 -{ - [RegularExpression("^\\+?[0-9]{6,15}$")] - [JsonPropertyName("phone")] - public required string Phone { get; init; } - - [JsonPropertyName("afterHours")] - public bool? AfterHours { get; init; } - -} - -/// -/// oneOf with mixed ref and inline object variants. The inline object is hoisted to a named record and the union is emitted as an abstract record with [JsonDerivedType] attributes. -/// -/// -/// Union of: EmailContact | NotificationEscalationVariant2 -/// Inline object variants use the synthesized type name as the discriminator value. -/// -[JsonDerivedType(typeof(EmailContact), "EmailContact")] -[JsonDerivedType(typeof(NotificationEscalationVariant2), "NotificationEscalationVariant2")] -public abstract partial record NotificationEscalation; diff --git a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs index 9ee93df..e078201 100644 --- a/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs +++ b/src/OpenApiCodeGenerator/CSharpCodeEmitter.cs @@ -558,18 +558,14 @@ private void DiscoverInlineObjects( int variantIndex = 1; foreach (IOpenApiSchema variant in unionVariants) { - if (variant is not OpenApiSchemaReference && !_knownSchemas.Contains(variant)) + if (isDiscriminated && variant is not OpenApiSchemaReference && !_knownSchemas.Contains(variant)) { - // Try to hoist inline objects within union variants + // Only hoist inline objects for discriminated unions — non-discriminated + // unions with inline variants resolve to object (JsonElement) since + // System.Text.Json can't determine the variant without a discriminator. string variantPropName = $"Variant{variantIndex}"; TryHoistPropertySchema(variant, enclosingTypeName, variantPropName, typeNameMap, usedNames, visited); - - // For discriminated unions, record the union base type so the hoisted - // inline variant can inherit from it (required for polymorphic deserialization). - if (isDiscriminated) - { - _unionVariantBaseTypes.TryAdd(variant, (enclosingTypeName, discPropName!)); - } + _unionVariantBaseTypes.TryAdd(variant, (enclosingTypeName, discPropName!)); } else if (isDiscriminated && variant is OpenApiSchemaReference refVariant && refVariant.Reference?.Id != null) { @@ -748,9 +744,13 @@ private bool IsInlineAllOfComposition(IOpenApiSchema schema) } /// - /// Detects an inline oneOf/anyOf where all variants are $refs or inline objects — - /// should be hoisted as an abstract record with [JsonDerivedType] attributes. + /// Detects an inline oneOf/anyOf where all variants are $refs (or, for + /// discriminated unions, inline objects) — should be hoisted as an abstract + /// record with [JsonDerivedType] attributes. /// Inline object variants are hoisted to named records before the union is hoisted. + /// Non-discriminated unions with inline object variants are NOT hoisted — without + /// a discriminator, System.Text.Json cannot determine which variant to deserialize, + /// so they resolve to object (JsonElement) instead. /// private bool IsInlineUnion(IOpenApiSchema schema) { @@ -798,8 +798,19 @@ private bool IsInlineUnion(IOpenApiSchema schema) return false; } - // All variants must be $refs or inline objects (hoistable to records) - return variants.All(v => v is OpenApiSchemaReference || IsInlineObject(v)); + bool isDiscriminated = schema.Discriminator is { PropertyName: not null }; + + // For discriminated unions, all variants must be $refs or inline objects. + // For non-discriminated unions, only $ref-only variants are hoisted — + // inline object variants can't be deserialized without a discriminator. + if (isDiscriminated) + { + return variants.All(v => v is OpenApiSchemaReference || IsInlineObject(v)); + } + else + { + return variants.All(v => v is OpenApiSchemaReference); + } } private static string SynthesizeInlineTypeName(string enclosingTypeName, string propName, HashSet usedNames) @@ -1311,13 +1322,24 @@ private void EmitDiscriminatedUnion( IList variants, OpenApiDiscriminator discriminator) { - // Build mapping: discriminator value → type name + // Build mapping: discriminator value → type name. + // Skip variants that are assigned to a different union base — C# only supports + // single inheritance, so a variant can only inherit from one union base type. var mapping = new Dictionary(); if (discriminator.Mapping is { Count: > 0 }) { foreach ((string? key, OpenApiSchemaReference? schemaRef) in discriminator.Mapping) { - mapping[key] = NameHelper.ToTypeName(schemaRef.Reference.Id, _options.ModelPrefix); + string? refId = schemaRef.Reference?.Id; + if (refId != null && + _allSchemas.TryGetValue(refId, out IOpenApiSchema? refSchema) && + _unionVariantBaseTypes.TryGetValue(refSchema, out (string BaseTypeName, string) baseInfo) && + baseInfo.BaseTypeName != typeName) + { + continue; // assigned to a different union — can't inherit from two bases + } + + mapping[key] = NameHelper.ToTypeName(refId!, _options.ModelPrefix); } } else @@ -1334,6 +1356,13 @@ private void EmitDiscriminatedUnion( continue; } + if (_allSchemas.TryGetValue(name, out IOpenApiSchema? refSchema) && + _unionVariantBaseTypes.TryGetValue(refSchema, out (string BaseTypeName, string) baseInfo) && + baseInfo.BaseTypeName != typeName) + { + continue; // assigned to a different union + } + mapping[name] = NameHelper.ToTypeName(name, _options.ModelPrefix); } } @@ -1351,7 +1380,14 @@ private void EmitDiscriminatedUnion( } string? hoistedName = _typeResolver.GetInlineObjectTypeName(variant); - if (hoistedName is null || mapping.ContainsValue(hoistedName)) + if (hoistedName is null) + { + continue; + } + + // Skip variants assigned to a different union (C# single inheritance) + if (_unionVariantBaseTypes.TryGetValue(variant, out (string BaseTypeName, string) baseInfo) && + baseInfo.BaseTypeName != typeName) { continue; } diff --git a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs index 8418105..d1b7606 100644 --- a/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs +++ b/tests/OpenApiCodeGenerator.Tests/CSharpCodeEmitterTests.cs @@ -2200,7 +2200,7 @@ public void Emit_HoistedObjectNameCollisionBetweenTwoHoistedObjects_Differentiat #region oneOf/anyOf with Inline Object Variants [Fact] - public void Emit_InlineOneOfWithRefAndInlineObject_HoistsInlineObject() + public void Emit_InlineOneOfWithRefAndInlineObject_NotDiscriminated_ResolvesToObject() { var schemas = new Dictionary { @@ -2238,23 +2238,16 @@ public void Emit_InlineOneOfWithRefAndInlineObject_HoistsInlineObject() string result = Generate(schemas); - // Property should reference the hoisted union type, not "object" - Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); + // Non-discriminated union with inline variants resolves to object — + // System.Text.Json can't determine the variant without a discriminator. + Assert.Contains("public object? Value { get; init; }", result, StringComparison.Ordinal); - // Union should have [JsonDerivedType] for both $ref and hoisted inline object - Assert.Contains("[JsonDerivedType(typeof(A), \"A\")]", result, StringComparison.Ordinal); - Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant2), \"MyRecordValueVariant2\")]", result, StringComparison.Ordinal); - - // Inline object variant should be hoisted to a named record - Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); - Assert.Contains("public string? X { get; init; }", result, StringComparison.Ordinal); - - // Union should be an abstract record - Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); + // No hoisted union type or inline variant record should be emitted + Assert.DoesNotContain("MyRecordValue", result, StringComparison.Ordinal); } [Fact] - public void Emit_InlineOneOfAllInlineObjects_HoistsAllVariants() + public void Emit_InlineOneOfAllInlineObjects_NotDiscriminated_ResolvesToObject() { var schemas = new Dictionary { @@ -2293,16 +2286,13 @@ public void Emit_InlineOneOfAllInlineObjects_HoistsAllVariants() string result = Generate(schemas); - Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); - Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); - Assert.Contains("public partial record MyRecordValueVariant1", result, StringComparison.Ordinal); - Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); - Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant1), \"MyRecordValueVariant1\")]", result, StringComparison.Ordinal); - Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant2), \"MyRecordValueVariant2\")]", result, StringComparison.Ordinal); + // Non-discriminated union with all inline variants resolves to object + Assert.Contains("public object? Value { get; init; }", result, StringComparison.Ordinal); + Assert.DoesNotContain("MyRecordValue", result, StringComparison.Ordinal); } [Fact] - public void Emit_ComponentLevelOneOfWithRefAndInlineObject_HoistsInlineObject() + public void Emit_ComponentLevelOneOfWithRefAndInlineObject_NotDiscriminated_SkipsInlineVariant() { var schemas = new Dictionary { @@ -2333,15 +2323,16 @@ public void Emit_ComponentLevelOneOfWithRefAndInlineObject_HoistsInlineObject() string result = Generate(schemas); + // Component-level non-discriminated union is still emitted as an abstract record Assert.Contains("public abstract partial record MyUnion;", result, StringComparison.Ordinal); + // The $ref variant gets [JsonDerivedType] Assert.Contains("[JsonDerivedType(typeof(A), \"A\")]", result, StringComparison.Ordinal); - Assert.Contains("[JsonDerivedType(typeof(MyUnionVariant2), \"MyUnionVariant2\")]", result, StringComparison.Ordinal); - Assert.Contains("public partial record MyUnionVariant2", result, StringComparison.Ordinal); - Assert.Contains("public string? Label { get; init; }", result, StringComparison.Ordinal); + // Inline variant is NOT hoisted (no discriminator → can't deserialize) + Assert.DoesNotContain("MyUnionVariant2", result, StringComparison.Ordinal); } [Fact] - public async Task Emit_InlineOneOfWithRefAndInlineObject_CompilesSuccessfully() + public async Task Emit_InlineOneOfWithRefAndInlineObject_NotDiscriminated_CompilesSuccessfully() { var schemas = new Dictionary { @@ -2421,7 +2412,7 @@ await File.WriteAllTextAsync(Path.Combine(tempRoot, "Harness.csproj"), """ } [Fact] - public void Emit_InlineAnyOfWithRefAndInlineObject_HoistsInlineObject() + public void Emit_InlineAnyOfWithRefAndInlineObject_NotDiscriminated_ResolvesToObject() { var schemas = new Dictionary { @@ -2459,15 +2450,13 @@ public void Emit_InlineAnyOfWithRefAndInlineObject_HoistsInlineObject() string result = Generate(schemas); - Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); - Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); - Assert.Contains("[JsonDerivedType(typeof(A), \"A\")]", result, StringComparison.Ordinal); - Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant2), \"MyRecordValueVariant2\")]", result, StringComparison.Ordinal); - Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); + // Non-discriminated anyOf with inline variants resolves to object + Assert.Contains("public object? Value { get; init; }", result, StringComparison.Ordinal); + Assert.DoesNotContain("MyRecordValue", result, StringComparison.Ordinal); } [Fact] - public void Emit_InlineOneOfWithNestedInlineObject_HoistsNestedObject() + public void Emit_InlineOneOfWithNestedInlineObject_NotDiscriminated_ResolvesToObject() { var schemas = new Dictionary { @@ -2512,16 +2501,13 @@ public void Emit_InlineOneOfWithNestedInlineObject_HoistsNestedObject() string result = Generate(schemas); - Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); - Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); - Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); - Assert.Contains("public MyRecordValueVariant2Nested? Nested { get; init; }", result, StringComparison.Ordinal); - Assert.Contains("public partial record MyRecordValueVariant2Nested", result, StringComparison.Ordinal); - Assert.Contains("public string? Deep { get; init; }", result, StringComparison.Ordinal); + // Non-discriminated union with inline variants resolves to object + Assert.Contains("public object? Value { get; init; }", result, StringComparison.Ordinal); + Assert.DoesNotContain("MyRecordValue", result, StringComparison.Ordinal); } [Fact] - public void Emit_InlineOneOfWithTwoSameShapedInlineObjects_HoistsBothSeparately() + public void Emit_InlineOneOfWithTwoSameShapedInlineObjects_NotDiscriminated_ResolvesToObject() { var schemas = new Dictionary { @@ -2558,12 +2544,9 @@ public void Emit_InlineOneOfWithTwoSameShapedInlineObjects_HoistsBothSeparately( string result = Generate(schemas); - Assert.Contains("public MyRecordValue? Value { get; init; }", result, StringComparison.Ordinal); - Assert.Contains("public abstract partial record MyRecordValue;", result, StringComparison.Ordinal); - Assert.Contains("public partial record MyRecordValueVariant1", result, StringComparison.Ordinal); - Assert.Contains("public partial record MyRecordValueVariant2", result, StringComparison.Ordinal); - Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant1), \"MyRecordValueVariant1\")]", result, StringComparison.Ordinal); - Assert.Contains("[JsonDerivedType(typeof(MyRecordValueVariant2), \"MyRecordValueVariant2\")]", result, StringComparison.Ordinal); + // Non-discriminated union with all inline variants resolves to object + Assert.Contains("public object? Value { get; init; }", result, StringComparison.Ordinal); + Assert.DoesNotContain("MyRecordValue", result, StringComparison.Ordinal); } [Fact] @@ -2725,7 +2708,7 @@ public void Emit_PropertyLevelDiscriminatedUnion_InlineVariantInheritsFromUnionB } [Fact] - public void Emit_AnyOfWithNullVariantBetweenInlineObjects_SequentialVariantNames() + public void Emit_AnyOfWithNullVariantBetweenInlineObjects_NotDiscriminated_ResolvesToObject() { var schemas = new Dictionary { @@ -2764,15 +2747,13 @@ public void Emit_AnyOfWithNullVariantBetweenInlineObjects_SequentialVariantNames string result = Generate(schemas); - // Null variant should be filtered from numbering, producing sequential names - Assert.Contains("public partial record ContainerValueVariant1", result, StringComparison.Ordinal); - Assert.Contains("public partial record ContainerValueVariant2", result, StringComparison.Ordinal); - // Variant3 should NOT exist (only 2 non-null inline objects) - Assert.DoesNotContain("ContainerValueVariant3", result, StringComparison.Ordinal); + // Non-discriminated anyOf with inline variants resolves to object + Assert.Contains("public required object Value { get; init; }", result, StringComparison.Ordinal); + Assert.DoesNotContain("ContainerValue", result, StringComparison.Ordinal); } [Fact] - public void Emit_OneOfWithNullVariantBetweenInlineObjects_SequentialVariantNames() + public void Emit_OneOfWithNullVariantBetweenInlineObjects_NotDiscriminated_ResolvesToObject() { var schemas = new Dictionary { @@ -2811,11 +2792,9 @@ public void Emit_OneOfWithNullVariantBetweenInlineObjects_SequentialVariantNames string result = Generate(schemas); - // Null variant should be filtered from numbering, producing sequential names - Assert.Contains("public partial record ContainerValueVariant1", result, StringComparison.Ordinal); - Assert.Contains("public partial record ContainerValueVariant2", result, StringComparison.Ordinal); - // Variant3 should NOT exist (only 2 non-null inline objects) - Assert.DoesNotContain("ContainerValueVariant3", result, StringComparison.Ordinal); + // Non-discriminated oneOf with inline variants resolves to object + Assert.Contains("public required object Value { get; init; }", result, StringComparison.Ordinal); + Assert.DoesNotContain("ContainerValue", result, StringComparison.Ordinal); } #endregion