dev.knotless.createPull

lexicons.knotless.dev

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Writes a dev.knotless.pull record in the account logged in to this appview's web pages, as `knotless pull` does: asking to merge a branch of this repository or a fork into one of its branches, both of which must exist. Refused, with the template, when the repository has one at the base (see dev.knotless.getTemplate) and the body follows none of it. Requires the session cookie the pages' login sets.",
      "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": {
            "base": {
              "description": "The branch to merge into.",
              "maxLength": 1024,
              "type": "string"
            },
            "body": {
              "description": "What it does and why, in Markdown.",
              "maxLength": 20000,
              "type": "string"
            },
            "branch": {
              "description": "The branch to bring in.",
              "maxLength": 1024,
              "type": "string"
            },
            "head": {
              "description": "The repository the branch is on: this one, or a fork.",
              "format": "at-uri",
              "type": "string"
            },
            "repo": {
              "description": "The repository to merge into: its dev.knotless.repo record, as dev.knotless.getRepo takes it.",
              "format": "at-uri",
              "type": "string"
            },
            "title": {
              "maxGraphemes": 300,
              "maxLength": 3000,
              "type": "string"
            }
          },
          "required": [
            "repo",
            "base",
            "head",
            "branch",
            "title"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "uri": {
              "description": "The dev.knotless.pull record written.",
              "format": "at-uri",
              "type": "string"
            }
          },
          "required": [
            "uri"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "description": "Opens a pull on a repository, as the account logged in to this appview's pages.",
  "id": "dev.knotless.createPull",
  "lexicon": 1
}

Validate Record

Validate a record against dev.knotless.createPull

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:yqsg7znbbhfmj3a2nrpnaerk
CID
bafyreihjyjh2mtik6pcqm5fid4j4kkdxlo7fo3rxr7tu6uayipdred7sna
Indexed At
2026-10-28 21:21 UTC
AT-URI
at://did:plc:yqsg7znbbhfmj3a2nrpnaerk/com.atproto.lexicon.schema/dev.knotless.createPull

Version History (3 versions)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A request to merge a branch into a repository, kept in the requester's account.

  • Points a pull at other branches as the account logged in to this appview's pages.

  • Merges a pull as the account logged in to this appview's pages.

  • Puts a pull in its branch's merge queue as the account logged in to this appview's pages.

  • Opens an issue on a repository, as the account logged in to this appview's pages.

Lexicon Garden

@