Spacelift Graphql-Abfrage und Mutation

Mar 11 2023
Über GraphQL GraphQL ist eine Abfragesprache für Ihre API und eine serverseitige Laufzeit zum Ausführen von Abfragen mithilfe eines Typsystems, das Sie für Ihre Daten definieren. GraphQL ist nicht an eine bestimmte Datenbank oder Speicher-Engine gebunden und wird stattdessen durch Ihren vorhandenen Code und Ihre Daten unterstützt.

Über GraphQL

GraphQL ist eine Abfragesprache für Ihre API und eine serverseitige Laufzeit zum Ausführen von Abfragen mithilfe eines Typsystems, das Sie für Ihre Daten definieren. GraphQL ist nicht an eine bestimmte Datenbank oder Speicher-Engine gebunden und
wird stattdessen durch Ihren vorhandenen Code und Ihre Daten unterstützt.

Arten von Operationen in GraphQL:

Abfrage – Abfragen werden zum Abrufen der Daten verwendet.
Mutation – Mutation wird verwendet, um serverseitige Daten zu ändern.

Spacelift Graphql-Abfrage/Mutationen:

Wenn der Name Ihres Spacelift-Kontos „deployment“ lautet , lautet Ihr Spacelift-GraphQL-Endpunkt:


https://deployment.app.spacelift.io/graphql

Abfrage – zum Abrufen der Daten vom Spacelift-Server.

Mutation – Wird zum Aktualisieren der vorhandenen Werte für Spacelift-Ressourcen verwendet.

Zum Testen der API-Anfragen verwendetes Tool: Insomnia

Einrichten des Tokens für Schlaflosigkeit:

Melden Sie sich über die CLI bei Spacelift an.

spacectl profile login deployment

Holen Sie sich das Token von der CLI:


spacelctl profile export-token | pbcopy

Warteschlange zum Auflisten aller API-Schlüssel mit Administrator-/Nicht-Administrator-Berechtigungen im Spacelift-Konto:


query {
 apiKeys{id,admin}
}

Spacelift GraphQL-Abfragen sind unkompliziert und einfach zu verwenden. In diesem Blog konzentrieren wir uns auf die Spacelift-Graphql-Mutation. Wie bereits erwähnt, wird die Mutation zum Ändern/Löschen/Erstellen der vorhandenen Ressourcen auf Spacelift verwendet (z. B. Kontext erstellen/ändern/löschen).

Graphql-Mutationsstruktur:


mutation{
 someEditOperation(dataField:”valueOfField”):returnType
}

Erstellen eines Kontexts mithilfe von Mutation:

Im folgenden Beispiel ist der Rückgabetyp die ID und der Name des erstellten Kontexts. contextCreate-Mutation übernimmt Dateneingaben wie Name, Beschreibung, Beschriftungen, Leerzeichen.

Hinzufügen einer Umgebungsvariablen mit Namen und Geheimnis zum neu erstellten Kontext.

Ändern Sie den Wert „Vorhandener Kontext“:

In diesem Fall verwenden wir die Mutationsoperation contextConfigAdd, um den vorhandenen Wert des obigen Kontexts auf xyz zu aktualisieren.

Lassen Sie uns das Schema verstehen, was wir übergeben müssen, um diesen Vorgang auszuführen.


contextConfigAdd(context: ID!, config: ConfigInput!): ConfigElement!


mutation updateContext ($context: ID!, $ConfigInput: ConfigInput!) {
 contextConfigAdd(context: $context, config: $ConfigInput) {id}
}

Abfragevariablen vereinfachen GraphQL-Abfragen und -Mutationen, indem sie die separate Übergabe von Daten ermöglichen.


{
 “context”: “deployment-redis-secret-key”,
 “ConfigInput”: {
 “id”: “REDIS_SECRET_KEY”,
 “value”: “xyz”,
 “writeOnly”: true,
 “type”: “ENVIRONMENT_VARIABLE”
 }
}