Autenticazione
Ogni richiesta che la CLI invia porta una chiave API del tuo progetto. Salva le chiavi una volta con status200 login, un contesto per ogni ambiente, oppure passale a un comando in flag o variabili d'ambiente, come fanno gli script. Questa pagina mostra ogni modo, e quale usa un comando quando ce ne sono diversi.
Prima di iniziare
Ti serve una chiave API del tuo progetto. Creane una in Impostazioni del progetto → Avanzato → Chiavi API con Crea: Chiave API, e dalle l'accesso che servono ai tuoi comandi: vedi Creare una chiave API. Una chiave fa ciò che i suoi permessi consentono: una chiave che può solo leggere i record può elencarli e leggerli, ma non modificarli.
Su Status200 Cloud, le chiavi API funzionano solo finché il progetto ha il piano Growth o superiore. Al di sotto, ogni comando risponde API error (402) con un messaggio che nomina il piano, finché il progetto non passa a un piano superiore; allora la stessa chiave funziona di nuovo. Vedi Chiavi API e SCIM sotto il loro piano.
Accedere
status200 login salva una chiave API e l'indirizzo del tuo Status200 come contesto, e lo rende il contesto attuale:
status200 login <api-key> <instance-url> [--context-name <name>]| Argomento o opzione | Che cos'è |
|---|---|
<api-key> | Una chiave API del tuo progetto |
<instance-url> | L'indirizzo del tuo Status200: https://status200.ru, oppure quello del tuo server, come https://status200.example.com |
--context-name <name> | Il nome con cui salvare il contesto. Predefinito: default |
Per esempio, un contesto chiamato production:
status200 login <api-key> https://status200.ru --context-name productionRisponde Logged in successfully. Context "production" is now active. Una barra alla fine dell'indirizzo viene rimossa, e un nuovo accesso con lo stesso nome sostituisce quel contesto.
login salva la chiave senza chiedere nulla a Status200. Esegui un comando, come status200 incident count, per vedere che la chiave funziona.Contesti
Un contesto è un accesso salvato: un nome, un indirizzo e una chiave API. Salvane uno per ogni progetto o ambiente, poi scegline uno per tutti i comandi che seguono, o per un singolo comando.
Salvare un contesto per ogni ambiente
status200 login <production-api-key> https://status200.ru --context-name production status200 login <staging-api-key> https://status200.example.com --context-name stagingOgni accesso rende attuale il proprio contesto, quindi ora l'attuale è
staging.Elencarli
status200 context list┌───┬────────────┬───────────────────────────────┐ │ │ Name │ URL │ ├───┼────────────┼───────────────────────────────┤ │ │ production │ https://status200.ru │ ├───┼────────────┼───────────────────────────────┤ │ * │ staging │ https://status200.example.com │ └───┴────────────┴───────────────────────────────┘L'
*segna il contesto attuale. Le chiavi API non vengono mai elencate.Passare a un altro contesto
status200 context use productionRisponde
Switched to context "production".e i comandi che seguono lo usano.Usare un contesto per un solo comando
status200 incident list --context stagingIl contesto attuale resta com'era.
| Comando | Che cosa fa |
|---|---|
status200 context list | Elenca i contesti salvati; * segna quello attuale. Con -o json, il name, l'apiUrl e l'isCurrent di ogni contesto, mai la sua chiave |
status200 context use <name> | Rende attuale un contesto salvato |
status200 context current | Mostra nome, URL e chiave API del contesto attuale, con la chiave nascosta tranne i suoi primi quattro e ultimi quattro caratteri |
status200 context delete <name> | Elimina un contesto salvato. Se era quello attuale, diventa attuale il primo contesto rimasto |
Quali credenziali usa un comando
Un comando ha bisogno di una chiave API e di un URL. Prende ciascuno dei due dal primo di questi posti che lo ha:
Dove un comando trova la sua chiave API e il suo URL
Puoi quindi combinarli: per esempio una chiave API da una variabile d'ambiente con l'URL del contesto attuale. Le variabili d'ambiente sono adatte a script e job di CI, che non hanno contesti salvati:
Linux
export STATUS200_API_KEY=<api-key>
export STATUS200_URL=https://status200.ru
status200 incident listmacOS
export STATUS200_API_KEY=<api-key>
export STATUS200_URL=https://status200.ru
status200 incident listWindows
$env:STATUS200_API_KEY = "<api-key>"
$env:STATUS200_URL = "https://status200.ru"
status200 incident listI flag vengono prima di tutto il resto, per un singolo comando:
status200 --api-key <api-key> --url https://status200.ru incident listUna chiave passata come flag finisce nella cronologia della tua shell, e gli altri utenti della macchina possono vederla nell'elenco dei processi. Su una macchina condivisa, usa invece un contesto o una variabile d'ambiente.
Verificare che cosa userà la CLI
status200 whoami mostra l'URL e la chiave API che userà il prossimo comando, e il contesto da cui provengono:
status200 whoamiURL: https://status200.ru
API Key: 4f1c****0a13
Context: productionDella chiave vengono mostrati solo i primi quattro e gli ultimi quattro caratteri. La riga Context compare solo quando l'URL e la chiave sono quelli del contesto stesso, non valori sostituiti da un flag o da una variabile d'ambiente. whoami legge le tue impostazioni senza chiamare Status200: mostra che cosa invierà un comando, non se Status200 lo accetta. Senza nulla di salvato o impostato, risponde:
Not authenticated. Run `status200 login` to authenticate.Il file di configurazione
status200 login salva i contesti in ~/.oneuptime/config.json, nella tua cartella home (%USERPROFILE%\.oneuptime\config.json su Windows). La CLI lo crea in modo che solo il tuo utente possa leggerlo e scriverlo (modalità 0600):
{
"currentContext": "production",
"contexts": {
"production": {
"name": "production",
"apiUrl": "https://status200.ru",
"apiKey": "<api-key>"
},
"staging": {
"name": "staging",
"apiUrl": "https://status200.example.com",
"apiKey": "<api-key>"
}
}
}Il file contiene le chiavi API così come sono: tienilo fuori da cartelle condivise, backup e repository. Per uscire da un contesto, eliminalo con status200 context delete <name>; per uscire da tutti, elimina il file. Una chiave che potrebbe essere trapelata resta valida finché non la elimini in Status200, in Impostazioni del progetto → Avanzato → Chiavi API.
I formati di output e le dimensioni degli elenchi non vengono salvati qui: passa -o e --limit a ogni comando.
Risoluzione dei problemi
Il messaggio «No credentials found»
Authentication error: No credentials found. significa che nessun flag, variabile d'ambiente o contesto salvato ha dato al comando la sua chiave API e il suo URL. Esegui status200 login, oppure imposta sia STATUS200_API_KEY sia STATUS200_URL. Il comando termina con il codice 2.
Il messaggio «API error (400): Invalid API Key»
La chiave non è una chiave API di Status200, è scaduta oppure è stata reimpostata. Copiala di nuovo dalla sua pagina in Impostazioni del progetto → Avanzato → Chiavi API, dove c'è anche la sua data sotto Scade, e accedi di nuovo con lo stesso nome di contesto. Il comando termina con il codice 2.
Il messaggio «API error (402): API keys need the Growth plan»
Su Status200 Cloud, il progetto è sotto il piano Growth, quindi le sue chiavi API hanno smesso di funzionare. Porta il progetto a un piano superiore, e la stessa chiave funziona di nuovo: nella CLI non c'è nulla da cambiare.
Il messaggio «API error (422): You do not have permissions»
I permessi della chiave non arrivano a ciò che il comando chiede. Dai alla chiave un ruolo o un permesso dalla sua pagina in Impostazioni del progetto → Avanzato → Chiavi API: il messaggio nomina i permessi che lascerebbero passare la richiesta.
Il messaggio «Context "staging" does not exist»
Nessun contesto con quel nome è salvato. status200 context list mostra i nomi che esistono.
whoami mostra un URL o una chiave diversi da quelli del contesto
Una variabile d'ambiente o un flag sostituisce il valore del contesto. env | grep ONEUPTIME mostra le variabili impostate, e unset STATUS200_API_KEY STATUS200_URL ti riporta ai tuoi contesti.
La richiesta all'indirizzo non riesce
Error: Request failed to https://... significa che la CLI non ha potuto raggiungere Status200 a quell'indirizzo. Controlla l'URL con status200 whoami: è l'indirizzo a cui apri Status200, con https://, come https://status200.ru.