Skip to content

[Schema Inaccuracy] dismissal request and bypass request webhooks have no required fields #4800

@ebickle

Description

@ebickle

Schema Inaccuracy

The following schema components do not define any required fields, even though some fields are always present (e.g. primary keys):

  • exemption-request
  • exemption-response
  • dismissal-request-code-scanning-metadata
  • dismissal-request-secret-scanning-metadata
  • exemption-request-secret-scanning-metadata
  • dismissal-request-code-scanning
  • dismissal-request-secret-scanning
  • exemption-request-secret-scanning
  • exemption-request-push-ruleset-bypass

These components are used by the various bypass-request and dismissal-request webhooks, such as:

  • dismissal-request-secret-scanning-cancelled
  • dismissal-request-secret-scanning-completed
  • dismissal-request-secret-scanning-created
  • dismissal-request-secret-scanning-response-dismissed
  • dismissal-request-secret-scanning-response-submitted
  • dismissal-request-code-scanning-created
  • dismissal-request-code-scanning-response-submitted
  • bypass-request-secret-scanning-cancelled
  • bypass-request-secret-scanning-completed
  • bypass-request-secret-scanning-created
  • bypass-request-secret-scanning-response-dismissed
  • bypass-request-secret-scanning-response-submitted
  • bypass-request-push-ruleset-cancelled
  • bypass-request-push-ruleset-completed
  • bypass-request-push-ruleset-created
  • bypass-request-push-ruleset-response-dismissed
  • bypass-request-push-ruleset-response-submitted

Expected

The schemas of the dismissal request and bypass request webhooks should have all non-optional fields listed in required sections of their schema components.

For example, most of the fields of exemption-request are likely non-optional in GitHub's implementation: id (primary key), number (alternate key), repository_id (a request needs a repository), requester_login (a user needs to create the request), request_type, status, created_at, html_url. I don't know the exact values since it would be specific to the GitHub database and implementation.

Reproduction Steps

None - observed by reviewing https://raw.githubusercontent.com/github/rest-api-description/refs/heads/main/descriptions/ghec/ghec.json and trying to use @octokit/openapi-webhooks-types-ghec (which depends on the schema data) in TypeScript.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions