dev.knotless.getThread

lexicons.knotless.dev

Documentation

A pull or an issue on a repository: what it says, what was said on it, and for a pull what it brings in, how its checks stand and where it is in the merge queue. No authentication; asked as an account, with a service token or the pages' session cookie, the answer says what that account may do with it, and which reactions are its own. A private repository is read for its members asking so.

main query

A pull or an issue on a repository: what it says, what was said on it, and for a pull what it brings in, how its checks stand and where it is in the merge queue. No authentication; asked as an account, with a service token or the pages' session cookie, the answer says what that account may do with it, and which reactions are its own. A private repository is read for its members asking so.

Parameters

filesOnly boolean Optional

A pull's changed files without their rows: what each is, how many lines it adds and removes, and a note where its rows would not be shown. dev.knotless.getPullDiff gives the rows of the files a reader comes to.

repo string at-uri Required

The repository's dev.knotless.repo record. Its authority may be a handle; a name the repository had before, or an owner it moved from with its agreement, finds it under the name it has now.

uri string at-uri Required

The dev.knotless.pull or dev.knotless.issue record.

Output

Encodingapplication/json
base string Optional

A pull's target branch.

body string Optional

What it says, as its author wrote it, in Markdown.

card string Required

The path of the picture its page unfurls into.

checks array Required

For a pull, the newest run of each workflow at its head: by the target's runners for the pull, and by those of the repository it comes from for its branch.

closes array Required

The issues on the repository a pull's title or body names to close as it merges into the default branch.

comments array Required

Oldest first.

html string Optional

Its body, made into HTML as a comment's is.

merged string Optional

For a merged pull, the commit it merged as.

minutes array Optional

For a pull, the minutes each runner of the target counts for the target's owner, where it has counted any; none for a private repository.

reactions array Optional

How accounts reacted to the pull or issue itself, by content, as dev.knotless.getReactions counts them. Absent when none did.

reviews array Optional

For a pull, where each reviewer stands, in the order they last reviewed. Absent when no one has.

viewer ref#viewerState Optional

What the account asking may do with it; absent when no one asks.

Errors

NotFound No such repository or record on it; or this appview keeps no index, so it knows no pulls or issues.
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
Parameters
A pull's changed files without their rows: what each is, how many lines it adds and removes, and a note where its rows would not be shown. dev.knotless.getPullDiff gives the rows of the files a reader comes to.
The repository's dev.knotless.repo record. Its authority may be a handle; a name the repository had before, or an owner it moved from with its agreement, finds it under the name it has now.
The dev.knotless.pull or dev.knotless.issue record.
View raw schema
{
  "description": "A pull or an issue on a repository: what it says, what was said on it, and for a pull what it brings in, how its checks stand and where it is in the merge queue. No authentication; asked as an account, with a service token or the pages' session cookie, the answer says what that account may do with it, and which reactions are its own. A private repository is read for its members asking so.",
  "errors": [
    {
      "description": "No such repository or record on it; or this appview keeps no index, so it knows no pulls or issues.",
      "name": "NotFound"
    }
  ],
  "output": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "base": {
          "description": "A pull's target branch.",
          "type": "string"
        },
        "body": {
          "description": "What it says, as its author wrote it, in Markdown.",
          "type": "string"
        },
        "card": {
          "description": "The path of the picture its page unfurls into.",
          "type": "string"
        },
        "changes": {
          "description": "What a pull brings in; absent for an issue, or a pull whose branch is gone.",
          "ref": "dev.knotless.defs#changesView",
          "type": "ref"
        },
        "checks": {
          "description": "For a pull, the newest run of each workflow at its head: by the target's runners for the pull, and by those of the repository it comes from for its branch.",
          "items": {
            "ref": "dev.knotless.defs#checkView",
            "type": "ref"
          },
          "type": "array"
        },
        "closedBy": {
          "description": "For a closed issue, the pull whose merge closed it.",
          "ref": "dev.knotless.defs#itemViewBasic",
          "type": "ref"
        },
        "closes": {
          "description": "The issues on the repository a pull's title or body names to close as it merges into the default branch.",
          "items": {
            "ref": "dev.knotless.defs#itemView",
            "type": "ref"
          },
          "type": "array"
        },
        "comments": {
          "description": "Oldest first.",
          "items": {
            "ref": "dev.knotless.defs#commentView",
            "type": "ref"
          },
          "type": "array"
        },
        "head": {
          "description": "What a pull brings in.",
          "ref": "dev.knotless.defs#pullHeadView",
          "type": "ref"
        },
        "html": {
          "description": "Its body, made into HTML as a comment's is.",
          "type": "string"
        },
        "item": {
          "ref": "dev.knotless.defs#itemView",
          "type": "ref"
        },
        "merged": {
          "description": "For a merged pull, the commit it merged as.",
          "type": "string"
        },
        "minutes": {
          "description": "For a pull, the minutes each runner of the target counts for the target's owner, where it has counted any; none for a private repository.",
          "items": {
            "ref": "dev.knotless.defs#minutesView",
            "type": "ref"
          },
          "type": "array"
        },
        "queue": {
          "description": "Where an open pull stands in its branch's merge queue, if it was queued or ejected from it.",
          "ref": "dev.knotless.defs#queueStateView",
          "type": "ref"
        },
        "reactions": {
          "description": "How accounts reacted to the pull or issue itself, by content, as dev.knotless.getReactions counts them. Absent when none did.",
          "items": {
            "ref": "dev.knotless.defs#reactionCountView",
            "type": "ref"
          },
          "type": "array"
        },
        "reviews": {
          "description": "For a pull, where each reviewer stands, in the order they last reviewed. Absent when no one has.",
          "items": {
            "ref": "dev.knotless.defs#reviewView",
            "type": "ref"
          },
          "type": "array"
        },
        "viewer": {
          "description": "What the account asking may do with it; absent when no one asks.",
          "ref": "#viewerState",
          "type": "ref"
        }
      },
      "required": [
        "item",
        "comments",
        "closes",
        "checks",
        "card"
      ],
      "type": "object"
    }
  },
  "parameters": {
    "properties": {
      "filesOnly": {
        "default": false,
        "description": "A pull's changed files without their rows: what each is, how many lines it adds and removes, and a note where its rows would not be shown. dev.knotless.getPullDiff gives the rows of the files a reader comes to.",
        "type": "boolean"
      },
      "repo": {
        "description": "The repository's dev.knotless.repo record. Its authority may be a handle; a name the repository had before, or an owner it moved from with its agreement, finds it under the name it has now.",
        "format": "at-uri",
        "type": "string"
      },
      "uri": {
        "description": "The dev.knotless.pull or dev.knotless.issue record.",
        "format": "at-uri",
        "type": "string"
      }
    },
    "required": [
      "repo",
      "uri"
    ],
    "type": "params"
  },
  "type": "query"
}
viewerState object

What the account asking may do with a pull or an issue, past commenting on it, editing what it wrote and reporting, which anyone may.

Properties

hide boolean Optional

Whether it may hide it, or what is said on it: as the repository's owner.

labels array of refdev.knotless.repo#label Optional

The labels the repository defines that it may put on or take off, in the order the repository defines them.

revert boolean Optional

Whether it may revert a merged pull with dev.knotless.revertPull: as the repository's owner or a collaborator.

setState boolean Optional

Whether it may close or reopen it: as who opened it, or the repository's owner or a collaborator.

View raw schema
{
  "description": "What the account asking may do with a pull or an issue, past commenting on it, editing what it wrote and reporting, which anyone may.",
  "properties": {
    "hide": {
      "description": "Whether it may hide it, or what is said on it: as the repository's owner.",
      "type": "boolean"
    },
    "labels": {
      "description": "The labels the repository defines that it may put on or take off, in the order the repository defines them.",
      "items": {
        "ref": "dev.knotless.repo#label",
        "type": "ref"
      },
      "type": "array"
    },
    "revert": {
      "description": "Whether it may revert a merged pull with dev.knotless.revertPull: as the repository's owner or a collaborator.",
      "type": "boolean"
    },
    "setState": {
      "description": "Whether it may close or reopen it: as who opened it, or the repository's owner or a collaborator.",
      "type": "boolean"
    }
  },
  "type": "object"
}

Lexicon Garden

@