Autentisering
Varje begäran som CLI:n skickar bär en API-nyckel till ditt projekt. Spara nycklar en gång med status200 login, en kontext för varje miljö, eller ge dem till ett kommando i flaggor eller miljövariabler, som skript gör. Den här sidan visar varje sätt, och vilket ett kommando använder när det finns flera.
Innan du börjar
Du behöver en API-nyckel till ditt projekt. Skapa en under Projektinställningar → Avancerad → API-nycklar med Skapa API-nyckel, och ge den den åtkomst dina kommandon behöver: se Skapa en API-nyckel. En nyckel gör det dess behörigheter tillåter: en nyckel som bara får läsa poster kan lista och läsa dem, men inte ändra dem.
På Status200 Cloud fungerar API-nycklar bara så länge projektet har planen Growth eller högre. Under den svarar varje kommando med API error (402) och ett meddelande som nämner planen, tills projektet uppgraderas; då fungerar samma nyckel igen. Se API-nycklar och SCIM under sin plan.
Logga in
status200 login sparar en API-nyckel och adressen till ditt Status200 som en kontext, och gör den till den aktuella kontexten:
status200 login <api-key> <instance-url> [--context-name <name>]| Argument eller alternativ | Vad det är |
|---|---|
<api-key> | En API-nyckel till ditt projekt |
<instance-url> | Adressen till ditt Status200: https://status200.ru, eller din egen servers, till exempel https://status200.example.com |
--context-name <name> | Namnet som kontexten sparas under. Standard: default |
Till exempel en kontext med namnet production:
status200 login <api-key> https://status200.ru --context-name productionDen svarar Logged in successfully. Context "production" is now active. Ett snedstreck i slutet av adressen tas bort, och en ny inloggning under samma namn ersätter den kontexten.
login sparar nyckeln utan att fråga Status200 om den. Kör ett kommando, till exempel status200 incident count, för att se att nyckeln fungerar.Kontexter
En kontext är en sparad inloggning: ett namn, en adress och en API-nyckel. Spara en för varje projekt eller miljö, och välj sedan en för alla kommandon som följer, eller för ett enda kommando.
Spara en kontext för varje miljö
status200 login <production-api-key> https://status200.ru --context-name production status200 login <staging-api-key> https://status200.example.com --context-name stagingVarje inloggning gör sin kontext till den aktuella, så nu är
stagingden aktuella.Lista dem
status200 context list┌───┬────────────┬───────────────────────────────┐ │ │ Name │ URL │ ├───┼────────────┼───────────────────────────────┤ │ │ production │ https://status200.ru │ ├───┼────────────┼───────────────────────────────┤ │ * │ staging │ https://status200.example.com │ └───┴────────────┴───────────────────────────────┘*markerar den aktuella kontexten. API-nycklar listas aldrig.Byt till en annan kontext
status200 context use productionDen svarar
Switched to context "production".och kommandona som följer använder den.Använd en kontext för ett kommando
status200 incident list --context stagingDen aktuella kontexten förblir som den var.
| Kommando | Vad det gör |
|---|---|
status200 context list | Listar de sparade kontexterna; * markerar den aktuella. Med -o json varje kontexts name, apiUrl och isCurrent, aldrig dess nyckel |
status200 context use <name> | Gör en sparad kontext till den aktuella |
status200 context current | Visar den aktuella kontextens namn, URL och API-nyckel, med nyckeln dold utom de fyra första och fyra sista tecknen |
status200 context delete <name> | Tar bort en sparad kontext. Var det den aktuella, blir den första kvarvarande kontexten aktuell |
Vilka inloggningsuppgifter ett kommando använder
Ett kommando behöver en API-nyckel och en URL. Det tar var och en av de två från den första av de här platserna som har den:
Var ett kommando hittar sin API-nyckel och sin URL
Du kan alltså blanda dem: till exempel en API-nyckel från en miljövariabel med URL:en från den aktuella kontexten. Miljövariabler passar skript och CI-jobb, som inte har några sparade kontexter:
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 listFlaggor går före allt annat, för ett kommando:
status200 --api-key <api-key> --url https://status200.ru incident listEn nyckel som ges som flagga hamnar i din skalhistorik, och andra användare på maskinen kan se den i processlistan. Använd hellre en kontext eller en miljövariabel på en delad maskin.
Kontrollera vad CLI:n kommer att använda
status200 whoami visar URL:en och API-nyckeln som nästa kommando kommer att använda, och kontexten de kommer från:
status200 whoamiURL: https://status200.ru
API Key: 4f1c****0a13
Context: productionBara nyckelns fyra första och fyra sista tecken visas. Raden Context visas bara när URL:en och nyckeln är kontextens egna, inte värden som en flagga eller en miljövariabel har ersatt. whoami läser dina inställningar utan att anropa Status200: den visar vad ett kommando kommer att skicka, inte om Status200 godtar det. Är inget sparat eller satt, svarar den:
Not authenticated. Run `status200 login` to authenticate.Konfigurationsfilen
status200 login sparar kontexter i ~/.oneuptime/config.json, i din hemmapp (%USERPROFILE%\.oneuptime\config.json på Windows). CLI:n skapar den så att bara din användare kan läsa och skriva den (läge 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 innehåller API-nycklarna som de är: håll den borta från delade mappar, säkerhetskopior och repositorier. Logga ut från en kontext genom att ta bort den med status200 context delete <name>; logga ut från alla genom att ta bort filen. En nyckel som kan ha läckt är giltig tills du tar bort den i Status200, under Projektinställningar → Avancerad → API-nycklar.
Utdataformat och liststorlekar sparas inte här: ge -o och --limit till varje kommando.
Felsökning
Meddelandet ”No credentials found”
Authentication error: No credentials found. betyder att ingen flagga, miljövariabel eller sparad kontext gav kommandot dess API-nyckel och URL. Kör status200 login, eller sätt både STATUS200_API_KEY och STATUS200_URL. Kommandot avslutas med koden 2.
Meddelandet ”API error (400): Invalid API Key”
Nyckeln är inte en API-nyckel till Status200, har gått ut eller har återställts. Kopiera den igen från dess sida under Projektinställningar → Avancerad → API-nycklar, där även dess datum står under Upphör, och logga in igen under samma kontextnamn. Kommandot avslutas med koden 2.
Meddelandet ”API error (402): API keys need the Growth plan”
På Status200 Cloud ligger projektet under planen Growth, så dess API-nycklar slutade fungera. Uppgradera projektet, så fungerar samma nyckel igen: inget att ändra i CLI:n.
Meddelandet ”API error (422): You do not have permissions”
Nyckelns behörigheter räcker inte till det kommandot ber om. Ge nyckeln en roll eller en behörighet på dess sida under Projektinställningar → Avancerad → API-nycklar: meddelandet nämner de behörigheter som skulle släppa igenom begäran.
Meddelandet ”Context "staging" does not exist”
Ingen kontext med det namnet är sparad. status200 context list visar de namn som finns.
whoami visar en annan URL eller nyckel än kontexten har
En miljövariabel eller en flagga ersätter kontextens värde. env | grep ONEUPTIME visar variablerna som är satta, och unset STATUS200_API_KEY STATUS200_URL tar dig tillbaka till dina kontexter.
Begäran till adressen misslyckas
Error: Request failed to https://... betyder att CLI:n inte kunde nå Status200 på den adressen. Kontrollera URL:en med status200 whoami: det är adressen du öppnar Status200 på, med https://, till exempel https://status200.ru.