Salesforce-DevOps-Glossar

Metadata API

Salesforces API zum Abrufen und Deployen von Org-Konfiguration, die Grundlage, auf der fast jedes DevOps-Tool aufbaut.

Definition

Die Metadata API ist Salesforces SOAP-basierte API zum Abrufen, Deployen, Erstellen und Löschen der Konfiguration (Metadaten), die eine Org definiert, Dinge wie benutzerdefinierte Objekte, Felder, Flows, Apex-Klassen und Layouts, im Gegensatz zu den Datensätzen (Daten), die diese Objekte enthalten. Sie ist die Grundlage, auf der fast jedes Salesforce-DevOps-Tool aufbaut: Salesforce CLI, Change Sets, und Release-Tools von Drittanbietern rufen letztlich alle Metadata-API-Operationen auf, um Konfiguration zwischen Orgs zu verschieben.

Deployments über die Metadata API können validiert werden (check-only), bevor sie wirklich ausgeführt werden, und unterstützen destruktive Änderungen über ein dediziertes Manifest, das getrennt von dem gehalten wird, was deployt wird. Da sie XML-Manifest-gesteuert ist, erfordern Deployments ein genaues package.xml, das jeden enthaltenen Komponententyp und -namen auflistet.

Ein schlechtes oder unvollständiges Manifest ist eine der häufigsten Ursachen für fehlgeschlagene Salesforce-Deployments, da alles, was nicht auf der Liste steht, einfach übersprungen statt gemeldet wird. Unser Salesforce-DevOps-Leitfaden behandelt, wie Metadata-API-Deployments in eine vollständige Release-Pipeline passen.

In der Praxis

So funktioniert es in Serpent

Serpent verwendet für jedes Deployment Standard-Metadata-API-Aufrufe, mit null Fußabdruck, der in Ihrer Org installiert wird, und erstellt das Package-Manifest automatisch aus den Komponenten, die eine Aufgabe tatsächlich berührt hat, sodass keine von Hand gepflegte package.xml synchron gehalten werden muss. Org-Vergleichs- und Synchronisierungsfunktionen lesen den Metadatenstatus über Sandboxes und Produktion hinweg, um Drift zu erkennen, bevor ein Deployment läuft, und fangen Diskrepanzen ab, vor denen die Metadata API allein nicht warnen würde. Siehe Org-Management in Serpent, wie der Metadatenvergleich über Ihre Umgebungen hinweg funktioniert.

Git-Integrationseinstellungen in Serpent
Häufige Fragen

Metadata API, beantwortet

Was ist der Unterschied zwischen der Metadata API und der Standard-Salesforce-API?
Die Standard-REST- oder SOAP-API liest und schreibt Datensätze, die Daten innerhalb Ihrer Objekte. Die Metadata API liest und schreibt die Konfiguration, die diese Objekte definiert, wie Felder, Flows und Apex-Klassen.
Kann ich ein Metadata-API-Deployment validieren, ohne es tatsächlich zu deployen?
Ja, Check-only-Deployments führen dieselbe Validierung durch, einschließlich Apex-Tests, ohne irgendwelche Änderungen an der Ziel-Org zu committen. Das ist der Standardweg, um Fehler vor einem echten Deployment zu erkennen.
Warum war mein Metadata-API-Deployment erfolgreich, hat aber eine Komponente ausgelassen?
Fast immer eine unvollständige package.xml. Die Metadata API berührt nur, was im Manifest aufgeführt ist, sodass eine nicht aufgeführte Komponente still übersprungen statt als Fehler gemeldet wird.

Kostenlos starten. Keine Kreditkarte, keine Installation, keine Verpflichtung.

Einrichtung in unter 15 Minuten. Keine DevOps-Einstellung nötig.

Neugierig auf schnelleres Shipping, bevor Sie einsteigen? Sprechen wir

Unverbindlich.