# Обзор CLI

CLI Status200, `status200`, управляет вашим проектом Status200 из терминала или скрипта. Она выводит, читает, создаёт, изменяет, удаляет и считает мониторы, инциденты, оповещения, страницы состояния и другие записи, которые предлагает API Status200, с API-ключом вашего проекта.

:::cards
- [Как работает CLI](#как-работает-cli): Одна команда, один запрос к API, один ответ.
- [Установка CLI](#установка-cli): Одна команда npm и версия, которую нужно выбрать.
- [Первые команды](#первые-команды): Сохраните API-ключ, затем выведите свои инциденты.
- [Команды кратко](#команды-кратко): Каждая команда и страница, которая её объясняет.
:::

## Как работает CLI

Каждая команда отправляет один запрос к REST API Status200 и выводит ответ. API-ключ и адрес вашего Status200 CLI берёт из флагов, переменных окружения или контекста, который сохранила команда `status200 login`. Ключ решает, что команда может читать и изменять, точно так же, как в API.

```mermaid title="Одна команда, один запрос"
flowchart TB
    T["Ваш терминал<br/>или задание CI"] -->|"status200 incident list"| C["CLI status200"]
    K["API-ключ и URL:<br/>флаги, окружение<br/>или сохранённый контекст"] --> C
    C -->|"POST /api/incident/get-list"| A["REST API Status200"]
    A -->|"записи, которые ключ<br/>может читать, в JSON"| C
    C -->|"таблица в терминале,<br/>JSON в конвейере"| T
```

Команды для записей входят в CLI: у каждого вида записей, который API Status200 открывает инструментам, есть своя, это те же записи, для которых у [сервера MCP](/docs/ai/mcp-server) есть инструменты. Запустите `status200 resources`, чтобы вывести их.

## Перед началом

- **Node.js и npm** актуальной LTS-версии, чтобы установить CLI.
- **API-ключ вашего проекта.** Создайте его в **Настройки проекта → Расширенный → Ключи API** кнопкой **Создать: API-ключ**: см. [Создайте API-ключ](/docs/api-reference/api-reference#создайте-api-ключ).
- **В Status200 Cloud — план Growth или выше.** API-ключи проекта работают только на нём: см. [API-ключи и SCIM ниже их плана](/docs/api-reference/api-reference#api-ключи-и-scim-ниже-их-плана).

## Установка CLI

Установите пакет `@status200/cli` из npm. Он добавляет команду `status200`, а `--version` выводит установленную версию:

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

CLI выпускается вместе с Status200 и имеет тот же номер версии. В самостоятельно размещённом Status200 установите CLI той же версии, что и ваш Status200, чтобы её команды соответствовали записям вашего сервера:

```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
```

Десять самых новых инцидентов появляются в виде таблицы. `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): Каждая команда, параметр и значение по умолчанию.
:::
