GitHub · Capability

GitHub v3 REST API — Issues

GitHub v3 REST API — Issues. 40 operations. Lead operation: GitHub List Issues Assigned to the Authenticated User. Self-contained Naftiko capability covering one Github business surface.

Run with Naftiko GithubIssues

What You Can Do

GET
Issueslist — GitHub List Issues Assigned to the Authenticated User
/v1/issues
GET
Issueslistfororg — GitHub List Organization Issues Assigned to the Authenticated User
/v1/orgs/{org}/issues
GET
Issueslistassignees — GitHub List Assignees
/v1/repos/{owner}/{repo}/assignees
GET
Issuescheckusercanbeassigned — GitHub Check if a User Can Be Assigned
/v1/repos/{owner}/{repo}/assignees/{assignee}
GET
Issueslistforrepo — GitHub List Repository Issues
/v1/repos/{owner}/{repo}/issues
POST
Issuescreate — GitHub Create an Issue
/v1/repos/{owner}/{repo}/issues
GET
Issueslistcommentsforrepo — GitHub List Issue Comments for a Repository
/v1/repos/{owner}/{repo}/issues/comments
GET
Issuesgetcomment — GitHub Get an Issue Comment
/v1/repos/{owner}/{repo}/issues/comments/{comment-id}
PATCH
Issuesupdatecomment — GitHub Update an Issue Comment
/v1/repos/{owner}/{repo}/issues/comments/{comment-id}
DELETE
Issuesdeletecomment — GitHub Delete an Issue Comment
/v1/repos/{owner}/{repo}/issues/comments/{comment-id}
GET
Issueslisteventsforrepo — GitHub List Issue Events for a Repository
/v1/repos/{owner}/{repo}/issues/events
GET
Issuesgetevent — GitHub Get an Issue Event
/v1/repos/{owner}/{repo}/issues/events/{event-id}
GET
Issuesget — GitHub Get an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}
PATCH
Issuesupdate — GitHub Update an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}
POST
Issuesaddassignees — GitHub Add Assignees to an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/assignees
DELETE
Issuesremoveassignees — GitHub Remove Assignees from an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/assignees
GET
Issuescheckusercanbeassignedtoissue — GitHub Check if a User Can Be Assigned to a Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/assignees/{assignee}
GET
Issueslistcomments — GitHub List Issue Comments
/v1/repos/{owner}/{repo}/issues/{issue-number}/comments
POST
Issuescreatecomment — GitHub Create an Issue Comment
/v1/repos/{owner}/{repo}/issues/{issue-number}/comments
GET
Issueslistevents — GitHub List Issue Events
/v1/repos/{owner}/{repo}/issues/{issue-number}/events
GET
Issueslistlabelsonissue — GitHub List Labels for an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/labels
POST
Issuesaddlabels — GitHub Add Labels to an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/labels
PUT
Issuessetlabels — GitHub Set Labels for an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/labels
DELETE
Issuesremovealllabels — GitHub Remove All Labels from an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/labels
DELETE
Issuesremovelabel — GitHub Remove a Label from an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/labels/{name}
PUT
Issueslock — GitHub Lock an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/lock
DELETE
Issuesunlock — GitHub Unlock an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/lock
GET
Issueslisteventsfortimeline — GitHub List Timeline Events for an Issue
/v1/repos/{owner}/{repo}/issues/{issue-number}/timeline
GET
Issueslistlabelsforrepo — GitHub List Labels for a Repository
/v1/repos/{owner}/{repo}/labels
POST
Issuescreatelabel — GitHub Create a Label
/v1/repos/{owner}/{repo}/labels
GET
Issuesgetlabel — GitHub Get a Label
/v1/repos/{owner}/{repo}/labels/{name}
PATCH
Issuesupdatelabel — GitHub Update a Label
/v1/repos/{owner}/{repo}/labels/{name}
DELETE
Issuesdeletelabel — GitHub Delete a Label
/v1/repos/{owner}/{repo}/labels/{name}
GET
Issueslistmilestones — GitHub List Milestones
/v1/repos/{owner}/{repo}/milestones
POST
Issuescreatemilestone — GitHub Create a Milestone
/v1/repos/{owner}/{repo}/milestones
GET
Issuesgetmilestone — GitHub Get a Milestone
/v1/repos/{owner}/{repo}/milestones/{milestone-number}
PATCH
Issuesupdatemilestone — GitHub Update a Milestone
/v1/repos/{owner}/{repo}/milestones/{milestone-number}
DELETE
Issuesdeletemilestone — GitHub Delete a Milestone
/v1/repos/{owner}/{repo}/milestones/{milestone-number}
GET
Issueslistlabelsformilestone — GitHub List Labels for Issues in a Milestone
/v1/repos/{owner}/{repo}/milestones/{milestone-number}/labels
GET
Issueslistforauthenticateduser — GitHub List User Account Issues Assigned to the Authenticated User
/v1/user/issues

MCP Tools

github-list-issues-assigned-authenticated

GitHub List Issues Assigned to the Authenticated User

read-only idempotent
github-list-organization-issues-assigned

GitHub List Organization Issues Assigned to the Authenticated User

read-only idempotent
github-list-assignees

GitHub List Assignees

read-only idempotent
github-check-if-user-can

GitHub Check if a User Can Be Assigned

read-only idempotent
github-list-repository-issues

GitHub List Repository Issues

read-only idempotent
github-create-issue

GitHub Create an Issue

github-list-issue-comments-repository

GitHub List Issue Comments for a Repository

read-only idempotent
github-get-issue-comment

GitHub Get an Issue Comment

read-only idempotent
github-update-issue-comment

GitHub Update an Issue Comment

idempotent
github-delete-issue-comment

GitHub Delete an Issue Comment

idempotent
github-list-issue-events-repository

GitHub List Issue Events for a Repository

read-only idempotent
github-get-issue-event

GitHub Get an Issue Event

read-only idempotent
github-get-issue

GitHub Get an Issue

read-only idempotent
github-update-issue

GitHub Update an Issue

idempotent
github-add-assignees-issue

GitHub Add Assignees to an Issue

github-remove-assignees-issue

GitHub Remove Assignees from an Issue

idempotent
github-check-if-user-can-2

GitHub Check if a User Can Be Assigned to a Issue

read-only idempotent
github-list-issue-comments

GitHub List Issue Comments

read-only idempotent
github-create-issue-comment

GitHub Create an Issue Comment

github-list-issue-events

GitHub List Issue Events

read-only idempotent
github-list-labels-issue

GitHub List Labels for an Issue

read-only idempotent
github-add-labels-issue

GitHub Add Labels to an Issue

github-set-labels-issue

GitHub Set Labels for an Issue

idempotent
github-remove-all-labels-issue

GitHub Remove All Labels from an Issue

idempotent
github-remove-label-issue

GitHub Remove a Label from an Issue

idempotent
github-lock-issue

GitHub Lock an Issue

idempotent
github-unlock-issue

GitHub Unlock an Issue

idempotent
github-list-timeline-events-issue

GitHub List Timeline Events for an Issue

read-only idempotent
github-list-labels-repository

GitHub List Labels for a Repository

read-only idempotent
github-create-label

GitHub Create a Label

github-get-label

GitHub Get a Label

read-only idempotent
github-update-label

GitHub Update a Label

idempotent
github-delete-label

GitHub Delete a Label

idempotent
github-list-milestones

GitHub List Milestones

read-only idempotent
github-create-milestone

GitHub Create a Milestone

github-get-milestone

GitHub Get a Milestone

read-only idempotent
github-update-milestone

GitHub Update a Milestone

idempotent
github-delete-milestone

GitHub Delete a Milestone

idempotent
github-list-labels-issues-milestone

GitHub List Labels for Issues in a Milestone

read-only idempotent
github-list-user-account-issues

GitHub List User Account Issues Assigned to the Authenticated User

read-only idempotent

Capability Spec

github-issues.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GitHub v3 REST API — Issues
  description: 'GitHub v3 REST API — Issues. 40 operations. Lead operation: GitHub List Issues Assigned to the Authenticated
    User. Self-contained Naftiko capability covering one Github business surface.'
  tags:
  - Github
  - Issues
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GITHUB_API_KEY: GITHUB_API_KEY
capability:
  consumes:
  - type: http
    namespace: github-issues
    baseUri: ''
    description: GitHub v3 REST API — Issues business capability. Self-contained, no shared references.
    resources:
    - name: issues
      path: /issues
      operations:
      - name: issueslist
        method: GET
        description: GitHub List Issues Assigned to the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filter
          in: query
          type: string
          description: Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means
            issues created by you. `mentioned` means issues mentioning y
        - name: state
          in: query
          type: string
          description: Indicates the state of the issues to return.
        - name: sort
          in: query
          type: string
          description: What to sort results by.
        - name: collab
          in: query
          type: boolean
        - name: orgs
          in: query
          type: boolean
        - name: owned
          in: query
          type: boolean
        - name: pulls
          in: query
          type: boolean
    - name: orgs-org-issues
      path: /orgs/{org}/issues
      operations:
      - name: issueslistfororg
        method: GET
        description: GitHub List Organization Issues Assigned to the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filter
          in: query
          type: string
          description: Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means
            issues created by you. `mentioned` means issues mentioning y
        - name: state
          in: query
          type: string
          description: Indicates the state of the issues to return.
        - name: sort
          in: query
          type: string
          description: What to sort results by.
    - name: repos-owner-repo-assignees
      path: /repos/{owner}/{repo}/assignees
      operations:
      - name: issueslistassignees
        method: GET
        description: GitHub List Assignees
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: repos-owner-repo-assignees-assignee
      path: /repos/{owner}/{repo}/assignees/{assignee}
      operations:
      - name: issuescheckusercanbeassigned
        method: GET
        description: GitHub Check if a User Can Be Assigned
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: assignee
          in: path
          type: string
          required: true
    - name: repos-owner-repo-issues
      path: /repos/{owner}/{repo}/issues
      operations:
      - name: issueslistforrepo
        method: GET
        description: GitHub List Repository Issues
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: milestone
          in: query
          type: string
          description: If an `integer` is passed, it should refer to a milestone by its `number` field. If the string `*`
            is passed, issues with any milestone are accepted. If the str
        - name: state
          in: query
          type: string
          description: Indicates the state of the issues to return.
        - name: assignee
          in: query
          type: string
          description: Can be the name of a user. Pass in `none` for issues with no assigned user, and `*` for issues assigned
            to any user.
        - name: creator
          in: query
          type: string
          description: The user that created the issue.
        - name: mentioned
          in: query
          type: string
          description: A user that's mentioned in the issue.
        - name: sort
          in: query
          type: string
          description: What to sort results by.
      - name: issuescreate
        method: POST
        description: GitHub Create an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: repos-owner-repo-issues-comments
      path: /repos/{owner}/{repo}/issues/comments
      operations:
      - name: issueslistcommentsforrepo
        method: GET
        description: GitHub List Issue Comments for a Repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: direction
          in: query
          type: string
          description: Either `asc` or `desc`. Ignored without the `sort` parameter.
    - name: repos-owner-repo-issues-comments-comment_id
      path: /repos/{owner}/{repo}/issues/comments/{comment_id}
      operations:
      - name: issuesgetcomment
        method: GET
        description: GitHub Get an Issue Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: issuesupdatecomment
        method: PATCH
        description: GitHub Update an Issue Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: issuesdeletecomment
        method: DELETE
        description: GitHub Delete an Issue Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: repos-owner-repo-issues-events
      path: /repos/{owner}/{repo}/issues/events
      operations:
      - name: issueslisteventsforrepo
        method: GET
        description: GitHub List Issue Events for a Repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: repos-owner-repo-issues-events-event_id
      path: /repos/{owner}/{repo}/issues/events/{event_id}
      operations:
      - name: issuesgetevent
        method: GET
        description: GitHub Get an Issue Event
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: event_id
          in: path
          type: integer
          required: true
    - name: repos-owner-repo-issues-issue_number
      path: /repos/{owner}/{repo}/issues/{issue_number}
      operations:
      - name: issuesget
        method: GET
        description: GitHub Get an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: issuesupdate
        method: PATCH
        description: GitHub Update an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: repos-owner-repo-issues-issue_number-assignees
      path: /repos/{owner}/{repo}/issues/{issue_number}/assignees
      operations:
      - name: issuesaddassignees
        method: POST
        description: GitHub Add Assignees to an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: issuesremoveassignees
        method: DELETE
        description: GitHub Remove Assignees from an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: repos-owner-repo-issues-issue_number-assignees-assignee
      path: /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}
      operations:
      - name: issuescheckusercanbeassignedtoissue
        method: GET
        description: GitHub Check if a User Can Be Assigned to a Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: assignee
          in: path
          type: string
          required: true
    - name: repos-owner-repo-issues-issue_number-comments
      path: /repos/{owner}/{repo}/issues/{issue_number}/comments
      operations:
      - name: issueslistcomments
        method: GET
        description: GitHub List Issue Comments
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: issuescreatecomment
        method: POST
        description: GitHub Create an Issue Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: repos-owner-repo-issues-issue_number-events
      path: /repos/{owner}/{repo}/issues/{issue_number}/events
      operations:
      - name: issueslistevents
        method: GET
        description: GitHub List Issue Events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: repos-owner-repo-issues-issue_number-labels
      path: /repos/{owner}/{repo}/issues/{issue_number}/labels
      operations:
      - name: issueslistlabelsonissue
        method: GET
        description: GitHub List Labels for an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: issuesaddlabels
        method: POST
        description: GitHub Add Labels to an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: issuessetlabels
        method: PUT
        description: GitHub Set Labels for an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: issuesremovealllabels
        method: DELETE
        description: GitHub Remove All Labels from an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: repos-owner-repo-issues-issue_number-labels-name
      path: /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}
      operations:
      - name: issuesremovelabel
        method: DELETE
        description: GitHub Remove a Label from an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
    - name: repos-owner-repo-issues-issue_number-lock
      path: /repos/{owner}/{repo}/issues/{issue_number}/lock
      operations:
      - name: issueslock
        method: PUT
        description: GitHub Lock an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: issuesunlock
        method: DELETE
        description: GitHub Unlock an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: repos-owner-repo-issues-issue_number-timeline
      path: /repos/{owner}/{repo}/issues/{issue_number}/timeline
      operations:
      - name: issueslisteventsfortimeline
        method: GET
        description: GitHub List Timeline Events for an Issue
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: repos-owner-repo-labels
      path: /repos/{owner}/{repo}/labels
      operations:
      - name: issueslistlabelsforrepo
        method: GET
        description: GitHub List Labels for a Repository
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: issuescreatelabel
        method: POST
        description: GitHub Create a Label
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: repos-owner-repo-labels-name
      path: /repos/{owner}/{repo}/labels/{name}
      operations:
      - name: issuesgetlabel
        method: GET
        description: GitHub Get a Label
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
      - name: issuesupdatelabel
        method: PATCH
        description: GitHub Update a Label
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: issuesdeletelabel
        method: DELETE
        description: GitHub Delete a Label
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: name
          in: path
          type: string
          required: true
    - name: repos-owner-repo-milestones
      path: /repos/{owner}/{repo}/milestones
      operations:
      - name: issueslistmilestones
        method: GET
        description: GitHub List Milestones
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: state
          in: query
          type: string
          description: The state of the milestone. Either `open`, `closed`, or `all`.
        - name: sort
          in: query
          type: string
          description: What to sort results by. Either `due_on` or `completeness`.
        - name: direction
          in: query
          type: string
          description: The direction of the sort. Either `asc` or `desc`.
      - name: issuescreatemilestone
        method: POST
        description: GitHub Create a Milestone
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: repos-owner-repo-milestones-milestone_number
      path: /repos/{owner}/{repo}/milestones/{milestone_number}
      operations:
      - name: issuesgetmilestone
        method: GET
        description: GitHub Get a Milestone
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: issuesupdatemilestone
        method: PATCH
        description: GitHub Update a Milestone
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: issuesdeletemilestone
        method: DELETE
        description: GitHub Delete a Milestone
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: repos-owner-repo-milestones-milestone_number-labels
      path: /repos/{owner}/{repo}/milestones/{milestone_number}/labels
      operations:
      - name: issueslistlabelsformilestone
        method: GET
        description: GitHub List Labels for Issues in a Milestone
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: user-issues
      path: /user/issues
      operations:
      - name: issueslistforauthenticateduser
        method: GET
        description: GitHub List User Account Issues Assigned to the Authenticated User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: filter
          in: query
          type: string
          description: Indicates which sorts of issues to return. `assigned` means issues assigned to you. `created` means
            issues created by you. `mentioned` means issues mentioning y
        - name: state
          in: query
          type: string
          description: Indicates the state of the issues to return.
        - name: sort
          in: query
          type: string
          description: What to sort results by.
  exposes:
  - type: rest
    namespace: github-issues-rest
    port: 8080
    description: REST adapter for GitHub v3 REST API — Issues. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/issues
      name: issues
      description: REST surface for issues.
      operations:
      - method: GET
        name: issueslist
        description: GitHub List Issues Assigned to the Authenticated User
        call: github-issues.issueslist
        with:
          filter: rest.filter
          state: rest.state
          sort: rest.sort
          collab: rest.collab
          orgs: rest.orgs
          owned: rest.owned
          pulls: rest.pulls
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/orgs/{org}/issues
      name: orgs-org-issues
      description: REST surface for orgs-org-issues.
      operations:
      - method: GET
        name: issueslistfororg
        description: GitHub List Organization Issues Assigned to the Authenticated User
        call: github-issues.issueslistfororg
        with:
          filter: rest.filter
          state: rest.state
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/assignees
      name: repos-owner-repo-assignees
      description: REST surface for repos-owner-repo-assignees.
      operations:
      - method: GET
        name: issueslistassignees
        description: GitHub List Assignees
        call: github-issues.issueslistassignees
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/assignees/{assignee}
      name: repos-owner-repo-assignees-assignee
      description: REST surface for repos-owner-repo-assignees-assignee.
      operations:
      - method: GET
        name: issuescheckusercanbeassigned
        description: GitHub Check if a User Can Be Assigned
        call: github-issues.issuescheckusercanbeassigned
        with:
          assignee: rest.assignee
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues
      name: repos-owner-repo-issues
      description: REST surface for repos-owner-repo-issues.
      operations:
      - method: GET
        name: issueslistforrepo
        description: GitHub List Repository Issues
        call: github-issues.issueslistforrepo
        with:
          milestone: rest.milestone
          state: rest.state
          assignee: rest.assignee
          creator: rest.creator
          mentioned: rest.mentioned
          sort: rest.sort
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: issuescreate
        description: GitHub Create an Issue
        call: github-issues.issuescreate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/comments
      name: repos-owner-repo-issues-comments
      description: REST surface for repos-owner-repo-issues-comments.
      operations:
      - method: GET
        name: issueslistcommentsforrepo
        description: GitHub List Issue Comments for a Repository
        call: github-issues.issueslistcommentsforrepo
        with:
          direction: rest.direction
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/comments/{comment-id}
      name: repos-owner-repo-issues-comments-comment-id
      description: REST surface for repos-owner-repo-issues-comments-comment_id.
      operations:
      - method: GET
        name: issuesgetcomment
        description: GitHub Get an Issue Comment
        call: github-issues.issuesgetcomment
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: issuesupdatecomment
        description: GitHub Update an Issue Comment
        call: github-issues.issuesupdatecomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: issuesdeletecomment
        description: GitHub Delete an Issue Comment
        call: github-issues.issuesdeletecomment
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/events
      name: repos-owner-repo-issues-events
      description: REST surface for repos-owner-repo-issues-events.
      operations:
      - method: GET
        name: issueslisteventsforrepo
        description: GitHub List Issue Events for a Repository
        call: github-issues.issueslisteventsforrepo
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/events/{event-id}
      name: repos-owner-repo-issues-events-event-id
      description: REST surface for repos-owner-repo-issues-events-event_id.
      operations:
      - method: GET
        name: issuesgetevent
        description: GitHub Get an Issue Event
        call: github-issues.issuesgetevent
        with:
          event_id: rest.event_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/{issue-number}
      name: repos-owner-repo-issues-issue-number
      description: REST surface for repos-owner-repo-issues-issue_number.
      operations:
      - method: GET
        name: issuesget
        description: GitHub Get an Issue
        call: github-issues.issuesget
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: issuesupdate
        description: GitHub Update an Issue
        call: github-issues.issuesupdate
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/{issue-number}/assignees
      name: repos-owner-repo-issues-issue-number-assignees
      description: REST surface for repos-owner-repo-issues-issue_number-assignees.
      operations:
      - method: POST
        name: issuesaddassignees
        description: GitHub Add Assignees to an Issue
        call: github-issues.issuesaddassignees
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: issuesremoveassignees
        description: GitHub Remove Assignees from an Issue
        call: github-issues.issuesremoveassignees
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/{issue-number}/assignees/{assignee}
      name: repos-owner-repo-issues-issue-number-assignees-assignee
      description: REST surface for repos-owner-repo-issues-issue_number-assignees-assignee.
      operations:
      - method: GET
        name: issuescheckusercanbeassignedtoissue
        description: GitHub Check if a User Can Be Assigned to a Issue
        call: github-issues.issuescheckusercanbeassignedtoissue
        with:
          assignee: rest.assignee
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/{issue-number}/comments
      name: repos-owner-repo-issues-issue-number-comments
      description: REST surface for repos-owner-repo-issues-issue_number-comments.
      operations:
      - method: GET
        name: issueslistcomments
        description: GitHub List Issue Comments
        call: github-issues.issueslistcomments
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: issuescreatecomment
        description: GitHub Create an Issue Comment
        call: github-issues.issuescreatecomment
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/{issue-number}/events
      name: repos-owner-repo-issues-issue-number-events
      description: REST surface for repos-owner-repo-issues-issue_number-events.
      operations:
      - method: GET
        name: issueslistevents
        description: GitHub List Issue Events
        call: github-issues.issueslistevents
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/{issue-number}/labels
      name: repos-owner-repo-issues-issue-number-labels
      description: REST surface for repos-owner-repo-issues-issue_number-labels.
      operations:
      - method: GET
        name: issueslistlabelsonissue
        description: GitHub List Labels for an Issue
        call: github-issues.issueslistlabelsonissue
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: issuesaddlabels
        description: GitHub Add Labels to an Issue
        call: github-issues.issuesaddlabels
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: issuessetlabels
        description: GitHub Set Labels for an Issue
        call: github-issues.issuessetlabels
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: issuesremovealllabels
        description: GitHub Remove All Labels from an Issue
        call: github-issues.issuesremovealllabels
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/{issue-number}/labels/{name}
      name: repos-owner-repo-issues-issue-number-labels-name
      description: REST surface for repos-owner-repo-issues-issue_number-labels-name.
      operations:
      - method: DELETE
        name: issuesremovelabel
        description: GitHub Remove a Label from an Issue
        call: github-issues.issuesremovelabel
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/{issue-number}/lock
      name: repos-owner-repo-issues-issue-number-lock
      description: REST surface for repos-owner-repo-issues-issue_number-lock.
      operations:
      - method: PUT
        name: issueslock
        description: GitHub Lock an Issue
        call: github-issues.issueslock
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: issuesunlock
        description: GitHub Unlock an Issue
        call: github-issues.issuesunlock
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/issues/{issue-number}/timeline
      name: repos-owner-repo-issues-issue-number-timeline
      description: REST surface for repos-owner-repo-issues-issue_number-timeline.
      operations:
      - method: GET
        name: issueslisteventsfortimeline
        description: GitHub List Timeline Events for an Issue
        call: github-issues.issueslisteventsfortimeline
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/labels
      name: repos-owner-repo-labels
      description: REST surface for repos-owner-repo-labels.
      operations:
      - method: GET
        name: issueslistlabelsforrepo
        description: GitHub List Labels for a Repository
        call: github-issues.issueslistlabelsforrepo
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: issuescreatelabel
        description: GitHub Create a Label
        call: github-issues.issuescreatelabel
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/labels/{name}
      name: repos-owner-repo-labels-name
      description: REST surface for repos-owner-repo-labels-name.
      operations:
      - method: GET
        name: issuesgetlabel
        description: GitHub Get a Label
        call: github-issues.issuesgetlabel
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: issuesupdatelabel
        description: GitHub Update a Label
        call: github-issues.issuesupdatelabel
        with:
          name: rest.name
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: issuesdeletelabel
        description: GitHub Delete a Label
        call: github-issues.issuesdeletelabel
        with:
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/milestones
      name: repos-owner-repo-milestones
      description: REST surface for repos-owner-repo-milestones.
      operations:
      - method: GET
        name: issueslistmilestones
        description: GitHub List Milestones
        call: github-issues.issueslistmilestones
        with:
          state: rest.state
          sort: rest.sort
          direction: rest.direction
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: issuescreatemilestone
        description: GitHub Create a Milestone
        call: github-issues.issuescreatemilestone
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/repos/{owner}/{repo}/milestones/{milestone-number}
      name: repos-

# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/capabilities/github-issues.yaml