Skip to content

GET /repos/{owner}/{repo}/actions/runs: bot committer emails fail format: "email" validation #6355

Description

@plengauer

Description

The workflow runs endpoint (GET /repos/{owner}/{repo}/actions/runs) returns commit objects where the committer/author email field is declared with format: "email", but GitHub Actions bot commits use email addresses like:

github-actions[bot]@users.noreply.github.com

The square brackets in github-actions[bot] make this address non-compliant with RFC 5321 (which prohibits [ and ] in the local part of an email address). JSON Schema validators that strictly enforce format: "email" will reject these values.

Error observed

When calling GET /repos/{owner}/{repo}/actions/runs on a repository that has GitHub Actions bot commits, MCP servers and other tools that validate against this schema fail with:

MCP error -32602: Structured content does not match the tool's output schema: 
[commit].committer.email must match format "email"

Examples of non-RFC-compliant bot emails returned by the API

  • github-actions[bot]@users.noreply.github.com
  • 49699333+dependabot[bot]@users.noreply.github.com

The [bot] suffix appended to the username contains square brackets, which are not permitted in the local part of an RFC 5321 email address.

Expected behavior

The schema should either:

  • Relax the format: "email" constraint on committer/author email fields in workflow run commit objects (e.g. use format: "email" only as a hint, or remove it for these fields), or
  • Use a more permissive format that accommodates GitHub's internal bot email convention

Steps to reproduce

  1. Call GET /repos/{owner}/{repo}/actions/runs on any repo that uses GitHub Actions or Dependabot
  2. Inspect the head_commit.committer.email or head_commit.author.email field
  3. Validating against the current schema's format: "email" constraint will fail for bot-authored commits

Notes

  • This affects all endpoints returning workflow run objects with commit data
  • The same issue may affect other endpoints that return commit author/committer objects where bot accounts are involved

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions