With no flags, prints the project’s routing policy. With flags, changes it: –approver names a person (a user ID) who may approve high-risk pull requests, –approver-role the roles that may (owner, admin), whether an independent agent with evidence may approve that lane too follows the team’s autonomy setting (it may unless the team is manual), –auto-merge follow|on|off whether an approved, verified pull request linked to a task merges on its own (follow: when the team is autonomous), –max-batch the largest batch. Changing it is a policy change.
Usage
overlane pr policy [--approver USER_ID...] [--approver-role ROLE...] [--max-batch N] [--auto-merge SETTING] [--dry-run]Flags
| Flag | Type | Required | Default | Description |
|---|---|---|---|---|
--approver |
string (repeatable) | no | A person who may approve the approver lane; repeat for more | |
--approver-role |
one of owner, admin |
no | A role that may approve the approver lane; repeat for more | |
--max-batch |
string | no | The largest batch, 2 to 20 | |
--auto-merge |
one of follow, on, off |
no | Merge an approved, verified pull request linked to a task on its own: follow (when the team is autonomous), on or off | |
--dry-run |
boolean | no | Print the requests and file changes this command would make, then stop. Needs no credentials. |
Examples
overlane pr policy
overlane pr policy --approver user_abc --approver-role ownerBehavior
- 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 pr policy.
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"
},
"policy": {
"type": "object",
"properties": {
"approverUsers": {
"default": [],
"maxItems": 50,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 200
}
},
"approverRoles": {
"default": [
"owner",
"admin"
],
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"enum": [
"owner",
"admin"
]
}
},
"maxBatchSize": {
"default": 5,
"type": "integer",
"minimum": 2,
"maximum": 20
},
"autoMerge": {
"default": "follow",
"type": "string",
"enum": [
"follow",
"on",
"off"
]
}
},
"required": [
"approverUsers",
"approverRoles",
"maxBatchSize",
"autoMerge"
],
"additionalProperties": false
}
},
"required": [
"tenantId",
"projectId",
"policy"
],
"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.