Test-Driven Development Repos API

The Repos API from Test-Driven Development — 7 operation(s) for repos.

OpenAPI Specification

test-driven-development-repos-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: GitHub Actions API (Test-Driven Development) Repos API
  description: Subset of the GitHub REST API for managing GitHub Actions workflows and workflow runs in support of test-driven development pipelines, where tests are written first and executed on every pull request and commit via automated CI/CD workflows.
  version: '2026-03-10'
  contact:
    name: GitHub REST API - Actions
    url: https://docs.github.com/en/rest/actions
servers:
- url: https://api.github.com
  description: GitHub REST API
security:
- bearerAuth: []
tags:
- name: Repos
paths:
  /repos/{owner}/{repo}/actions/workflows:
    get:
      summary: List repository workflows
      operationId: listWorkflows
      parameters:
      - $ref: '#/components/parameters/Owner'
      - $ref: '#/components/parameters/Repo'
      responses:
        '200':
          description: Workflows listed.
      tags:
      - Repos
  /repos/{owner}/{repo}/actions/workflows/{workflow_id}:
    get:
      summary: Get a workflow
      operationId: getWorkflow
      parameters:
      - $ref: '#/components/parameters/Owner'
      - $ref: '#/components/parameters/Repo'
      - name: workflow_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Workflow returned.
      tags:
      - Repos
  /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches:
    post:
      summary: Trigger a workflow run via workflow_dispatch
      operationId: dispatchWorkflow
      parameters:
      - $ref: '#/components/parameters/Owner'
      - $ref: '#/components/parameters/Repo'
      - name: workflow_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                ref:
                  type: string
                inputs:
                  type: object
      responses:
        '204':
          description: Workflow dispatched.
      tags:
      - Repos
  /repos/{owner}/{repo}/actions/runs:
    get:
      summary: List workflow runs for a repository
      operationId: listWorkflowRuns
      parameters:
      - $ref: '#/components/parameters/Owner'
      - $ref: '#/components/parameters/Repo'
      responses:
        '200':
          description: Runs listed.
      tags:
      - Repos
  /repos/{owner}/{repo}/actions/runs/{run_id}:
    get:
      summary: Get a workflow run
      operationId: getWorkflowRun
      parameters:
      - $ref: '#/components/parameters/Owner'
      - $ref: '#/components/parameters/Repo'
      - name: run_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Run returned.
      tags:
      - Repos
  /repos/{owner}/{repo}/actions/runs/{run_id}/rerun:
    post:
      summary: Re-run a workflow
      operationId: rerunWorkflowRun
      parameters:
      - $ref: '#/components/parameters/Owner'
      - $ref: '#/components/parameters/Repo'
      - name: run_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '201':
          description: Re-run created.
      tags:
      - Repos
  /repos/{owner}/{repo}/actions/runs/{run_id}/cancel:
    post:
      summary: Cancel a workflow run
      operationId: cancelWorkflowRun
      parameters:
      - $ref: '#/components/parameters/Owner'
      - $ref: '#/components/parameters/Repo'
      - name: run_id
        in: path
        required: true
        schema:
          type: integer
      responses:
        '202':
          description: Cancellation accepted.
      tags:
      - Repos
components:
  parameters:
    Owner:
      name: owner
      in: path
      required: true
      schema:
        type: string
    Repo:
      name: repo
      in: path
      required: true
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: GitHub token