Our admin created a new picklist field (Client_Temperature_Status__c) on the Account object and the values added are actually emojis selected using the Emoji Picker on Windows. Here are the values added to the picklist: 😡,😐,😁
We are currently using Azure Pipelines for our deployments and everything was working fine until this new field was added.
We started receiving the following error during our deployments:
Component Failures: 1. objects/Account.object (Account.Business_Partner) -- Error: Picklist value: %3F%3F in picklist: Client_Temperature_Status__c not found (line 11490, column 18)
Upon a quick investigation, we noticed some "weird" behavior. After retrieving the org's metadata using the "sfdx force:source:retrieve" command, below is the content for the field's xml file. The contents is exactly what we expect.
<?xml version="1.0" encoding="UTF-8"?> <CustomField xmlns="http://soap.sforce.com/2006/04/metadata"> <fullName>Client_Temperature_Status__c</fullName> <externalId>false</externalId> <label>Client Temperature Status</label> <required>false</required> <trackFeedHistory>false</trackFeedHistory> <trackHistory>false</trackHistory> <type>Picklist</type> <valueSet> <valueSetDefinition> <sorted>false</sorted> <value> <fullName>😡</fullName> <default>false</default> <label>😡</label> </value> <value> <fullName>😐</fullName> <default>false</default> <label>😐</label> </value> <value> <fullName>😄</fullName> <default>false</default> <label>😄</label> </value> </valueSetDefinition> </valueSet> </CustomField>
The problem begins after converting the source code into metadata api format prior deployment. To our surprise, in the Account.object file generated by the force:source:convert command, here is what we found for every record type we have in the Account object:
<picklistValues> <picklist>Client_Temperature_Status__c</picklist> <values> <fullName>%3F%3F</fullName> <default>false</default> </values> </picklistValues>
All record types have actually only ONE value represented for Client_Temperature_Status__c field in the Account.object file, and not the three emoji values like we expected, even though they are added to the record type as per image below:
We know we could use some Ant Task to fix this in our Account.object file prior deployment, but we were wondering:
Anybody has faced this before? Any idea?