Salesforce CLI デプロイ警告の解決方法:GlobalValueSetがローカルプロジェクトに存在しない場合


Salesforce CLI デプロイ警告の解決方法:GlobalValueSetがローカルプロジェクトに存在しない場合

Salesforce CLIを使用してデプロイを行う際、以下のような警告が表示される場合があります:

GlobalValueSet returned from org but not found in local project

この警告は、組織(org)から返されたGlobalValueSetのメタデータが、ローカルプロジェクト内に存在しないために発生します。これは、ローカルプロジェクトにGlobalValueSetを含めていない場合に表示される警告です。
この現象は、特にAPIバージョンの互換性に関連する問題であり、Salesforce CLIのバージョンやプロジェクト設定に起因することがあります。


解決策: APIバージョン56.0の設定

この問題に対する一般的な回避策として、sfdx-project.json 内で APIバージョンを56.0に設定 する方法があります。また、コマンドラインからデプロイする際に --api-version オプションを使用して、同じバージョンを指定することで、GlobalValueSetの警告を回避することができます。


手順

  1. sfdx-project.jsonの更新
    プロジェクトのルートフォルダにある sfdx-project.json ファイルを開き、sourceApiVersion"56.0" に設定します。例:

    {
        "packageDirectories": [
            {
                "path": "force-app",
                "default": true
            }
        ],
        "namespace": "",
        "sfdcLoginUrl": "https://login.salesforce.com",
        "sourceApiVersion": "56.0"
    }
    
  2. --api-versionオプションの利用
    デプロイ時に、コマンドラインで --api-version 56.0 オプションを指定します。例:

    sf deploy metadata -d force-app --api-version 56.0

    これにより、CLIはAPIバージョン56.0に基づいてメタデータを解釈し、GlobalValueSetの警告を回避します。


ポイント

  • GlobalValueSetの存在確認:
    ローカルプロジェクトにGlobalValueSetを追加する方法もありますが、場合によっては不要なファイルが増える可能性があります。
  • APIバージョンの統一:
    プロジェクト全体でAPIバージョンを統一することにより、デプロイ時の整合性が向上します。
  • 環境間の互換性:
    異なる環境間でのデプロイにおいて、APIバージョンの違いが原因となる問題を防ぐために、この方法が推奨されます。

まとめ

Salesforce CLIで「GlobalValueSet returned from org but not found in local project」という警告が発生する場合、ローカルプロジェクト内のメタデータ定義と組織のメタデータとの整合性に起因することが多いです。
この問題に対しては、sfdx-project.json にAPIバージョン56.0を設定し、デプロイ時に --api-version 56.0 オプションを使用することで、警告を回避し、スムーズなデプロイが可能になります。

これにより、Salesforce CLIを利用したデプロイメントプロセスがより一貫性のあるものとなり、開発者は安心してプロジェクトを進めることができます。

コメント