# CLI 概要

Status200 の CLI である `status200` は、ターミナルやスクリプトから Status200 プロジェクトを管理します。プロジェクトの API キーを使って、モニター、インシデント、アラート、ステータスページなど、Status200 の API が提供するレコードの一覧表示、読み取り、作成、変更、削除、件数の取得ができます。

:::cards
- [CLI のしくみ](#cli-のしくみ): 1 つのコマンドで、1 回の API リクエストと 1 つの応答。
- [CLI をインストールする](#cli-をインストールする): npm コマンド 1 つと、選ぶべきバージョン。
- [最初のコマンドを実行する](#最初のコマンドを実行する): API キーを保存し、インシデントを一覧表示します。
- [コマンド一覧](#コマンド一覧): すべてのコマンドと、それを説明するページ。
:::

## CLI のしくみ

各コマンドは Status200 の REST API に 1 回リクエストを送り、応答を出力します。CLI は API キーと Status200 のアドレスを、フラグ、環境変数、または `status200 login` が保存したコンテキストから取得します。コマンドが何を読み取り、何を変更できるかはキーが決めます。これは API とまったく同じです。

```mermaid title="1 つのコマンドで 1 回のリクエスト"
flowchart TB
    T["ターミナル<br/>または CI ジョブ"] -->|"status200 incident list"| C["status200 CLI"]
    K["API キーと URL:<br/>フラグ、環境変数<br/>または保存した<br/>コンテキスト"] --> C
    C -->|"POST /api/incident/get-list"| A["Status200 の REST API"]
    A -->|"キーが読み取れる<br/>レコードを JSON で"| C
    C -->|"ターミナルでは表、<br/>パイプでは JSON"| T
```

レコード用のコマンドは CLI に含まれています。Status200 の API がツールに公開しているレコードの種類ごとに 1 つあり、[MCP サーバー](/docs/ai/mcp-server)がツールを持つレコードと同じです。一覧を見るには `status200 resources` を実行します。

## はじめる前に

- **Node.js と npm**: CLI をインストールするための、現在の LTS リリース。
- **プロジェクトの API キー。** **プロジェクト設定 → 詳細 → API キー** で **API キーを作成** から作成します。[API キーを作成する](/docs/api-reference/api-reference#api-キーを作成する)を参照してください。
- **Status200 Cloud では Growth プラン以上。** プロジェクトの API キーはこのプランでのみ動作します。[プラン未満の API キーと SCIM](/docs/api-reference/api-reference#プラン未満の-api-キーと-scim)を参照してください。

## CLI をインストールする

npm から `@status200/cli` パッケージをインストールします。`status200` コマンドが追加され、`--version` でインストールしたバージョンが表示されます。

```bash
npm install -g @status200/cli
status200 --version
```

CLI は Status200 と一緒にリリースされ、同じバージョン番号を持ちます。セルフホストの Status200 では、コマンドがサーバーのレコードと一致するように、お使いの Status200 と同じバージョンの CLI をインストールしてください。

```bash
npm install -g @status200/cli@<your-oneuptime-version>
```

## 最初のコマンドを実行する

:::steps
### API キーを保存する

キーと Status200 のアドレスでログインします。CLI はこれらを `default` という名前のコンテキストとして保存し、以降はそれを使います。

```bash
status200 login <your-api-key> https://status200.ru
```

`Logged in successfully. Context "default" is now active.` と応答します。セルフホストの Status200 では、`https://status200.ru` の代わりにそのアドレスを使ってください。

### インシデントを一覧表示する

```bash
status200 incident list
```

最新の 10 件のインシデントが表として表示されます。`login` はキーを確認せずに保存するため、キーが動作することを最初に示すのはこのコマンドです。拒否された場合は[トラブルシューティング](/docs/cli/authentication#トラブルシューティング)を参照してください。

### ほかに何を管理できるかを確認する

```bash
status200 resources
```

一覧には、扱えるレコードの種類と、そのコマンド(`monitor`、`status-page`、`on-call-policy` など)が表示されます。
:::

## コマンド一覧

| コマンド | 内容 | 詳細 |
| --- | --- | --- |
| `status200 login <api-key> <instance-url>` | API キーとアドレスをコンテキストとして保存します | [認証](/docs/cli/authentication#ログインする) |
| `status200 context list`, `use`, `current`, `delete` | 保存したコンテキストの一覧表示、切り替え、表示、削除 | [認証](/docs/cli/authentication#コンテキスト) |
| `status200 whoami` | 次のコマンドが使う URL と API キーを表示します | [認証](/docs/cli/authentication#cli-が使う値を確認する) |
| `status200 deploy` | グラフと Status200 AI のために、デプロイやその他の変更を記録します | [デプロイと変更](/docs/telemetry/change-events) |
| `status200 <resource> list`, `get`, `create`, `update`, `delete`, `count` | 一種類のレコードを扱います | [リソース操作](/docs/cli/resource-operations) |
| `status200 resources` | レコードの種類をそのコマンドとともに一覧表示します | [コマンド リファレンス](/docs/cli/command-reference#status200-resources) |
| `status200 version` | CLI のバージョンを表示します | [コマンド リファレンス](/docs/cli/command-reference#status200-version) |
| `status200 help [command]` | コマンドのヘルプを表示します | [ヘルプを表示する](#ヘルプを表示する) |

## グローバルオプション

これらのオプションは、すべてのコマンドで、コマンドの前後どちらにでも書けます。

| オプション | 内容 |
| --- | --- |
| `--api-key <key>` | このコマンドで使う API キー(保存したキーの代わり) |
| `--url <url>` | このコマンドで使う Status200 のアドレス |
| `--context <name>` | このコマンドで使う保存済みコンテキスト(現在のコンテキストの代わり) |
| `-o, --output <format>` | `table`、`json`、`wide`: [出力形式](/docs/cli/output-formats)を参照 |
| `--no-color` | 色なしで出力します |
| `-V, --version` | CLI のバージョンを表示します |
| `-h, --help` | コマンドのヘルプを表示します |

## ヘルプを表示する

すべてのコマンドに、引数、オプション、既定値を示す独自のヘルプがあります。

```bash
status200 --help
status200 help incident
status200 incident list --help
```

## 次のステップ

:::cards
- [認証](/docs/cli/authentication): 環境ごとのコンテキストと、コマンドが使うキー。
- [リソース操作](/docs/cli/resource-operations): レコードの一覧表示、読み取り、作成、変更、削除、件数の取得。
- [出力形式](/docs/cli/output-formats): 人には表、スクリプトには JSON。
- [スクリプト & CI/CD](/docs/cli/scripting): 終了コード、jq、パイプライン。
- [コマンド リファレンス](/docs/cli/command-reference): すべてのコマンド、オプション、既定値。
:::
