2016-07-12 32 views
0

Der Kunde möchte die Sandbox-Metadaten in seinem System verfügbar machen.Salesforce Verfügbarmachen von Sandbox-Metadaten in einer anderen Sandbox

Im Grunde verwalten sie andere Salesforce-Organisationen. Sie möchten ein Verbindungsobjekt erstellen, um ihre Produkt-Organisation mit einer anderen Sandbox zu verknüpfen.

Dann Verknüpfung dieser Verbindung mit einem anderen Objekt, das eine Auswahlliste hat.

Die Auswahlliste wird "Apex Class" sagen. Wenn dies ausgewählt ist, sollte die Verbindung alle Apex-Klassen in der Sandbox auflisten.

Wie kann dies erreicht werden?

Antwort

1

Sie müssen die Metada API von salesforce verwenden, es gibt einige Bibliotheken, die Ihnen helfen werden, ich verwende Jsforce. Sie können also auf der visuellen Force-Seite eine Verbindung zur Sandbox in der Produktionsorganisation herstellen, indem Sie einfach javascript verwenden und ein beliebiges Objekt aus der Sandbox auflisten.

1

Andrew Fawcett hat eine geschriebene wunderbare Apex-Wrapper-Klasse für Salesforce-Metadaten-API.

Bitte beachten: https://github.com/financialforcedev/apex-mdapi

Es gibt ein „Bereitstellen von Salesforce“ Schaltfläche, die können Sie auf, und es wird diese ganze Code-Basis in Ihrem Entwickler org leicht zu implementieren.

Dann können Sie seine Klassen von Ihrem Apex-Code/VF-Code verweisen. Probieren Sie es aus. Sie werden es sehr gerne :)

0

Der einfachste Weg, dies zu tun ist die Verwendung der Tooling-API. Sie können es in der Entwicklerumgebung https://workbench.developerforce.com/restExplorer.php testen.

Um zum Beispiel eine Liste aller Apex-Klassen erhalten Sie würden eine GET-Anfrage zu diesem Weg machen:

/services/data/v37.0/tooling/query?q=SELECT+Name+FROM+ApexClass 

Oder eine Liste von Workflow-Regeln zu erhalten:

/services/data/v37.0/tooling/query?q=SELECT+Name+FROM+WorkflowRule 

In Apex können Sie einfach eine http-Anfrage an diese Endpunkte stellen. Das Ergebnis wäre im JSON-Format. Sie können es mithilfe der integrierten Apex JSON-Bibliothek deserialisieren.