Skip to content

overlane channel hold

Hold a channel so nothing is promoted into it

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Stops scheduled and manual promotions into the channel until the hold is released, and records who held it and why. The build already on the channel keeps serving.

Usage

overlane channel hold channel [--reason TEXT] [--dry-run]

Arguments

Argument Required Description
channel yes internal, nightly, beta, stable or lts

Flags

Flag Type Required Default Description
--reason string no Why; kept in the promotion history (required)
--dry-run boolean no Print the requests and file changes this command would make, then stop. Needs no credentials.

Examples

overlane channel hold stable --reason "checkout errors under investigation"

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 channel hold.

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"
        },
        "projectId": {
          "type": "string"
        },
        "channel": {
          "type": "object",
          "properties": {
            "channel": {
              "type": "string",
              "enum": [
                "internal",
                "nightly",
                "beta",
                "stable",
                "lts"
              ]
            },
            "build": {
              "anyOf": [
                {
                  "type": "object",
                  "properties": {
                    "commitSha": {
                      "type": "string"
                    },
                    "version": {
                      "type": "string"
                    },
                    "enteredAt": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "commitSha",
                    "version",
                    "enteredAt"
                  ],
                  "additionalProperties": {}
                },
                {
                  "type": "null"
                }
              ]
            },
            "held": {
              "type": "boolean"
            },
            "holdReason": {
              "type": [
                "string",
                "null"
              ]
            },
            "heldBy": {
              "type": [
                "string",
                "null"
              ]
            },
            "updatedAt": {
              "type": "string"
            }
          },
          "required": [
            "channel",
            "build",
            "held",
            "holdReason",
            "heldBy",
            "updatedAt"
          ],
          "additionalProperties": {}
        },
        "promotion": {
          "type": "object",
          "properties": {
            "promotionId": {
              "type": "string"
            },
            "from": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "internal",
                    "nightly",
                    "beta",
                    "stable",
                    "lts"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "to": {
              "type": "string",
              "enum": [
                "internal",
                "nightly",
                "beta",
                "stable",
                "lts"
              ]
            },
            "version": {
              "type": [
                "string",
                "null"
              ]
            },
            "commitSha": {
              "type": [
                "string",
                "null"
              ]
            },
            "at": {
              "type": "string"
            },
            "actor": {
              "type": "string"
            },
            "outcome": {
              "type": "string",
              "enum": [
                "promoted",
                "refused",
                "rolled_back"
              ]
            },
            "gates": {
              "type": "object",
              "properties": {
                "failed": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "gate": {
                        "type": "string"
                      },
                      "reason": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "gate",
                      "reason"
                    ],
                    "additionalProperties": {}
                  }
                }
              },
              "required": [
                "failed"
              ],
              "additionalProperties": {}
            }
          },
          "required": [
            "promotionId",
            "from",
            "to",
            "version",
            "commitSha",
            "at",
            "actor",
            "outcome",
            "gates"
          ],
          "additionalProperties": {}
        }
      },
      "required": [
        "tenantId",
        "projectId"
      ],
      "additionalProperties": {}
    },
    {
      "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.