Winter '21 - Upgrade Instructions
Important Considerations Before Upgrading to Winter ‘21
- This is a major release that contains all the features that have been released from Summer ‘20 to date (v16.1 onwards). If you have been upgrading after each minor release, you don’t need to follow all the instructions in this article. Please refer to the relevant section depending on the version from which you are upgrading and read these instructions carefully before upgrading. We recommend you to first test on a sandbox.
- If you are upgrading from a previous version of Copado, you need to add the Automation value to the Quality Gate Type value set before attempting to install the package, otherwise the installation will fail. To do this, follow these steps:
- Navigate to Setup > Object and Fields > Picklist Value Sets.
- Click on Quality Gate Types.
- Click on New on the Values section and add Automation.
- Click on Save.
- Finally, click on Reorder to add Automation at the top and select it as default value.
- Click on Save.
- If you are using the Copado_User permission set, you don't need to follow the OLS, FLS, and tab visibility upgrade instructions, as this permission set is already updated by Copado with each new version. However, if you are using a cloned version of this permission set, you need to manually upgrade it.
OLS, FLS for New Object Fields and Tab Visibility
Make sure relevant profiles and permission sets have read and write access to the following fields:
Objects/Fields Introduced in v16.2
Type | Name/Label | API Name |
CustomObject | Static Code Analysis Rule | copado__Static_Code_Analysis_Rule__c |
CustomField | Rule Reference | copado__Rule_Reference__c |
Objects/Fields Introduced in v16.4
Type | Name/Label | API Name |
CustomObject | Promoted User Story | copado__Promoted_User_Story__c |
CustomField | Status | copado__Status__c |
Objects/Fields Introduced in v16.5
Type | Name/Label | API Name |
CustomObject | Record Matching Formula | copado__Record_Matching_Formula__c |
CustomField | Configuration Source Org | copado__Configuration_Source_Org__c |
CustomField | Object | copado__Object__c |
CustomField | Hash External ID Formula | copado__Hash_Formula__c |
CustomField | Field 1 | copado__Field_1__c |
CustomField | Field 2 | copado__Field_2__c |
CustomField | Field 3 | copado__Field_3__c |
Type | Name/Label | API Name |
CustomObject | Compliance Finding | copado__Compliance_Finding__c |
CustomField | Rule Error Message | copado__Rule_Error_Message__c |
Tabs
Record Matching Formula
Objects/Fields Introduced in v16.6
Type | Name/Label | API Name |
CustomObject | Result | copado__Result__c |
CustomField | User Story | copado__User_Story__c |
CustomField | Status | copado__Status__c |
CustomField | Start Time | copado__Start_Time__c |
CustomField | Link | copado__Link__c |
CustomField | Job Type | copado__Job_Type__c |
CustomField | Job Id | copado__Job_Id__c |
CustomField | Error Message | copado__Error_Message__c |
CustomField | Error Code | copado__Error_Code__c |
CustomField | End Time | copado__End_Time__c |
CustomField | Duration | copado__Duration__c |
CustomField | Description | copado__Description__c |
CustomField | Deployment Job | copado__Deployment_Job__c |
Type | Name/Label | API Name |
CustomObject | Step | copado__Step__c |
CustomField | Automated Behavior | copado__Automated_Behaviour__c |
Tabs
Results
Objects/Fields Introduced in v17
Type | Name/Label | API Name |
CustomObject | Environment Variable | copado__Environmental_Variable__c |
CustomField | Scope | copado__Scope__c |
Type | Name/Label | API Name |
CustomObject | Deployment | copado__Deployment__c |
CustomField | Template | copado__Template__c |
CustomField | Description | Description__c |
CustomField | Execution Context | Execution_Context__c |
CustomField | Active | Active__c |
Type | Name/Label | API Name |
CustomObject | Automation | copado__Quality_Gate__c |
CustomField | Execution Event | Execution_Event__c |
CustomField | Execution Sequence | Execution_Sequence__c |
CustomField | Automation Template | Automation_Template__c |
Type | Name/Label | API Name |
CustomObject | Deployment Job | Deployment_Job__c |
CustomField | Last Result | Last_Result__c |
Type | Name/Label | API Name |
CustomObject | Feature | copado__Feature__c |
CustomField | Application | Application__c |
CustomField | Architect | Architect__c |
CustomField | Complexity | Complexity__c |
CustomField | Description | Description__c |
CustomField | Epic | Epic__c |
CustomField | Estimated Value | Estimated_Value__c |
CustomField | Priority | Priority__c |
CustomField | Product Owner | Product_Owner__c |
CustomField | Status | Status__c |
CustomField | Technical Assumptions | Technical_Assumptions__c |
CustomField | Users | Users__c |
CustomField | Value Type | Value_Type__c |
Type | Name/Label | API Name |
CustomObject | Application | Application__c |
CustomField | Description | Description__c |
CustomField | Parent Application | Parent_Application__c |
CustomField | Product Manager | Product_Manager__c |
CustomField | Release Status | Release_Status__c |
CustomField | Stability | Stability__c |
CustomField | Stability Icon | Stability_Icon__c |
Type | Name/Label | API Name |
CustomObject | Epic | Epic__c |
CustomField | Application | Application__c |
Type | Name/Label | API Name |
CustomObject | User Story | User_Story__c |
CustomField | Feature | Feature__c |
*Select the second Feature field under the User Story custom object, the first one has been deprecated.
Type | Name/Label | API Name |
CustomObject | Pipeline | Deployment_Flow__c |
CustomField | Enable Smart Conflict Resolution | Enable_Smart_Conflict_Resolution__c |
Type | Name/Label | API Name |
CustomObject | Result | Result__c |
CustomField | Promotion | Promotion__c |
CustomField | Deployment | Deployment__c |
Tabs
Application
Feature
Record Types
v17
Make sure relevant profiles and permission sets have access to the following record types:
Deployment:
- Advanced (multi-sep)
- Automation Template
- Data Deployment
- Metadata Deployment
The default record type must be Advanced (multi-step). Navigate to the Record Type Settings section in the relevant profile and switch the Default picklist field to Advanced (multi-step).
In order for you to be able to use these four record types, you need to use Salesforce Lightning. If you choose to continue working in Classic, follow these steps to get to the Advanced (multi-step) deployment page:
- Go to Setup > Object Manager > Deployment.
- Click on Buttons, Links, and Actions.
- Edit the New and Edit buttons and select Visualforce page in Salesforce Classic Override.
- Select Deployment [copado_deployment] from the drop-down menu:

- Click on Save.
FieldSets, Visualforce Pages and Apex Classes
Make sure relevant profiles and permission sets have access to the following Apex classes:
Apex Classes Introduced in v16.5
- ADD_RecordMatchingFormulaOperations
- HttpCalloutBuilder
Apex Classes Introduced in v17
- AutomationTemplateExecuter
- ConvertAutomationToDeployment
- DeploymentStepsUtils
- DynamicDataTableController
- ResultTriggerHandler
- ResultTriggerHelper
- RelatedListVisualPicklist
- UserStoryCounter
Layouts
v16.2
- Static Code Analysis Rule
- Add the Rule Reference field (copado__Rule_Reference__c) to the Static Code Analysis Rule Layout.
v16.4
- Promoted User Story
- Add the Status field (copado__Status__c) to the Promoted User Story Layout.
v16.5
Page Layout
- Compliance Finding
- Add the Rule Error Message field (copado__Rule_Error_Message__c) to the Compliance Finding Layout.
Search Layout
- Record Matching formula
- Add the Field 1, Field 2, Field 3, Hash External Id Value and Configuration Source Org fields, in this order, to the Record Matching Formula’s Default search layout.
v16.6
- Step
- Add the Automated Behavior field (copado__Automated_Behaviour__c) to the Step Layout.
- User Story
- Add the Result related list to the User Story Layout.
v17
Page Layouts
- Epic
- Add the Features related list to the Epic Layout.
- Deployment
- Add the Results related list to the Deployment Layout.
- Deployment Job
- Add the field Last Result to the Deployment Job Layout.
- Environment Variable
- Add the Scope field to the Environment Variable Layout.
- Pipeline
- Add the Enable Smart Conflict Resolution field to the Deployment Flow Layout.
- Result
- Add the Deployment and Promotion lookup fields next to User Story in the Parent Records section of the Result Layout.
- If you are upgrading from v16.6, remove the Deployment Job lookup field from the Parent Records section in the Result Layout.
- Automation
- Add the Execution Sequence field to the Quality Gate Layout.
- Promotion
- Add the Results related list to the Promotion Layout.
- User Story Dependency
- New enhancements have been made to Team Dependency Layout:
- New enhancements have been made to Team Dependency Layout:
New Page Layouts
- Pipeline
- New layout: Pipeline Layout V.17
- Static Code Analysis Settings
- New layout for the Static Code Analysis Settings object:
- V.17 - Static Code Analysis Settings Layout
- V.17 CodeScan SCA Settings Layout
- New layout for the Static Code Analysis Settings object:
- Static Code Analysis Result
- New layouts for the Static Code Analysis Result object:
- V.17 - Static Code Analysis Result Layout
- V.17 CodeScan SCA Layout
- New layouts for the Static Code Analysis Result object:
- User Story
- New layouts for the User Story object:
- User Story Layout V.17
- Investigation Layout V.17
- Bug Layout V.17
- New layouts for the User Story object:
Search Layout
- Deployment
- Add the Record Type field to the Deployment object’s Default search layout and make sure it is the second field on the list.
- Add the Record Type field to the Lookup Dialogs and Tab layouts in Search Layout for Salesforce Classic for the Deployment object, and make sure it is the second field on the list.
Page Layout Assignments and Lightning Record Pages
As part of the Winter ‘21 release, Copado has created a new set of page layouts and Lightning record pages for several core objects to provide a better user experience. If you want to leverage the new layouts, follow these instructions to update the page layout assignment.
Static Code Analysis Result
- Two new layouts have been introduced for the Static Code Analysis Result object:
- V.17 - Static Code Analysis Result Layout
- V.17 CodeScan SCA Layout
- Adjust your page layout assignments accordingly if you would like to see the new page layout for PMD and CodeScan.
Static Code Analysis Settings
- Two new layouts have been introduced for the Static Code Analysis Settings object:
- V.17 - Static Code Analysis Settings Layout
- V.17 CodeScan SCA Settings Layout
- Adjust your page layout assignments accordingly if you would like to see the new page layout for PMD and CodeScan settings.
Pipeline
- A new layout has been introduced for the Pipeline object:
- Pipeline Layout V.17
- Adjust your page layout assignments accordingly if you would like to see the new page layout for your Pipeline record.
User Story
- Three new layouts have been introduced for the User Story object:
- Bug Layout V.17
- Investigation Layout V.17
- User Story Layout V.17
- Adjust your page layout assignments accordingly if you would like to see the new page layout for bugs, investigations and user stories.
User Story Dependency
The Team Dependency Layout in the User Story Dependency object has been enhanced. Adjust your page layout assignment accordingly if you would like to see the new page layout.
Lightning Record Pages
There are three new lightning record pages that you can activate and set as your org default:
- User Story
- Pipeline
- Static Code Analysis Settings
If you want to upgrade to the new lightning record page, follow the relevant instructions to activate the page.
List Views
v16.5
Add the Field 1, Field 2, Field 3, Hash External Id Value and Configuration Source Org fields to the Record Matching Formula tab. To do this, follow the steps below:
- Navigate to the Record Matching Formula tab.
- Select the All list view.
- Click on the gear icon at the top right corner and click on Select Fields to Display.
- Move the Field 1, Field 2, Field 3, Hash External Id Value and Configuration Source Org fields to the Visible Fields column.
- Click on Save.
v17
Add the Record Type field to the Deployments tab.To do this, follow the steps below:
- Navigate to the Deployments tab.
- Select the All list view.
- Click on the gear icon at the top right corner and click on Select Fields to Display.
- Move the Record Type field to the Visible Fields column and make sure it is the second field on the list.
- Click on Save.
New Picklist Values
v16.6
- In the Type field (copado__Type__c) of the Step object (copado__Step__c), add a new picklist value for Salesforce Flow.
- In the Type field (copado__Type__c) of the Deployment Task (copado__Deployment_Task__c) add a new picklist value for Salesforce Flow.
Additional Instructions
v16.2
As part of Copado’s enhancement to support Apex pages, components and triggers in PMD, there are some manual steps you need to take in order to start leveraging the new functionality:
- Copado has implemented two new endpoints for static code analysis. Existing endpoints will still be used for older versions of Copado, but if you upgrade to Winter ‘21, you need to use the below endpoints instead:
- Org Static Code Analysis: The new endpoint for this webhook is https://app-api.copado.com/json/v1/webhook/code/analysis/static/mode/orgcredential/.
- User Story Static Code Analysis: The new endpoint for this webhook is https://app-api.copado.com/json/v1/webhook/code/analysis/static/mode/userstory/.
If you are using any of these webhooks in a scheduled job, a continuous delivery quality gate or any other places where you may be using static code analysis webhooks, you will need to recreate them to ensure they include the updated endpoint.
- To populate the new Rule Reference field and get the new Visualforce pages rules, you need to recreate the ruleset for the PMD static code analysis settings. To do this choose one of the options below:
- Navigate to an existing Static Code Analysis Settings record and click on Generate Default RuleSet.
- If you have made any customizations to the ruleset and don’t want these customizations to be overwritten, follow the steps below:
- Export your current ruleset (Static Code Analysis Rule records) with the relevant fields:
Message (copado__Message__c)
Rule Name (copado__Rule_Name__c)
Priority (copado__Priority__c) - Use the Generate Default RuleSet button to recreate the ruleset.
- Once the ruleset is generated, export the Id and the Rule Name (copado__Rule_Name__c) of the generated rules.
- In a spreadsheet, use the Rule Name to match rules (you can use the Vlookup formula) and retrieve from your ruleset’s backup (step i) the corresponding Message and Priority values.
- Update the resulting file.
- Export your current ruleset (Static Code Analysis Rule records) with the relevant fields:
v16.6
- The help text on the Block Commits field on the Pipeline object has been updated. If you are upgrading from a previous version of Copado and want to get it updated, follow these steps:
- Navigate to Setup > Object Manager > Pipeline.
- From the Fields & Relationships section, click on Block Commits.
- Edit the help text and replace the existing content with the following: If checked, committing changes on user stories linked to this pipeline will not be allowed:
- Click on Save.
- When you execute a deployment or a validation deployment from the Pipeline page, the Source Environment column is now displayed before the Destination Environment column to make it clearer what the source and destination environments of the promotion are. If you are upgrading from a previous version of Copado, the following manual steps are required to get this updated:
- Navigate to Setup > Object Manager > Promotion.
- In the Promotion object, go to Field Sets and select Pipeline Manager.
- Drag Source Environment and drop it before Destination Environment:
- Click on Save.
v17
- As of this version, you can decide whether the quality gates or automations in your connection behavior should be applied before or after the deployment. Before, these automations were applied before the deployment. If you have any existing automations and want them to continue to be applied before the deployment, edit the Automation records and set the Execution Sequence picklist to Before.
- Enable the new Feature Path. To do this, follow the steps below:
- Navigate to Setup > User Interface > Path Settings.
- Click on the Activate link next to Feature Path.
- The help text on the Active field on the Deployment object has been updated. To get it updated, follow these steps:
- Navigate to Setup > Object Manager > Deployment.
- From the Fields & Relationships section, click on Active.
- Edit the help text and replace the existing content with the following: Only Active Templates are available when searching for them, for example in deployment steps.
- The help text on the Metadata Group field on the Automation object has been updated. To get it updated, follow these steps:
- Navigate to Setup > Object Manager > Automation.
- From the Fields & Relationships section, click on Metadata Group.
- Edit the help text and replace the existing content with the following: Automations and Quality Gates will be executed when the metadata deployed or committed matches the one specified here.