How do I commit?
  • 13 Feb 2023
  • 10 Minutes to read
  • Contributors
  • Dark
    Light

How do I commit?

  • Dark
    Light

How do I commit?

The below article talks about how to perform EZ-Commit in AutoRABIT and commit the necessary code changes to a target branch.

The New EZ-Commit screen is best viewed when the zoom setting is set to 80% on your Chrome/Firefox browser.

Step 1: Initial Phase

Log in to AutoRABIT with your username, e.g., username xyz@autorabit.com, then:

  1. Hover your mouse over the VC module and select COMMITS.
  2. Click on the NEW EZ-COMMIT button.
  3. On the next screen, select the source Salesforce Org from which the changes will be retrieved.
  4. Select the User registered for the above Salesforce Org. 
  5. Select the Version Control Repository and Branch where the changes will be committed. For Version Control as GIT type, the user will be able to create a new branch from the EZ-Commit user interface.
    Important Notes:
    1. There is a provision to choose All in the Salesforce Org Author field. Upon selection, this commits changes across the org irrespective of the user registered to that Salesforce Org. It is accessible only to AutoRABIT Administrators or users who have permission to "Commit on behalf of others".
    2. At present, when Skip Mapping is set to false, users are not able to choose associated child branches of a mapped branch. In the recent release, however, AutoRABIT will read the mapped branch for your Version Control Repository and display the associated child branches during Commit even if skip mapping is disabled.
  6.  Under the Fetch Changes tab, select the manner in which the components are to be fetched from the above-selected Source org.
    1. Metadata Components:  When selected, this retrieves all the metadata components available in the source Salesforce Org. Different ways to fetch the Metadata Components are:
      1. Auto Draft: This brings all the changes which the author has made in the Salesforce Org that are not yet committed to the Version Control (AutoRABIT does the calculation by using the last modified date in the Salesforce Org and comparing it against the last commit date to Version Control Branch).
      2. Select Manually: Choose the metadata components individually to be committed to the destination branch.
      3. Package Manifest: A package .xml file controls which metadata types and members are retrieved and deployed from the source org to the destination org. This type of file is also known as the project manifest. Using this type of control file allows you to initiate a commit process without manually selecting individual metadata components.
        Important Note:
        Under the Package Manifest option, you can find the checkbox Apply Auto Draft. If you click the aforementioned checkbox, the metadata components that reside in the uploaded XML file will be compared to your source control and Salesforce, and any modified/added components are displayed on the next Commits screen. If left unchecked, the components will be compared only with Salesforce and any changed or newly added components are shown on the next screen.
    2. Re-use Previous Validated Commit Label: If you have placed the changes related to a user story or task etc., under a specific commit label, you can choose the same in this field. The main advantage of creating a commit label is to reuse the labels and perform multiple commits under a given label.
    3. Vlocity Components: This option exports Vlocity DataPacks from a Salesforce Org through a YAML Manifest describing your project and committing the same to a Version Control System. The primary goal is to enable Continuous Integration for Vlocity Metadata through source control.
      Important Note:
      • About Review Artifact: You can create a review of selected artifacts or a module or collection. You can designate other team members as participants in the review. Participants receive requests and, depending on their designated role in the review, they can approve, disapprove, review, or abstain from reviewing each artifact.
      • If you check the Review Artifact box and choose only commit options for Profile/PermissionSet, the artifacts option will be ignored, and the flow will continue with only commit options for Profile/PermissionSet.
  7. Under the Perform section, you have different options:
    1. Validation Of Changes (Before Commit): AutoRABIT allows performing a validation deployment before actually committing the changes. This command creates the validation deployment without committing any changes in the repository. If the deployment is successful, the commit is executed.
    2. Commit (Without Validation): Directly commit to your Version Control System without extra validations.
    3. Create a Pull Request: Create a pull request to propose and collaborate on changes to a repository. These changes are proposed in a branch, which ensures the master branch only contains finished and approved work.
  8. Under the Post Commit section, you can invoke certain processes once the commit is successfully completed.
    1. Create/Append Revision to existing Label
      1. Commit Label: Commit Label helps to label a commit. For example, changes related to a user story or task, etc., under a specific label- you can reuse the labels and perform multiple commits under a given label. Select the label from the drop-down or create a new one by clicking on the + icon.
      2. Release Label: Release Label is the label created by grouping multiple EZ-commit labels as a singular release label.
    2. Update ALM Work Item status: Once the changes are committed to the version control system, the status of the ALM work item is updated and reflected in your ALM system. You are able to view the current status of the work item selected. Choose the new work item status per your requirements. You can even keep the current work item status or update it for the same work item.
    3. None: No Post commit action will be taken.
  9. Click Next.

Step 2: Selecting the Components

On the next screen, the metadata types along with their corresponding members will be listed here. You will find 3-4 tabs as detailed below:

  1. All Metadata Components: All of the metadata components available for your source org are listed here. Select the components you want to commit to the Version Control Branch.
  2. Deleted: AutoRABIT compares the change with the Source Org and the Version Control Branch and lists all the components that are available in the branch. If you want to delete those components from the branch while committing, you can select those components in this tab.
    Important Consideration
    Delete any metadata that has permissions on any profile/permissionsets, and all the profiles and permissionsets associated with that metadata are updated as well.
  3. Selected: Total components you selected will get displayed in this tab. The metadata components that are newly added or updated in the destination branch are shown as A/M (Added/ Modified) and the components to be deleted from the destination branch are shown as D (Deleted) under the Action tab.

Based on your commit process selection (prevalidate commit or commit only), the next screen is displayed.

Step 3: Commit Settings

A. For Validation of Changes (Before Commit)

AutoRABIT allows performing a validation deployment before actually committing the changes.

  1. Under the Validation Report section, you can do the following:
    1. Generate Diff Report at current HEAD: Select this option to auto-generate a code difference report on completion of the commit.
      Important Note:
      In some scenarios, this option will be selected by default. This usually occurs if you have set the criteria for the commit process globally that will ensure generating the Difference Report by default. Usually, you can find the commit criteria that you have set under the My Account > Commit Validation - Approval Settings section. However, it should be kept in mind that if you try to deselect the Generate Diff Report checkbox once the criteria are set, this will result in auto rejection of your commit.
    2. Run Static Code Analysis: Select this option if you would like to run a Static Code Analysis tool to identify potential software quality issues before the code moves to production. Lint is also run by default irrespective of the SCA tool you choose. Lint analyzes source code for programming errors, bugs, stylistic errors, and suspicious constructs. Similar to "Generate Diff Report at current HEAD," this option is also auto-selected by default if the criteria are set globally (under the My Account > Commit Validation - Approval Settings section).
      • For ApexPMD, Checkmarx, CodeScan, and SonarQube: AutoRABIT allows you to set the criteria for running the SCA tool, whether to run on all supported metadata types from the full source or to run on the newly added components.

    3. Validate Deployment: Choose a Salesforce Org and the test level to validate a future deployment.
  2. Under the Validation Settings, users are prompted to enter the commit label, commit message (if any) and reviewer email ID(s) to send an email notification of the commit process performed and to send the difference reports. Additionally, there are various options that you can configure:
    1. Commit WaveXmd Components: Upon selection, this checkbox allows you to select the respective wavexmd files belonging to the wave dashboard metadata type and commit them to the target branch. This checkbox will be hidden if the 'WaveDashboard' metadata type or its corresponding members are not picked.
    2. Commit Options for Profile: This option allows you to choose commit settings for a full profile operation.
      • Commit Access Settings for selected metadata (Profiles ONLY): This allows you to perform the commit operation based only on the Profiles available for the selected metadata.
      • Commit Full Profiles: Commits the Profiles irrespective of the Metadata being selected.
    3. Commit Options For PermissionSets: This option allows you to choose commit settings for a permission set operation.
      • Commit Access Settings for selected metadata (PermissionSets ONLY): Commits the permission of the metadata members for permission set metadata you have worked on or modified.
    4. Remove IP Ranges: This removes the IP range from your profile/permissionsets while committing them.
    5. Remove User Permissions: This removes the user permissions from your profile or permissionsets while committing them. By default, it applies to profile and not permissionsets.
      Important Point to Note:
      1. Only if both the profile and permissionsets files are selected for commit will the Remove User Permissions checkbox appear.
      2. By default, Remove User Permissions only applies to profiles, not permissionsets.
      3. If you choose the option: Commit Options for PermissionSet, the Remove User Permissions checkbox will be accessible.
      4. If you check the Remove User Permission checkbox without checking the Commit Options for PermissionSets checkbox, the remove user permission will only apply to profiles, not permissionsets.
    6. Ignore Missing Visible Settings: With this option, differences in visibility settings between the source and destination orgs will not cause the deployment to fail. AutoRABIT will compare the source and destination orgs and keep only the settings that are common between both orgs.
      Important Note
      Standard fields are not supported for Ignore Missing Visible Settings.

    7. Ignore installed components: When selected, AutoRABIT will scan for the components that are deployed, and if there are any managed package components located in the destination branch, these components will be excluded from the metadata.zip files while the remaining components are deployed.
  3. Apply Search and Substitute Rules: If you have created the search and substitute rules to define custom find and substitute rules that AutoRABIT applies whenever you commit and deploy files from one Sandbox to another Sandbox, one Sandbox to Version Control, or vice-versa, such rule can be found here.

Click Finish. View your recently created EZ-Commit in the Commits screen.

B. For Commit only (Without Validation)

Directly commit to your Version Control System without extra validations. Different options to choose from include: 

  1. Commit WaveXmd Components: When selected, this checkbox allows you to select the respective wavexmd files belonging to the wave dashboard metadata type and commit them to the target branch. This checkbox is hidden if the 'WaveDashboard' metadata type or its corresponding members are not picked.
  2. Commit Options for Profile: This option allows you to choose commit settings for a full profile operation.
    1. Commit Access Settings for selected metadata(Profiles ONLY): This allows you to perform the commit operation based on the Profiles available only for the selected metadata.
    2. Commit Full Profiles: Commit the Profiles irrespective of the Metadata being selected.
  3. Commit Options For PermissionSets: This option allows you to choose to commit settings either for a permission set operation.
    1. Commit Access Settings for selected metadata (PermissionSets ONLY): Commits the permissions of the metadata members for permission sets metadata you have worked on or modified.
  4. Remove IP Ranges: This removes the IP range from your profile/permissionsets while committing them.
  5. Remove User Permissions: This removes the user permissions from your profile or permissionsets while committing them. By default, it applies to profile and not permissionsets.
    Important Point to Note:
    1. Only if both the profile and permissionsets files are selected for commit will the Remove User Permissions checkbox appear.
    2. By default, Remove User Permissions only applies to profiles, not permissionsets.
    3. If you choose the option: Commit Options for PermissionSet, the Remove User Permissions checkbox will be accessible.
    4. If you check the Remove User Permission checkbox without checking the Commit Options for PermissionSets checkbox, the remove user permission will only apply to profiles, not permissionsets.
  6. Apply Search and Substitute Rules: If you have created the Search and Substitute rules to define custom find and substitute rules  AutoRABIT applies whenever you commit and deploy files from one Sandbox to another Sandbox, one Sandbox to Version Control, or vice-versa, such rule can be found here.
  7. Commit Comment: Comment or add additional information if any.
  8. Click Finish. View your recently created EZ-Commit in the Commits screen.Commit Changes

Was this article helpful?

What's Next