Skip to content

[Schema Inaccuracy] code_scanning_alert closed_by_user webhook: fixed_at typed as null instead of date-time string #6081

@donicrosby

Description

@donicrosby

Expected

In the code_scanning_alert webhook event with action: "closed_by_user", the alert.fixed_at property should be typed as a nullable ISO 8601 date-time string:

fixed_at:
  type: string
  format: date-time
  nullable: true
  description: >-
    The time that the alert was fixed in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.

This would be consistent with how fixed_at is already defined on:

Actual

The webhook schema for code_scanning_alert (action closed_by_user) defines fixed_at with only type: null, meaning it can never contain a value — only null or absent.

Reproduction Steps

  1. Configure a repository webhook (or GitHub App) to receive code_scanning_alert events.
  2. Have a code scanning alert that was previously auto-fixed (state: "fixed", fixed_at populated with a datetime).
  3. A user closes (dismisses) the alert via the GitHub UI, triggering a code_scanning_alert webhook with action: "closed_by_user".
  4. Inspect the webhook payload. The alert.fixed_at field contains an ISO 8601 datetime string, e.g. "2026-03-04T17:53:59Z".
  5. Attempt to validate this payload against a client generated from the OpenAPI spec. Validation fails because the schema only permits null for fixed_at.

Impact

Any strongly-typed client generated from this spec (e.g., githubkit for Python, Octokit for TypeScript) will reject valid code_scanning_alert closed_by_user webhook payloads because fixed_at does not conform to the null-only schema.

Reference

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