This guide explains how to add a new picklist value to Sales force EBikes package
- VS Code with Salesforce Extension Pack installed
- Salesforce CLI installed and configured
- Connected to a Salesforce org
- Existing project with source retrieval
-
Retrieve Existing Metadata
- Open VS Code
- Open the Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
- Run:
SFDX: Retrieve Source from Org - In the package.xml, ensure you have:
<types> <members>Order__c</members> <name>CustomObject</name> </types>
-
Modify Custom Object Metadata
- Navigate to force-app/main/default/objects/Order__c/
- Open Order__c.object-meta.xml
- Find the
<fields>section for Status__c It should look similar to:
<fields>
<fullName>Status__c</fullName>
<type>Picklist</type>
<valueSet>
<valueSetDefinition>
<sorted>false</sorted>
<value>
<fullName>ExistingValue1</fullName>
<default>false</default>
<label>Existing Value 1</label>
</value>
<!-- Other existing values -->
</valueSetDefinition>
</valueSet>
</fields>- Add new Picklist value
Within the <valueSetDefinition> tags, add your new value:
<value>
<fullName>NewItem</fullName>
<default>false</default>
<label>New Item</label>
</value>```
Example with new value added:
```xml
<fields>
<fullName>Status__c</fullName>
<type>Picklist</type>
<valueSet>
<valueSetDefinition>
<sorted>false</sorted>
<value>
<fullName>ExistingValue1</fullName>
<default>false</default>
<label>Existing Value 1</label>
</value>
<value>
<fullName>NewItem</fullName>
<default>false</default>
<label>New Item</label>
</value>
</valueSetDefinition>
</valueSet>
</fields>- Save the modified file
- Right-click the file in VS Code Select SFDX: Deploy Source to Org Or
- use terminal: sfdx force:source:deploy -p force-app/main/default/objects/Order__c
force-app/
├── main/
│ ├── default/
│ │ ├── objects/
│ │ │ ├── Order__c/
│ │ │ │ ├── Order__c.object-meta.xml
│ │ │ │ ├── fields/
│ │ │ │ └── ...
└── README.md
"# sfPushMeta"