Skip to main content
POST
/
v1
/
projects
/
{project}
/
issues
/
{issue}
:approve
cURL
curl --request POST \
  --url https://api.example.com/v1/projects/{project}/issues/{issue}:approve \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "comment": "<string>"
}
'
{
  "approval": {
    "approvalTemplate": {
      "flow": {
        "roles": [
          "<string>"
        ]
      },
      "title": "<string>",
      "description": "<string>"
    },
    "approvers": [
      {
        "status": "STATUS_UNSPECIFIED",
        "principalId": 123
      }
    ],
    "approvalFindingDone": true,
    "approvalFindingError": "<string>"
  },
  "grantRequest": {
    "role": "<string>",
    "user": "<string>",
    "condition": {
      "id": "<string>",
      "constExpr": {
        "nullValue": "NULL_VALUE",
        "boolValue": true,
        "int64Value": "<string>",
        "uint64Value": "<string>",
        "doubleValue": 123,
        "stringValue": "<string>",
        "bytesValue": "<string>",
        "durationValue": "<string>",
        "timestampValue": "2023-11-07T05:31:56Z"
      },
      "identExpr": {
        "name": "<string>"
      },
      "selectExpr": {
        "operand": "<unknown>",
        "field": "<string>",
        "testOnly": true
      },
      "callExpr": {
        "target": "<unknown>",
        "function": "<string>",
        "args": "<array>"
      },
      "listExpr": {
        "elements": "<array>",
        "optionalIndices": [
          123
        ]
      },
      "structExpr": {
        "messageName": "<string>",
        "entries": [
          {
            "id": "<string>",
            "fieldKey": "<string>",
            "mapKey": "<unknown>",
            "value": "<unknown>",
            "optionalEntry": true
          }
        ]
      },
      "comprehensionExpr": {
        "iterVar": "<string>",
        "iterVar2": "<string>",
        "iterRange": "<unknown>",
        "accuVar": "<string>",
        "accuInit": "<unknown>",
        "loopCondition": "<unknown>",
        "loopStep": "<unknown>",
        "result": "<unknown>"
      }
    },
    "expiration": "<string>"
  },
  "labels": [
    "<string>"
  ],
  "riskLevel": "RISK_LEVEL_UNSPECIFIED"
}

Path Parameters

project
string
required

The project id.

issue
string
required

The issue id.

Body

application/json
name
string
required

The name of the issue to add an approver. Format: projects/{project}/issues/{issue}

comment
string

The comment explaining the approval decision.

Response

OK

Issue is the metadata for issues that track database operations and access requests.

approval
object

Approval information for the issue workflow.

grantRequest
object

Access grant request details if this is a grant request issue.

labels
string[]

Labels attached to categorize and filter the issue.

riskLevel
enum<string>

Risk level for the issue, calculated from statement types.

Available options:
RISK_LEVEL_UNSPECIFIED,
LOW,
MODERATE,
HIGH