Godkendelse
Hver anmodning, CLI'en sender, bærer en API-nøgle til dit projekt. Gem nøgler én gang med status200 login, én kontekst til hvert miljø, eller giv dem til en kommando i flag eller miljøvariabler, som scripts gør. Denne side viser hver måde, og hvilken en kommando bruger, når der er flere.
Før du begynder
Du skal bruge en API-nøgle til dit projekt. Opret en under Projektindstillinger → Avanceret → API-nøgler med Opret API-nøgle, og giv den den adgang, dine kommandoer har brug for: se Opret en API-nøgle. En nøgle gør, hvad dens tilladelser tillader: en nøgle, der kun må læse poster, kan vise og læse dem, men ikke ændre dem.
På Status200 Cloud virker API-nøgler kun, mens projektet har abonnementet Growth eller højere. Under det svarer hver kommando med API error (402) og en meddelelse, der nævner abonnementet, indtil projektet opgraderes; så virker den samme nøgle igen. Se API-nøgler og SCIM under deres abonnement.
Log ind
status200 login gemmer en API-nøgle og adressen på din Status200 som en kontekst og gør den til den aktuelle kontekst:
status200 login <api-key> <instance-url> [--context-name <name>]| Argument eller indstilling | Hvad det er |
|---|---|
<api-key> | En API-nøgle til dit projekt |
<instance-url> | Adressen på din Status200: https://status200.ru, eller din egen servers, for eksempel https://status200.example.com |
--context-name <name> | Navnet, konteksten gemmes under. Standard: default |
For eksempel en kontekst ved navn production:
status200 login <api-key> https://status200.ru --context-name productionDen svarer Logged in successfully. Context "production" is now active. En skråstreg i slutningen af adressen fjernes, og et nyt login under det samme navn erstatter den kontekst.
login gemmer nøglen uden at spørge Status200 om den. Kør en kommando, for eksempel status200 incident count, for at se, at nøglen virker.Kontekster
En kontekst er et gemt login: et navn, en adresse og en API-nøgle. Gem én til hvert projekt eller miljø, og vælg så én til alle de kommandoer, der følger, eller til en enkelt kommando.
Gem en kontekst til hvert miljø
status200 login <production-api-key> https://status200.ru --context-name production status200 login <staging-api-key> https://status200.example.com --context-name stagingHvert login gør sin kontekst til den aktuelle, så nu er
stagingden aktuelle.Vis dem
status200 context list┌───┬────────────┬───────────────────────────────┐ │ │ Name │ URL │ ├───┼────────────┼───────────────────────────────┤ │ │ production │ https://status200.ru │ ├───┼────────────┼───────────────────────────────┤ │ * │ staging │ https://status200.example.com │ └───┴────────────┴───────────────────────────────┘*markerer den aktuelle kontekst. API-nøgler vises aldrig.Skift til en anden kontekst
status200 context use productionDen svarer
Switched to context "production".og de kommandoer, der følger, bruger den.Brug en kontekst til én kommando
status200 incident list --context stagingDen aktuelle kontekst forbliver, som den var.
| Kommando | Hvad den gør |
|---|---|
status200 context list | Viser de gemte kontekster; * markerer den aktuelle. Med -o json hver konteksts name, apiUrl og isCurrent, aldrig dens nøgle |
status200 context use <name> | Gør en gemt kontekst til den aktuelle |
status200 context current | Viser den aktuelle konteksts navn, URL og API-nøgle, med nøglen skjult bortset fra de første fire og sidste fire tegn |
status200 context delete <name> | Sletter en gemt kontekst. Var det den aktuelle, bliver den første tilbageværende kontekst den aktuelle |
Hvilke legitimationsoplysninger en kommando bruger
En kommando skal bruge en API-nøgle og en URL. Den tager hver af de to fra det første af disse steder, der har den:
Hvor en kommando finder sin API-nøgle og sin URL
Du kan altså blande dem: for eksempel en API-nøgle fra en miljøvariabel med URL'en fra den aktuelle kontekst. Miljøvariabler passer til scripts og CI-job, som ikke har gemte 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 listFlag går forud for alt andet, for én kommando:
status200 --api-key <api-key> --url https://status200.ru incident listEn nøgle, der gives som flag, havner i din shell-historik, og andre brugere af maskinen kan se den i proceslisten. Brug i stedet en kontekst eller en miljøvariabel på en delt maskine.
Tjek, hvad CLI'en vil bruge
status200 whoami viser den URL og API-nøgle, den næste kommando vil bruge, og den kontekst, de kommer fra:
status200 whoamiURL: https://status200.ru
API Key: 4f1c****0a13
Context: productionKun nøglens første fire og sidste fire tegn vises. Linjen Context vises kun, når URL'en og nøglen er kontekstens egne, ikke værdier, som et flag eller en miljøvariabel har erstattet. whoami læser dine indstillinger uden at kalde Status200: den viser, hvad en kommando vil sende, ikke om Status200 accepterer det. Er intet gemt eller sat, svarer den:
Not authenticated. Run `status200 login` to authenticate.Konfigurationsfilen
status200 login gemmer kontekster i ~/.oneuptime/config.json i din hjemmemappe (%USERPROFILE%\.oneuptime\config.json på Windows). CLI'en opretter den, så kun din bruger kan læse og skrive den (tilstand 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 indeholder API-nøglerne, som de er: hold den ude af delte mapper, sikkerhedskopier og repositories. Log ud af én kontekst ved at slette den med status200 context delete <name>; log ud af alle ved at slette filen. En nøgle, der kan være lækket, er gyldig, indtil du sletter den i Status200 under Projektindstillinger → Avanceret → API-nøgler.
Outputformater og listestørrelser gemmes ikke her: giv -o og --limit til hver kommando.
Fejlfinding
Meddelelsen "No credentials found"
Authentication error: No credentials found. betyder, at intet flag, ingen miljøvariabel og ingen gemt kontekst gav kommandoen dens API-nøgle og URL. Kør status200 login, eller sæt både STATUS200_API_KEY og STATUS200_URL. Kommandoen afslutter med koden 2.
Meddelelsen "API error (400): Invalid API Key"
Nøglen er ikke en API-nøgle til Status200, er udløbet eller er blevet nulstillet. Kopiér den igen fra dens side under Projektindstillinger → Avanceret → API-nøgler, hvor dens dato også står under Udløber, og log ind igen under det samme kontekstnavn. Kommandoen afslutter med koden 2.
Meddelelsen "API error (402): API keys need the Growth plan"
På Status200 Cloud er projektet under abonnementet Growth, så dets API-nøgler holdt op med at virke. Opgradér projektet, og den samme nøgle virker igen: der er intet at ændre i CLI'en.
Meddelelsen "API error (422): You do not have permissions"
Nøglens tilladelser rækker ikke til det, kommandoen beder om. Giv nøglen en rolle eller en tilladelse på dens side under Projektindstillinger → Avanceret → API-nøgler: meddelelsen nævner de tilladelser, der ville lukke anmodningen igennem.
Meddelelsen "Context "staging" does not exist"
Der er ikke gemt nogen kontekst med det navn. status200 context list viser de navne, der findes.
whoami viser en anden URL eller nøgle end konteksten
En miljøvariabel eller et flag erstatter kontekstens værdi. env | grep ONEUPTIME viser de variabler, der er sat, og unset STATUS200_API_KEY STATUS200_URL fører dig tilbage til dine kontekster.
Anmodningen til adressen mislykkes
Error: Request failed to https://... betyder, at CLI'en ikke kunne nå Status200 på den adresse. Tjek URL'en med status200 whoami: det er den adresse, du åbner Status200 på, med https://, for eksempel https://status200.ru.