dev.knotless.createComment

lexicons.knotless.dev

Documentation

Writes a dev.knotless.comment record in the account logged in to this appview's web pages, as `knotless comment` does: with a verdict, a review of the pull's head as it is now. Requires the session cookie the pages' login sets: the appview writes with the session it keeps for that account. Clients holding their own session write the record themselves.

main procedure

Writes a dev.knotless.comment record in the account logged in to this appview's web pages, as `knotless comment` does: with a verdict, a review of the pull's head as it is now. Requires the session cookie the pages' login sets: the appview writes with the session it keeps for that account. Clients holding their own session write the record themselves.

Input

Encodingapplication/json
body string Required

What it says, in Markdown.

maxLength: 20000 bytes
images array Optional

Pictures uploaded with dev.knotless.uploadImage; those the body links to are attached.

maxLength: 32 items
lines array Optional

Comments on lines of a pull's diff, at its head as it is now, each starting a thread, written at once: as the review's when it has a body or a verdict, else on their own.

maxLength: 100 items
repo stringat-uri Required

The repository's dev.knotless.repo record, as dev.knotless.getRepo takes it.

subject stringat-uri Required

The dev.knotless.pull or dev.knotless.issue commented on; or a dev.knotless.comment to answer, in the thread it starts or is in.

verdict string Optional

For a review of a pull: `approve`, or `changes` to ask for changes.

maxLength: 64 bytes

Output

Encodingapplication/json
uri stringat-uri Required

The dev.knotless.comment record written: with lines, the review, or without one the first line comment.

Errors

NotFound No such repository.
AuthenticationRequired No account is logged in to the pages, or its session has ended.
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://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "description": "Writes a dev.knotless.comment record in the account logged in to this appview's web pages, as `knotless comment` does: with a verdict, a review of the pull's head as it is now. Requires the session cookie the pages' login sets: the appview writes with the session it keeps for that account. Clients holding their own session write the record themselves.",
  "errors": [
    {
      "description": "No such repository.",
      "name": "NotFound"
    },
    {
      "description": "No account is logged in to the pages, or its session has ended.",
      "name": "AuthenticationRequired"
    }
  ],
  "input": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "body": {
          "description": "What it says, in Markdown.",
          "maxLength": 20000,
          "type": "string"
        },
        "images": {
          "description": "Pictures uploaded with dev.knotless.uploadImage; those the body links to are attached.",
          "items": {
            "ref": "dev.knotless.defs#image",
            "type": "ref"
          },
          "maxLength": 32,
          "type": "array"
        },
        "lines": {
          "description": "Comments on lines of a pull's diff, at its head as it is now, each starting a thread, written at once: as the review's when it has a body or a verdict, else on their own.",
          "items": {
            "ref": "#lineComment",
            "type": "ref"
          },
          "maxLength": 100,
          "type": "array"
        },
        "repo": {
          "description": "The repository's dev.knotless.repo record, as dev.knotless.getRepo takes it.",
          "format": "at-uri",
          "type": "string"
        },
        "subject": {
          "description": "The dev.knotless.pull or dev.knotless.issue commented on; or a dev.knotless.comment to answer, in the thread it starts or is in.",
          "format": "at-uri",
          "type": "string"
        },
        "verdict": {
          "description": "For a review of a pull: `approve`, or `changes` to ask for changes.",
          "knownValues": [
            "approve",
            "changes"
          ],
          "maxLength": 64,
          "type": "string"
        }
      },
      "required": [
        "repo",
        "subject",
        "body"
      ],
      "type": "object"
    }
  },
  "output": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "uri": {
          "description": "The dev.knotless.comment record written: with lines, the review, or without one the first line comment.",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri"
      ],
      "type": "object"
    }
  },
  "type": "procedure"
}
lineComment object

A comment on lines of a pull's diff.

Properties

body string Required

What it says, in Markdown.

maxLength: 20000 bytes
line integer Required

The last line commented on, counting from 1, in the file as it is on that side.

minimum: 1
path string Required

The file's path on the side commented on.

maxLength: 1024 bytes
side string Optional

`new`, the side the pull brings in, or `old`, the side it leaves. Absent, `new`.

maxLength: 16 bytes
Known values: old, new
startLine integer Optional

The first, for more than one line.

minimum: 1
View raw schema
{
  "description": "A comment on lines of a pull's diff.",
  "properties": {
    "body": {
      "description": "What it says, in Markdown.",
      "maxLength": 20000,
      "type": "string"
    },
    "line": {
      "description": "The last line commented on, counting from 1, in the file as it is on that side.",
      "minimum": 1,
      "type": "integer"
    },
    "path": {
      "description": "The file's path on the side commented on.",
      "maxLength": 1024,
      "type": "string"
    },
    "side": {
      "description": "`new`, the side the pull brings in, or `old`, the side it leaves. Absent, `new`.",
      "knownValues": [
        "old",
        "new"
      ],
      "maxLength": 16,
      "type": "string"
    },
    "startLine": {
      "description": "The first, for more than one line.",
      "minimum": 1,
      "type": "integer"
    }
  },
  "required": [
    "path",
    "line",
    "body"
  ],
  "type": "object"
}

Lexicon Garden

@