Winter '21 - Upgrade Instructions

Updated 7 months ago by Copado Solutions

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

(read-only field)

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:

  1. Go to Setup > Object Manager > Deployment.
  2. Click on Buttons, Links, and Actions.
  3. Edit the New, View and Edit buttons and select Visualforce page in Salesforce Classic Override.
  4. Select Deployment [copado_deployment] from the drop-down menu:

  1. Click on Save.

Please note that if you use this option, you will only have access to the Advanced (multi-step) record type. The Automation Template layout, Metadata Deployment and Data Deployment (wizards) will not be available.

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
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.

Tip: When reviewing a user story's promotion history, the User Story Promotions related list has 2 fields with the label Status. To avoid any confusion, you can change this new field label to Active/Outdated. To do so, navigate to Setup --> Translation Workbench --> Override.

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 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
  • 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
  • User Story
    • New layouts for the User Story object:
      • User Story Layout V.17
      • Investigation Layout V.17
      • Bug Layout V.17

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

  1. 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
  1. Adjust your page layout assignments accordingly if you would like to see the new page layout for PMD and CodeScan.

Static Code Analysis Settings

  1. 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
  1. Adjust your page layout assignments accordingly if you would like to see the new page layout for PMD and CodeScan settings.

Pipeline

  1. A new layout has been introduced for the Pipeline object:
  • Pipeline Layout V.17
  1. Adjust your page layout assignments accordingly if you would like to see the new page layout for your Pipeline record. 

User Story

  1. Three new layouts have been introduced for the User Story object: 
  • Bug Layout V.17 
  • Investigation Layout V.17
  • User Story Layout V.17
  1. 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:

  1. Navigate to the Record Matching Formula tab.
  2. Select the All list view.
  3. Click on the gear icon at the top right corner and click on Select Fields to Display.
  4. Move the Field 1, Field 2, Field 3, Hash External Id Value and Configuration Source Org fields to the Visible Fields column.
  5. Click on Save.
v17

Add the Record Type field to the Deployments tab.To do this, follow the steps below:

  1. Navigate to the Deployments tab.
  2. Select the All list view.
  3. Click on the gear icon at the top right corner and click on Select Fields to Display.
  4. Move the Record Type field to the Visible Fields column and make sure it is the second field on the list.
  5. 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:
      1. 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)
      2. Use the Generate Default RuleSet button to recreate the ruleset.
      3. Once the ruleset is generated, export the Id and the Rule Name (copado__Rule_Name__c) of the generated rules.
      4. 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. 
      5. Update the resulting file.
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:
  1. Navigate to Setup > User Interface > Path Settings.
  2. 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:
  1. Navigate to Setup > Object Manager > Deployment.
  2. From the Fields & Relationships section, click on Active.
  3. 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:
  1. Navigate to Setup > Object Manager > Automation.
  2. From the Fields & Relationships section, click on Metadata Group.
  3. 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.


How did we do?