Copado Developer - Practice Questions
To which of the following components does Copado apply the resolution strategy "branch A wins over branch B"? (2)
(1) Apex Classes (2) Layouts
For which of the following components would you enable the Online Conflict Resolution feature? (2)
(1) Apex Triggers (2) Apex Classes there are more...
For which of the following components is it not recommended to use auto-resolve? (2)
(1) Apex Triggers (2) Visualforce Pages
In a sandbox, you have made some changes in the System Admin profile. When you try to deploy the profile, you are getting the error "Unknown User Permission: ManageSandboxes." What can you do in order to move your changes forward? (2)
(1) Create a YAML file to exclude the ManageSandboxes permission, add it to the pipeline and redeploy. (2) In the Git Promotion deployment step, use the Find and Replace feature to exclude the ManageSandboxes permission and redeploy.
Which of the following examples could potentially create a Git conflict? (2)
(1) Merge the feature branch into the source org's branch. (2) Merge the feature branch into the promotion branch.
Dave is getting an error message when trying to promote and deploy his Apex classes and components to the integration environment. What could be the issue? (2)
(1) The Apex code coverage is below the minimum Apex code coverage defined on the environment. (2) The Apex code coverage is below the minimum Apex code coverage defined in the Minimum Apex Code Coverage field on the user story.
After passing Apex tests on a user story and deploying an Apex hotfix user story from dev to uat, other tests are failing in the validation deployment in production. How is this possible if the deployment didn't fail before? (2)
(1) The promotion test level on the user story was set to RunSpecifiedTests but the Run All Tests checkbox is enabled in the Production Environment record. (2) The promotion test level on the user story was set to NoTestRun.
**What happens when you use the Recommit Files Git operation and select the Re-Create Feature Branch checkbox? (2)
(1) The status of previous commit records is set to Commit not in branch. (2) Previous commit records will be removed from the user story. B. Previous commits are not included in the newly created feature branch. C. The status of previous commit records is set to Commit not in branch.
Dave is taking a look at some of the data they have imported from production to dev2 for testing purposes using data templates, and he has noticed the data in some of the fields doesn't match that of the production environment. What could be the reason for this? (2)
(1) The user who created the data templates used Scramble with Format in some of the fields to avoid moving sensitive data. (2) The user who created the data templates used Scramble Value in some of the fields to leave out sensitive data.
Rob's team wants to use data templates to import actual data into dev1 in order to test a feature they have developed in that environment. What is the easiest way for them to ensure no sensitive data is imported into dev1? (2)
(1) They can use the Replace Value option in the Object Fields tab of their data templates and enter a random value in the fields that contain sensitive data. (2) They can use the Scramble Value option in the Object Fields tab of their data templates for fields that contain sensitive data, and Copado will replace the characters in the original value with random characters while deploying.
You have been assigned the task of deleting a custom field. After deleting the custom field in a sandbox, you have created a user story to delete the field in Git and in upper environments, but you refreshed the medata grid before selecting the custom field. What can you do now in order to perform a destructive changes commit of the field? (2)
(1) Use the Add Row button on the Commit Changes page and add the API name of the component. (2) Change the base branch on the user story to locate the field in another branch
Which IS TRUE about Static Code Analysis using Code Scan? (3)
(1) You can review the violations from the Static Code Analysis Result related list on the User Story record. (2) You need to have a CodeScan account. (3) You need to create Static Code Analysis Settings with CodeScan record type.
When working with data templates, how can you avoid getting validation rule errors when deploying your templates to the next environment? (3)
(1) You can use a manual task to manually deactivate the validation rule before executing the deployment and reactivate it once the deployment is completed. (2) You can do a validation deployment to make sure you don't have any offending records. (3) You can enable the Bypass Validation Rules checkbox in the data template.
How can you link the Copado CLI with the org where Copado is installed? (2)
(1) You can use the command sfdx copado:auth:set -a [myOrgAlias]. (2) You can use the command sfdx copado:auth:set -u [[email protected]].
Rob is setting up CodeScan. He has located the tab and clicked on New but has not been asked to choose between the PMD and CodeScan record types. What should he check? (3)
1. Ensure that both PMD and CodeScan record types are assigned to the SCA object on his profile or perm set 2. Ensure he has at least read access to the record type field on the SCA object 3. Ensure that the Copado version is 12.1 or higher
Rob would like to define the following quality gates: 1. Run an Apex Test with Validation for Apex classes and triggers. 2. Run a Compliance Check for profiles and permission sets. What is the minimum number of metadata groups he needs to create?
2, one for Apex classes and triggers and one for profiles and permission sets.
A PMD static code analysis rule has been violated. If the violation score of the rule is 2, what was the priority set for this rule?
4
You have a PMD static code analysis rule with priority 2. If this rule is violated once, what will be the violation score?
4
You have a PMD static code analysis rule with priority 1. If this rule is violated once, what will be the violation score?
5
What is the minimum Apex code coverage on a user story?
75%, which is the minimum code coverage required by Salesforce.
Your company has multiple developers working in separate environments and sometimes your Apex classes get overwritten. What can you do to prevent this?
Activate the Online Conflict Resolution feature by removing Apex classes from the Exclude From Auto Resolve field in the Pipeline record
Debbie committed some changes to the Opportunity Layout but, after deploying her changes from DEV to INT, she found her changes were not there due to an auto-resolved Git conflict she was not aware of. How can she prevent this from happening again in all future promotions?
Add Layout to the Exclude From Auto Resolve multi-select picklist field in the Pipeline record
When is the Online Conflict Resolution triggered?
After detecting a merge conflict between a feature branch and the Promotion branch.
What IDEs can you use with the Copado CLI?
All IDEs are supported.
Who can see the Advanced button in button on the Commit Changes page?
Any user with Edit User Story Commit Base Branch custom permission assigned
For some components, a Manual conflict resolution is a better approach. For which types of metadata is it a good idea to use the Exclude from Auto-Resolve? (2)
Apex Triggers
Dave would like to change the base branch on a user story from master to uat, but he can't see the Advanced button. As a Copado admin, what is the best way to fix this?
Assigning Dave the Edit User Story Commit Base Branch custom permission.
What types of Conflict Resolution processes can be executed with Copado?
Auto-resolve, Manual Resolution
Dave has been assigned the task of deleting a custom object. After committing the destructive changes, he notices that no feature branch has been created. What could be the reason?
Base brach was set to master branch and then component was not in production.
Which is true about Codescan?
Besides Apex classes, CodeScan also checks Visual force, Lightning Components, and Javascript code
After deleting a component in Dev1, Debbie has created a new user story to delete the component from the repository and upper environments. She has refreshed the metadata index before selecting the component. What can she do now in order to perform a destructive change commit of the component?
Change the org credential and the environment on the user story and find the component in another org.
The PMD rule Avoid SOQL queries inside loops should have the highest priority when running a static code analysis scan. How you can set this?
Change the rule priority in the PMD Default RuleSet to 1.
Your company has had many issues with governor limits in the past, so you have been requested to give the highest relevance to the PMD rule Avoid making DML operations in Apex Class. How can you do this?
Change the rule priority in the PMD Default RuleSet to 1.
You want to give an existing PMD rule the lowest priority. How can you do this?
Change the rule priority in the PMD Default RuleSet to 5.
When running Apex tests on a US, where can you click to review the results?
Click on Manage Apex Tests in the US record
What are good reasons to create a Manual Task?
Configure Metadata Types not supported by the Metadata API.
Within the same sprint, Debbie added, a defaultPhone method and Dave added a defaultUrl method, both to the account operations class. Since, Debbie and Dave are working in their individual sandboxes, after promoting the second user story, a Git conflict arose. They learned up to solve the conflict using Copado's online conflict resolution feature. What happens when both user stories are mass back-promoted?
Copado uses the conflict solution that was previously created
Debbie and Dave were modifying the same Apex class on their individual sandboxes, Debbie deployed first without any issue, but when Dave tried to deploy, a Git conflict arose, so they teamed up and resolved it manually with Copado's online conflict resolution feature. What happens when both user stories are moved to the next environment?
Copado uses the conflict solution that was previously created.
Rob, has set up the following connection behavior in UAT: Back Promote = Automated Quality Gate = Apex Tests Dave, the lead developer, has committed an Apex class in dev1 and is going to deploy it to UAT. What will happen once the user story is successfully deployed to UAT?
Copado will automatically back-promote the user story to other lower environments connected with UAT.
You have the following Connection behaviors configured in your Pipeline, what will happen when a User Story is deployed from DEV 1 to INT?
Correct answerNothing will happen. The user story must be manually back-deployed to Dev2.
You want to run a selenium test when someone changes a community profile. How can you ensure that this quality gate is applied only when a community profile is deployed? Hint: All the community profiles contain Community in its name.
Create a Metadata Item, select Profile as Metadata Type and use the Advanced Metadata Name to filter by Community profiles.
Ana would like to migrate accounts and all related opportunities. How can she achieve this?
Create an Account template and an opportunity template. From the Account template, click on Child Objects. Find the opportunity object, select that row and choose the opportunity template.
Debbie is deploying a user story with Apex components from UAT to production. The promotion test level on the user story is set to RunSpecifiedTests. What test level is going to be enforced in the deployment to production?
Deployments of Apex components to production will always run all tests.
Even though Dave has defined NoTestRun in the Promotion Test Level field on his user story, the deployment to production is running local tests. What could be the reason for this?
Deployments of Apex components to production will use RunLocalTest even though the test level on the user story is NoTestRun.
You have a custom setting that references the Id of a profile. What would you use to successfully deploy the custom setting data up to production?
Environment variables.
After deploying an update to the account operation class, the QA team noticed some previous functionality was overwritten by the Auto-Resolve. How can you prevent this issue for all new promotions?
Exclude Apex Classes in the Exclude from Auto-resolve field in the Pipeline Record
You are using the auto-resolve conflict resolution feature, Copado will stop the merge of the feature branch into the promotion branch if it detects a conflict.
FALSE
You would like to create a Scratch Org with some metadata already there. From where can you achieve this? (2)
From User Story Operations in the DX Panel. From the Scratch Org Wizard in a User Story.
How can you import a data template?
From the Data Templates tab, click on Import templates
You want to have back-deployments to Dev environments scheduled to run everyday at 9pm. How can you achieve this with Continuous Delivery?
From the INT Connection Behavior record, click on Schedule Back-Promotion hyperlink and schedule the frequency there.
How can you create a Connection Behavior record for the UAT environment?
From the Pipeline Configuration page, click on the shield icon in the UAT environment.
You want to create a YAML file to apply your Git commits and Git deployments. How can you achieve this?
From the Pipeline record, create a YAML file with Copado's YAML editor
Dave has just created a Scratch Org but he has got some errors in a couple of the metadata components to be pushed to the Scratch Org. What steps should he follow to review the metadata load errors?
Go to the DX Panel, select Scratch Org Operations, choose the Scratch Org and click on Metadata Load Errors.
Rob has enabled the Online Conflict Resolution and he has been alerted of a conflict. How can he review and resolve the conflicts detected?
He can click on Review Merge Conflict in the related Promotion record.
After deleting the component in Dev1, Dave has accidentally refreshed the metadata index. What can he do now in order to perform a destructive changes commit of the component?
He can use the Org Credential lookup field in the Commit Changes page and find the component in another org.
Rob, would like to enforce the following quality gates when deploying to INT: * A static code analysis for all Apex classes and triggers. * A validation deployment for all Apex classes and triggers. * A validation deployment for profiles. What is the easiest way for him to address these requirements?
He needs to set up 1 connection behavior in INT with 2 quality gates, a Static Code Analysis for Apex classes and triggers and a validation for profiles and for Apex classes and triggers.
**Rob would like to run Apex tests for all Apex metadata coming into the UAT environment and a compliance check for profiles and permission sets coming into the same environment. How can he accomplish this?
He needs to set up 3 connection behaviors in UAT with 1 quality gate each, 1 for Apex tests, 1 for the compliance check for permission sets and 1 for the compliance check for profiles. B. He needs to set up 1 connection behavior in UAT with 2 quality gates, an Apex test with Validation for the Apex elements and a Compliance Check both for profiles and for permission sets.
Ana added some Manual Deployment Tasks in her User Story, but in the Deployment record, she can only see the Git Promotion Step. What should she review?
If the Deployment is a Validation Deployment.
The Staging Environment record has the Run all local tests checkbox enabled. A user story with Apex components and the promotion test level set to RunSpecifiedTests is being promoted and deployed. What test level is going to be enforced?
If the Run all local tests checkbox is enabled in the destination environment, every Copado deployment will always run all local tests.
What happens with a component that is added to the .gitignore file and is later committed on a user story?
If the component has never been committed successfully to Git, it won't be created in Git. If the component has already been tracked by Git, even if it is added to the .gitignore file, it will be updated in Git.
Dave has set up the following connection behavior in INT: Deployment Behavior = Automated Quality Gates = Compliance Check; Profiles and Perm Sets He has created a new profile in dev1 and is going to commit it on a user story. What will happen after he clicks on Submit Changes?
If the profile passes the compliance check, Copado will create a Promotion and a Deployment record and will automatically deploy it to INT.
Dave is trying to override the base branch for a User Story so that it gets created out of UAT. Where can he find the base branch for a feature branch?
In the Advanced Section in the Commit Changes page.
Where can you control the available metadata sources when you create a scratch org from a user story?
In the Copado DX Mode picklist on the Pipeline record
You would like to receive an alert whenever the static code analysis score of a user story is above 15. How you can achieve this?
In the Environment record, set the Maximum SCA Score field to 15.
Debbie is attempting to deploy a profile from a sandbox on the latest Salesforce Preview Instance to production on the latest Salesforce GA version. She is receiving errors due to new user permissions which have been introduced in the Preview Instance that do not exist in the GA version of Salesforce. How can Debbie move her deployment forward?
In the Git Promotion deployment step, she can leverage the Find and Replace feature to exclude the user permissions introduced in the higher API version and redeploy.
You would like your scratch org to have a namespace. Where can you set this up?
In the Project Template
You would like to create a scratch org that has a duration of 15 days. Where can you set this value?
In the Scratch Org Definition
Ana has been asked to configure a Scratch Org with Communities enabled, where should she set up this setting?
In the Scratch Org definition
To create your Scratch Org, you have used multiple packages. Now you have created a new custom object in the Scratch Org. Where can you select the package to commit the custom object?
In the User Story, click on Commit Changes, flag the custom object and select the Package to commit.
As part of post scratch org creation, you would like to run a script to schedule a class in the scratch org. How can you accomplish this?
In the extensions in the scratch org wizard, add the script that you want to execute.
What is the command sfdx copado:auth:set -a [myOrgAlias] used for?
It is used to link the Copado CLI with the org where Copado is installed.
Which is TRUE about the .gitignore file?
It prevents entire files from being tracked in your repository.
What is the Copado CLI?
It's a Salesforce CLI plugin that allow users to execute Copado-related tasks from their local IDE/Terminal.
Ana is configuring Copado DX and she wants to set Integration Environment as DX target. What steps should she follow?
Locate the Pipeline Connection record that links Integration and UAT and select Default DX Target from the Enable as Scratch Org Target picklist.
In Dev1, Debbie has added a new method to an Apex class. She has committed the user story and deployed the user story to UAT. In Dev2, Dave has added a method to the same class and has deployed the changes to UAT. This has reported a conflict, so Dave has teamed up with Debbie and resolved it manually. What happens when the user stories are moved to the next environment?
No conflict is reported. Copado uses the auto-resolve conflict resolution feature to apply the changes from the latest deployment to the Apex class.
Where can you set the Maximum Static Code Analysis Score?
On the Environment Record
While working in Dev1 Debbie has committed a new custom field "Amount" and a validation rule "Mandatory Amount" in the same user story. Later, during the sprint, the business analyst decided that the validation rule should not be included in this sprint but rather moved to the next sprint. Nonetheless, the custom field must remain and be delivered in the current sprint. How can Debbie accomplish this?
On the same user story, use the Recommit Files Git operation, check the Re-Create Feature Branch checkbox, deselect the validation rule and recommit.
While using Apex Tasks, when are you notified in case of any Script code errors?
Once the deployment is executed.
You want to create a Scratch Org and you would like to push 12000 metadata components to the Org. Which metadata source shouldn't you use in this case?
Patch & Release
The main YAML file structure is composed of:
Regex expression and rules.
Dave committed a new method on the AccountOperations class but, after deploying his changes from DEV to INT, he found his changes were not there due to an auto-resolved Git conflict he was not aware of. What could he have done to prevent this from happening just in this particular promotion?**
Remove ApexClass from the Exclude From Auto Resolve multi-select picklist field in the Pipeline record. Manually promote and remove ApexClass from the Exclude From Auto Resolve multi-select picklist field in the Promotion record.
**When deploying US1 and US2 in the same promotion, the old code in US2 is overwriting the most up-to-date code in US1. How can a developer resolve this issue?
Resolve the conflict manually using the Online Conflict Resolution feature. Use the Order User Stories by field in the Promotion record.???
A developer has deployed a user story from a Dev sandbox that contains an old version of the code. While deploying, the auto-resolution engine has overwritten the most up-to-date version of the code in UAT. How can you prevent this from happening again in the future?
Resolve the conflict manually using the Online Conflict Resolution.
Rob is deploying an important release from uat to production and would like to temporarily freeze some users to ensure they don't make any changes during the release window that could have a negative impact on the release. What would be the easiest way to do this?
Rob can create a manual task to manually freeze the users in production.
Rob wants to deploy a data template to production and wants to disable active validation rules in production to make sure the template is successfully migrated. To this end, he creates a Manual Task deployment step. and then adds a Data Template deployment step. What would be the deployment process in this case?
Rob will receive an email notification for the manual task to deactivate the validation rules in production. Once he deactivates the validation rules, he will need to set the Manual Task deployment step to Complete. Next, the template will be deployed.
Debbie is deploying a user story with Apex components from UAT to production. The promotion test level on the user story is set to NoTestRun. What test level is going to be enforced in the deployment to production?
Run Local Tests.
Which statement is NOT TRUE about Scratch Orgs?
Scratch Orgs are suitable for running long term projects
As part of your development process, developers can only create scratch orgs from Git packages. How can you ensure that developers can't select a different metadata source?
Select Git Packages In the Copado DX Mode picklist field in the Pipeline record.
How can Ana migrate contacts that belong to accounts with more than 10,000 employees?
Set a filter in the account template where Employees GREATER than 10,000
The development team is complaining that when they try to select a metadata source in the scratch org wizard, they can only see Branches. Developers should be able to select any metadata source. How you can fix this?
Set the Copado DX Mode picklist field in the Pipeline record to 'None'.
Dave got an error while trying to perform a Manual Task that prevented him from completing it. Which steps should he follow now?
Set the Deployment step status to "Incomplete" so that the release manager receives a notification of the Deployment error.
Debbie has created a new custom field in Dev1. She commits it on a user story together with the permission set to deploy FLS. After committing the changes, she realizes she forgot to grant the permission set access to the field in Dev1, so she goes back to Dev1 and updates the FLS. What is the easiest way to ensure the FLS is deployed to the next environment together with the field?
She can go back to the user story where she committed the changes and use the Recommit Files Git operation.
Ana has deleted a component in source org and refreshed the metadata index before committing a destructive changes. Now she cannot find the deleted component. What should she do to commit the deletion?
She can use the Org Credential lookup in the Commit Changes Page to find the component in another org.
Ana wants to migrate leads using the Data Deployment Wizard. She has already created a lead template but she cant find it in the Select Data template step. Why?
She did not flag the 'Active' checkbox on the template
Why the commits on a user story could display the status Commit not in branch?
Someone has used the Re-Create Feature Branch on the user story
Ana has been asked to try out Copado DX. She has created the Org Credential for her Dev Hub Trial, but the Copado DX connected App has not been created. What should Ana check?
The "Is Developer Hub" checkbox is flagged in the Org Credential.
While having work in progress in dev1, you are trying to deploy a small change to the Admin profile using the Copado CLI. After pushing and validating your changes, the validation deployment is failing. why?
The CLI push creates a deployment of the complete profile file which could include dependencies to work in progress.
Debbie created an Apex class in Dev1 and is manually deploying to UAT. She selects No Test Run as tesl level, but apex tests were run anyway. Why?
The Run all local tests checkbox is enabled in the UAT environment
When you use the Recommit Files operation on a user story and flag the Re-Create Feature Branch checkbox, what happens to the status of previous commit records on the same user story?
The Status changes to Commit not in Branch
When setting up a user story in the Copado CLI, what references can you use?
The User Story Name, the User Story Id or an External Id reference.
Dave has been asked to delete a custom object that has been deployed only to UAT. He has committed the object using the Destructive Changes Git operation. While reviewing the commits, he finds out that the commit has the status No changes. What could be the reason for this?
The base branch was set to master branch
Which is NOT true about destructive changes?
The component needs to be manually removed in the destination org after deploying the destructive changes.
After pushing changes using the Copado CLI, you notice that the feature branch is being merged to a different environment branch in your remote repository. What could be the reason behind this?
The environment and org credential of the related user story were accidentally changed to a different one.
Debbie is getting an error while trying to modify the Minimum Apex Code Coverage field on the user story. What could be the reason for this?
The minimum Apex code coverage of the user story cannot be below the minimum Apex code coverage of the environment.
Debbie has committed a change in the IDE, but she notices that the feature branch has not been created in the remote repository. What could be the reason?
The remote feature branch will be only created when she uses the sfdx copado:work:push command.
What test level is applied to the deployment when you check the Promote & Deploy checkbox?
The test level specified in the Promotion Test Level field on the User Story record.
Ana is the new NextGen networks admin. She has taken a Git snapshot in dev1 but when looking at the dev1 branch, she can't find the translation files. What could be the reason?
The translations are excluded in a YAML file
What happens with the previously created commit records in the User story after recommitting files using the Re-Create feature branch functionality?
Their status is changed to Commit not in Branch
Where are the Copado CLI configuration files stored?
They are stored in the user's root folder under a hidden folder named .copado.
When attempting to deploy a profile from a sandbox in the latest Salesforce Preview Instance to production in the latest Salesforce GA version, Debbie is receiving errors due to new user permissions introduced in the Preview Instance that do not exist in the GA version of Salesforce. What can she do to move her changes forward?
Use the Find and Replace feature in the Git Promotion deployment step to exclude the user permissions introduced in the higher API version and redeploy.
You have created two different Account page layouts in Dev1, one for sales reps and and another one for the support team. You have committed the two page layouts on a user story and you are ready to deploy them to the next environment. However, the sales manager makes a last-minute decision for his team to continue using the standard Account page layout for now. What is the easiest way to prevent the sales reps layout from being deployed while deploying the support team layout?
Use the Recommit Files Git operation, flag the Re-Create Feature Branch checkbox and select only the layout for the support team.
On which objects can one find the Run Static Code Analysis button? (2)
User Story Org Credentials
Where can you specify the minimum Apex code coverage?
User story and environment
From which Copado version is Code Scan supported?
V12.1
You have committed a custom field, but when you look at the feature branch, you don't see any updates. What do you need to check in order to troubleshoot the issue?
Verify if the field is excluded in a YAML.
Dave has been assigned the task of deleting a custom object that has not been used in production for a long time. After committing the destructive changes, he notices that no feature branch has been created. What could be the reason?
While adding a row, Dave misspelled the metadata API name of the component he wanted to delete in the metadata grid.
You have work in progress in dev1. After retrieving from the org and pushing a hotfix for your Admin profile from the Copado CLI, the validation deployment is failing. Why?
While pushing your changes from the CLI, Copado deploys the complete profile file which could contain references to other work in progress in dev1.
You're unable to see the Advanced button on the Commit Changes page with the Destructive Changes Git operation selected. What could be the reason?
You have not been assigned the Edit User Story Commit Base Branch custom permission.
Which is NOT a prerequisite to start using Copado DX?
You need to have CLI installed
You would like to create a YAML file to remove all references to Field Level Security from managed fields in profiles. Which value should you use in the replace_values parameter?
packagePrefix__.*?
Which of the following expressions is a correct regex expression that finds the value in the required tag of a field?
required '(?s)(\n\s*<fields>(?:(?!<fields>).)*?<required>___REPLACEVALUE___</required>(?:(?!<f ields>).)*?</fields>)'.
Dave has completed his work on a user story and he would like to make sure that his deployment won't fail. Which command should he execute?
sfdx copado:work:submit -v