Skip to content

overlane repo pr merge

Merge a pull request

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Merges when the protection rules allow: approvals on the current head, required checks passed, no changes requested, a merge method the branch allows. An agent’s merge into a protected branch waits for an approval; the answer names each blocker. Exit 5 when blocked, 6 when waiting for an approval.

Usage

overlane repo pr merge repo number [--method METHOD] [--approval ID] [--dry-run]

Arguments

Argument Required Description
repo yes The repository name or ID
number yes The pull request number

Flags

Flag Type Required Default Description
--method one of merge, squash, rebase no How to merge (default: squash)
--approval string no Run an action that an approval covers; get the ID from overlane guard approvals list
--dry-run boolean no Print the requests and file changes this command would make, then stop. Needs no credentials.

Examples

overlane repo pr merge app 7 --method squash
overlane repo pr merge app 7 --dry-run

Behavior

  • Effect: write (changes local or hosted state).
  • Needs credentials: yes. Uses the network: yes.
  • Supports --dry-run: yes. Accepts --force: no.
  • Machine-readable description: overlane schema repo pr merge.

Result

With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.

{
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "tenantId": {
          "type": "string",
          "minLength": 1,
          "maxLength": 128,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
          "description": "tenant identifier"
        },
        "pull": {
          "type": "object",
          "properties": {
            "schemaVersion": {
              "type": "string",
              "const": "1"
            },
            "tenantId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
              "description": "tenant identifier"
            },
            "projectId": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128,
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
              "description": "project identifier"
            },
            "repoId": {
              "type": "string",
              "pattern": "^repo_[A-Za-z0-9]{6,40}$"
            },
            "provider": {
              "type": "string",
              "enum": [
                "overlane",
                "github",
                "gitlab"
              ]
            },
            "number": {
              "type": "integer",
              "exclusiveMinimum": 0,
              "maximum": 9007199254740991
            },
            "title": {
              "type": "string",
              "minLength": 1,
              "maxLength": 500
            },
            "body": {
              "type": "string",
              "maxLength": 60000
            },
            "state": {
              "type": "string",
              "enum": [
                "open",
                "merged",
                "closed"
              ]
            },
            "draft": {
              "type": "boolean"
            },
            "head": {
              "type": "object",
              "properties": {
                "branch": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200,
                  "pattern": "^[A-Za-z0-9._/-]+$"
                },
                "sha": {
                  "type": "string",
                  "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
                }
              },
              "required": [
                "branch",
                "sha"
              ],
              "additionalProperties": false
            },
            "base": {
              "type": "object",
              "properties": {
                "branch": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 200,
                  "pattern": "^[A-Za-z0-9._/-]+$"
                },
                "sha": {
                  "type": "string",
                  "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
                }
              },
              "required": [
                "branch",
                "sha"
              ],
              "additionalProperties": false
            },
            "author": {
              "type": "object",
              "properties": {
                "kind": {
                  "type": "string",
                  "enum": [
                    "user",
                    "agent"
                  ]
                },
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                }
              },
              "required": [
                "kind",
                "id"
              ],
              "additionalProperties": false
            },
            "fork": {
              "type": "boolean"
            },
            "mergeMethod": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "merge",
                    "squash",
                    "rebase"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "mergedSha": {
              "anyOf": [
                {
                  "type": "string",
                  "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
                },
                {
                  "type": "null"
                }
              ]
            },
            "createdAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            },
            "updatedAt": {
              "type": "string",
              "format": "date-time",
              "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
            }
          },
          "required": [
            "schemaVersion",
            "tenantId",
            "projectId",
            "repoId",
            "provider",
            "number",
            "title",
            "body",
            "state",
            "draft",
            "head",
            "base",
            "author",
            "fork",
            "mergeMethod",
            "mergedSha",
            "createdAt",
            "updatedAt"
          ],
          "additionalProperties": false
        },
        "mergeSha": {
          "type": "string",
          "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
        },
        "replay": {
          "type": "boolean"
        }
      },
      "required": [
        "tenantId",
        "pull",
        "mergeSha",
        "replay"
      ],
      "additionalProperties": false
    },
    {
      "type": "object",
      "properties": {
        "dryRun": {
          "type": "boolean",
          "const": true
        },
        "service": {
          "type": "string"
        },
        "requests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "body": {},
              "note": {
                "type": "string"
              }
            },
            "required": [
              "method",
              "path"
            ],
            "additionalProperties": false
          }
        },
        "commands": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "writes": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "path": {
                "type": "string"
              },
              "action": {
                "type": "string",
                "enum": [
                  "write",
                  "append",
                  "delete"
                ]
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "path",
              "action",
              "description"
            ],
            "additionalProperties": false
          }
        },
        "notes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "dryRun",
        "requests",
        "commands",
        "writes",
        "notes"
      ],
      "additionalProperties": false
    }
  ]
}

See exit codes for the status the process returns.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.