Autentisering
Hver forespørsel CLI-en sender, bærer en API-nøkkel til prosjektet ditt. Lagre nøkler én gang med status200 login, én kontekst for hvert miljø, eller gi dem til en kommando i flagg eller miljøvariabler, slik skript gjør. Denne siden viser hver måte, og hvilken en kommando bruker når det er flere.
Før du begynner
Du trenger en API-nøkkel til prosjektet ditt. Opprett en under Prosjektinnstillinger → Avansert → API-nøkler med Opprett API-nøkkel, og gi den tilgangen kommandoene dine trenger: se Opprett en API-nøkkel. En nøkkel gjør det tillatelsene dens tillater: en nøkkel som bare kan lese poster, kan liste og lese dem, men ikke endre dem.
På Status200 Cloud virker API-nøkler bare mens prosjektet har abonnementet Growth eller høyere. Under det svarer hver kommando med API error (402) og en melding som nevner abonnementet, til prosjektet oppgraderes; da virker den samme nøkkelen igjen. Se API-nøkler og SCIM under abonnementet sitt.
Logg inn
status200 login lagrer en API-nøkkel og adressen til Status200-en din som en kontekst, og gjør den til den gjeldende konteksten:
status200 login <api-key> <instance-url> [--context-name <name>]| Argument eller alternativ | Hva det er |
|---|---|
<api-key> | En API-nøkkel til prosjektet ditt |
<instance-url> | Adressen til Status200-en din: https://status200.ru, eller adressen til din egen server, for eksempel https://status200.example.com |
--context-name <name> | Navnet konteksten lagres under. Standard: default |
For eksempel en kontekst med navnet production:
status200 login <api-key> https://status200.ru --context-name productionDen svarer Logged in successfully. Context "production" is now active. En skråstrek på slutten av adressen fjernes, og en ny innlogging under samme navn erstatter den konteksten.
login lagrer nøkkelen uten å spørre Status200 om den. Kjør en kommando, for eksempel status200 incident count, for å se at nøkkelen virker.Kontekster
En kontekst er en lagret innlogging: et navn, en adresse og en API-nøkkel. Lagre én for hvert prosjekt eller miljø, og velg så én for alle kommandoene som følger, eller for én enkelt kommando.
Lagre en kontekst for hvert miljø
status200 login <production-api-key> https://status200.ru --context-name production status200 login <staging-api-key> https://status200.example.com --context-name stagingHver innlogging gjør konteksten sin til den gjeldende, så nå er
stagingden gjeldende.List dem
status200 context list┌───┬────────────┬───────────────────────────────┐ │ │ Name │ URL │ ├───┼────────────┼───────────────────────────────┤ │ │ production │ https://status200.ru │ ├───┼────────────┼───────────────────────────────┤ │ * │ staging │ https://status200.example.com │ └───┴────────────┴───────────────────────────────┘*markerer den gjeldende konteksten. API-nøkler listes aldri.Bytt til en annen kontekst
status200 context use productionDen svarer
Switched to context "production".og kommandoene som følger, bruker den.Bruk en kontekst for én kommando
status200 incident list --context stagingDen gjeldende konteksten forblir som den var.
| Kommando | Hva den gjør |
|---|---|
status200 context list | Lister de lagrede kontekstene; * markerer den gjeldende. Med -o json hver konteksts name, apiUrl og isCurrent, aldri nøkkelen |
status200 context use <name> | Gjør en lagret kontekst til den gjeldende |
status200 context current | Viser navnet, URL-en og API-nøkkelen til den gjeldende konteksten, med nøkkelen skjult bortsett fra de fire første og fire siste tegnene |
status200 context delete <name> | Sletter en lagret kontekst. Var det den gjeldende, blir den første gjenværende konteksten gjeldende |
Hvilken legitimasjon en kommando bruker
En kommando trenger en API-nøkkel og en URL. Den henter hver av de to fra det første av disse stedene som har den:
Hvor en kommando finner API-nøkkelen og URL-en sin
Du kan altså blande dem: for eksempel en API-nøkkel fra en miljøvariabel med URL-en til den gjeldende konteksten. Miljøvariabler passer for skript og CI-jobber, som ikke har lagrede kontekster:
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 listFlagg går foran alt annet, for én kommando:
status200 --api-key <api-key> --url https://status200.ru incident listEn nøkkel som gis som flagg, havner i shell-historikken din, og andre brukere av maskinen kan se den i prosesslisten. På en delt maskin bør du heller bruke en kontekst eller en miljøvariabel.
Sjekk hva CLI-en vil bruke
status200 whoami viser URL-en og API-nøkkelen som neste kommando vil bruke, og konteksten de kommer fra:
status200 whoamiURL: https://status200.ru
API Key: 4f1c****0a13
Context: productionBare de fire første og de fire siste tegnene i nøkkelen vises. Linjen Context vises bare når URL-en og nøkkelen er kontekstens egne, ikke verdier som et flagg eller en miljøvariabel har erstattet. whoami leser innstillingene dine uten å kalle Status200: den viser hva en kommando vil sende, ikke om Status200 godtar det. Er ingenting lagret eller satt, svarer den:
Not authenticated. Run `status200 login` to authenticate.Konfigurasjonsfilen
status200 login lagrer kontekster i ~/.oneuptime/config.json, i hjemmemappen din (%USERPROFILE%\.oneuptime\config.json på Windows). CLI-en oppretter den slik at bare brukeren din kan lese og skrive den (modus 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>"
}
}
}Filen inneholder API-nøklene som de er: hold den unna delte mapper, sikkerhetskopier og repositorier. For å logge ut av én kontekst sletter du den med status200 context delete <name>; for å logge ut av alle sletter du filen. En nøkkel som kan ha lekket, er gyldig til du sletter den i Status200, under Prosjektinnstillinger → Avansert → API-nøkler.
Utdataformater og listestørrelser lagres ikke her: gi -o og --limit til hver kommando.
Feilsøking
Meldingen «No credentials found»
Authentication error: No credentials found. betyr at ingen flagg, miljøvariabel eller lagret kontekst ga kommandoen API-nøkkelen og URL-en dens. Kjør status200 login, eller sett både STATUS200_API_KEY og STATUS200_URL. Kommandoen avslutter med koden 2.
Meldingen «API error (400): Invalid API Key»
Nøkkelen er ikke en API-nøkkel til Status200, har utløpt eller er tilbakestilt. Kopier den på nytt fra siden dens under Prosjektinnstillinger → Avansert → API-nøkler, der også datoen dens står under Utløper, og logg inn på nytt under samme kontekstnavn. Kommandoen avslutter med koden 2.
Meldingen «API error (402): API keys need the Growth plan»
På Status200 Cloud er prosjektet under abonnementet Growth, så API-nøklene dets sluttet å virke. Oppgrader prosjektet, så virker den samme nøkkelen igjen: ingenting å endre i CLI-en.
Meldingen «API error (422): You do not have permissions»
Nøkkelens tillatelser rekker ikke til det kommandoen ber om. Gi nøkkelen en rolle eller en tillatelse på siden dens under Prosjektinnstillinger → Avansert → API-nøkler: meldingen nevner tillatelsene som ville sluppet forespørselen gjennom.
Meldingen «Context "staging" does not exist»
Ingen kontekst med det navnet er lagret. status200 context list viser navnene som finnes.
whoami viser en annen URL eller nøkkel enn konteksten har
En miljøvariabel eller et flagg erstatter kontekstens verdi. env | grep ONEUPTIME viser variablene som er satt, og unset STATUS200_API_KEY STATUS200_URL fører deg tilbake til kontekstene dine.
Forespørselen til adressen mislykkes
Error: Request failed to https://... betyr at CLI-en ikke nådde Status200 på den adressen. Sjekk URL-en med status200 whoami: det er adressen du åpner Status200 på, med https://, for eksempel https://status200.ru.