Synchronize with Github

The Metazoa Snapshot Org Management product provides tools that enable developers and administrators to synchronize Salesforce Orgs with other Salesforce Orgs, local Developer Projects with Salesforce Orgs, and Salesforce Orgs with online Repositories such as GitHub, GitLab, BitBucket, and Azure DevOps

Synchronize Salesforce
Orgs and Github Repositories

Metazoa Snapshot provides sophisticated and flexible tools for continuously keeping Salesforce accounts, developer projects, and content repositories synchronized. A wide variety of different use cases can be implemented by simply connecting items on the desktop and turning on continuous integration. Developer projects and content repositories can be in either Metadata API or Salesforce DX format. Supported repositories include GitHub, GitLab, BitBucket, or Azure DevOps.

There are two main styles of continuous integration to choose from. The first is triggered when the source Salesforce Org or developer project changes. In this case selected metadata types are moved from the source to the destination. The second watches for changes in deployment history. When a new deployment makes changes to the source Salesforce Org or developer project, then the same deployment is replayed to the destination.

Your local Salesforce DX or Metadata API project can be optionally connected to a content repository. In this case, the editing tools for the local project are no longer displayed, because the source of the metadata files is now the remote repository. The project folder is still used to store a local copy of the files. Developers can switch the interface back and forth to work on the local project or the content repository as needed. When the project is connected to a content repository the files in the developer project will be replaced when a snapshot is taken.

Synchronizing a GitHub Repository with Snapshot

This document provides a guide on how to synchronize a GitHub repository with a Salesforce organization (org) using Snapshot. This synchronization enables you to manage your Salesforce metadata and data in a more controlled and versioned environment.

Prerequisites

  • A GitHub account.
  • A Salesforce organization (org).
  • Snapshot deployment tool installed.

Steps

Step 1: Set up a Developer Project in Snapshot

  1. Launch Snapshot and navigate to the Deployment Pipeline.
  2. Click on the “New” button to set up a new developer project.
  3. Ensure that the checkbox for connecting to your online repository is enabled.
  4. Select the format for your project. You can choose between Metadata API, Eclipse IDE, or Salesforce DX.
  5. Enter a name for your project (e.g. “test_repo”).

Step 2: Configure Pull Commands

  1. Within the project settings, set up the Pull Commands.
  2. Input your GitHub username (e.g. “Bill_Appleton”).
  3. Enter the repository name (e.g. “test_repo”).
  4. Specify the local project name, which should ideally match your repository name (e.g. “test_repo”).
  5. Include the URL that will launch your online repository on GitHub.

Step 3: Configure Push Commands

  1. Stay in the project settings and configure the Push Commands. This configuration typically requires fewer settings compared to Pull Commands.

Step 4: Create a Snapshot of the Repository

  1. Click on the “Take a Snapshot” button. This will create a snapshot of your online repository.
  2. Once you have the snapshot, you can execute reports and perform other operations on the repository using Snapshot.

Step 5: Synchronize Salesforce Org to Repository

  1. In the Deployment Pipeline, create a deployment arrow that connects your Salesforce org to your repository.
  2. Double-click the deployment arrow to select the objects you want to move from the Salesforce org to the repository.
  3. Click “Deploy” to move the selected objects into the repository.

Step 6: Verify Synchronization

  1. Launch the repository browser in Snapshot.
  2. Verify that the objects you moved are present in the repository.

Step 7: Synchronize Repository to Salesforce Org

  1. Create a deployment arrow that connects your repository to the Salesforce org.
  2. Double-click the deployment arrow to open the configuration options.
  3. Take a snapshot of your source repository.
  4. Browse and select the assets from the repository that you want to deploy to the Salesforce org.
  5. Click “Deploy” to move the selected assets into the Salesforce org.

Conclusion

Using Snapshot, it is easy to synchronize data and metadata between Salesforce organizations and GitHub repositories. This tool also enables you to synchronize between different online repositories, local folders, and live Salesforce organizations using a variety of deployment tools. This synchronization helps in better management and versioning of your Salesforce data and metadata.

Learn More!

Snapshot provides powerful tools for Salesforce Administrators that help manage the change and release process, visualize org complexity, improve security and compliance, and lower the total cost of Org ownership. Visit the AppExchange to start a 14 day free trial or click the button below to schedule a demo.

🎉 Congratulations! 🎉

You’ve successfully completed the Metazoa Metadata Studio Certification Class. With the skills you’ve acquired, you’re now adept at harnessing the power of Metazoa’s Metadata Studio, seamlessly integrating artificial intelligence into Salesforce org management. You have earned you a certificate! Well done, and we wish you continued success in your future endeavors!