LoginSignup
1
0

More than 1 year has passed since last update.

Must specify a non-empty plural label for the CustomObject の対処法

Posted at

スクラッチ組織にソースをデプロイしようとしたら Must specify a non-empty plural label for the CustomObjectというエラーが発生する事があるので、トラブルシューティングのTIPSをご紹介します。

事象

sfdx CLI 又は sf CLI で別の組織で開発を進めていたプロジェクトを自分の開発組織にデプロイした際に、次の様なエラーが発生する事があります。

$ sf start deploy project 
.....
Component Failures [1]
===========================================================================
| Type  Name     Problem                                                    
| ----- -------- ---------------------------------------------------------- 
| Error MyObj__c Must specify a non-empty plural label for the CustomObject 

原因

このエラーは、デプロイ対象のカスタムオブジェクトのメタデータに複数形の表示ラベルの指定がない場合に発生します。

Salesforce では、組織の言語が英語に設定されている組織で、新しくカスタムオブジェクトを作成する場合、通常の表示ラベルの他に複数形で表示するための表示ラベルを指定します。そしてこの機能は組織の言語が日本語に設定されている組織にはありません。そのため、日本語の組織で作成したカスタムオブジェクトを英語の組織にデプロイしようとすると必ずこのエラーが発生します。

対処法

対処法としては、カスタムオブジェクトのメタデータに pluralLabel を追加するだけです。これをエラーが発生したすべてのカスタムオブジェクトのメタデータで実施します。

MyObj.object-meta.xml
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
    ...
    <pluralLabel>MyObjs</pluralLabel>
    ...
</CustomObject>

変更が完了したら、再度同じコマンドでデプロイします。すると先程のエラーは解消されているはずで、他にエラーがなければ正常にデプロイが完了します。

% sf start deploy project
...
Deployed Source
==========================================
| State   Name  Type         Path
| ------- ----- ------------ -------------
| Changed MyObj CustomObject force-app/...              

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0