Comment corriger FIELD_INTEGRITY_EXCEPTION dans les déploiements Salesforce
Une valeur en cours d'enregistrement ne correspond pas à ce que le champ attend, le plus souvent une valeur de liste de sélection absente de l'org cible.
Se manifeste lors de : DML à l'exécution, le plus souvent lors de l'exécution de tests Apex ou d'un chargement de donnéesCe que cela signifie
FIELD_INTEGRITY_EXCEPTION signifie qu'une valeur a échoué au contrôle d'intégrité propre à la plateforme pour un champ, généralement une valeur de liste de sélection non définie dans l'org cible, ou une valeur qui viole une liste de sélection restreinte ou une contrainte de type. Les valeurs de liste de sélection sont des métadonnées propres à chaque org, elles doivent donc être déployées et synchronisées comme tout autre composant.
L'API Metadata déploie les changements de valeurs de liste de sélection des objets standards dans le cadre des métadonnées de l'objet, donc une incohérence ici remonte presque toujours à une modification de valeur de liste de sélection effectuée dans Setup d'une org mais jamais versionnée ni déployée de façon correspondante.
Causes courantes
La solution
- Déployer d'abord les valeurs de liste de sélectionIncluez l'ensemble de valeurs global ou la modification de valeur de liste de sélection au niveau du champ dans le même déploiement que tout ce qui l'utilise.
<valueSet> <valueSetDefinition> <sorted>false</sorted> <value><fullName>Renewal_Pending</fullName><default>false</default></value> </valueSetDefinition> </valueSet> - Garder les listes de sélection restreintes synchroniséesAuditez les valeurs des listes de sélection restreintes entre environnements pour que les orgs source et cible autorisent le même ensemble.
- Mettre à jour les données de test dépendantesAprès un changement de type de champ, mettez à jour les données de test Apex ou les champs de formule qui supposaient l'ancien type.
Comment Serpent évite cela
Le diff d'environnement de Serpent AI montre exactement quelles valeurs de liste de sélection existent dans une org et pas dans l'autre, avant même qu'un déploiement ne s'exécute. Voir la bibliothèque des erreurs de déploiement Salesforce.

Prévention
Erreurs associées
FIELD_INTEGRITY_EXCEPTION, expliqué
Démarrez gratuitement. Pas de carte bancaire, pas d'installation, aucun engagement.
Configuration en moins de 15 minutes. Aucun recrutement DevOps nécessaire.
