---
name: devops
description: |
  DevOps Portal REST API access for Investibook agents. Use when looking up
  TiDB Cloud tenant/org metadata by tenant ID, searching tenants by name, or
  looking up read-only Config Center change records for recent cluster
  configuration changes.
  Read-only; do not use for cluster diagnosis, metrics, logs, slow queries, or TopSQL.
---

# DevOps

Use this skill for tenant/org lookup through DevOps Portal. For cluster
metadata and diagnostic evidence, use `clinic-cli` instead.

## Authentication

The script reads credentials from the workspace process environment:

- Base URL: `DEVOPS_BASE_URL`, default `https://prod.devops.pingcap.com`
- Frontend URL: `DEVOPS_FRONTEND_URL`, default derived from `DEVOPS_BASE_URL`
- API key: `DEVOPS_API_KEY`, then `DEVOPS_API_TOKEN`

Do not print or log credential values.

## Commands

Run from the workspace root:

```bash
python3 .opencode/skills/builtin/devops/scripts/devops_api.py get-tenant --tenant-id 1372813089196917698
python3 .opencode/skills/builtin/devops/scripts/devops_api.py query-tenants --search acme
python3 .opencode/skills/builtin/devops/scripts/devops_api.py list-cloudconfig-changes --cluster-id 10698648422638660035 --cluster-type DEDICATED_TIDB --per-page 5
python3 .opencode/skills/builtin/devops/scripts/devops_api.py get-cloudconfig-change --change-id 62289
```

| Command | Required args | Optional args | Description |
|---|---|---|---|
| `get-tenant` | `--tenant-id` | | Fetch one tenant/org record |
| `query-tenants` | `--search` | `--page` (default 1), `--per-page` (default 20), `--status` (default active) | Search tenant/org records by name |
| `list-cloudconfig-changes` | `--cluster-id` | `--cluster-type` (default `DEDICATED_TIDB`), `--page`, `--per-page`, `--id-only`, `--have-modified-param-like` | List Config Center change records for a cluster |
| `get-cloudconfig-change` | `--change-id` | | Fetch one Config Center change record |

## Config Change Attribution

When a Clinic Activity Hub event shows `configchange:start`,
`ApplyClusterConfig`, or a TiKV/TiDB/PD/TiFlash rolling restart caused by
configuration or image changes, query DevOps Config Center next:

1. Use `list-cloudconfig-changes` with the cluster ID and cluster type.
2. Match the returned `created_at` / `applied_at` timestamps to the Activity Hub event time.
3. Report the change `url`, `reason`, `applicant`, `phase`, `approval_id`, and relevant modified component/parameter summary.

The Config Center change URL is returned as `https://ops.tidbcloud.com/confighistories/{change_id}`
for production unless `DEVOPS_FRONTEND_URL` overrides it.

## Scope

This skill is read-only and intentionally limited to tenant/org metadata and
Config Center change lookup.
Do not use DevOps for cluster lookup, diagnosis, metrics, logs, slow queries,
TopSQL, or operational changes. Never create, apply, cancel, or approve
changes from this skill.
