Skip to content

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

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions