5

ツール API を使用してトリガーを非アクティブ化しようとしています。私は開発者組織で成功しました。しかし、実際の開発者組織ではこれを行うことができませんでした。これは Salesforce ツール API のバグですか?

これがアルゴリズムの基本です。

  1. 一意の名前で MetadataContainer を作成する
  2. MetadataContainer を保存
  3. Body、MetadataContainerId、ContentEntityId、および Metadata[apiVersion=33.0 packageVersions=[] status="Inactive" urls=nil>] を設定する ApexTriggerMember を作成します。
  4. メタデータの変更["ステータス"]="非アクティブ"
  5. ApexTriggerMember を保存
  6. ContainerAsyncRequest の作成/保存
  7. 完了するまでコンテナを監視します。
  8. 必要に応じてエラーを表示する

サンドボックスで、Apex エンター コード hereTriggerMember を再クエリした後、読み取り専用項目「コンテンツ」が適切であることを確認しました。また、MetadataContainerId が "Completed" の State を持つ ContainerAsyncRequest を指すようになったことも確認しました。

これが私の結果です。成功したように見えますが、ApexTrigger は非アクティブ化されません ContentEntityId = 01q.............[非アクティブ化したい ApexTrigger]

Content="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
    <ApexTrigger xmlns=\"urn:metadata.tooling.soap.sforce.com\">
        <apiVersion>33.0</apiVersion>
        <status>Inactive</status>
    </ApexTrigger>" 

Metadata={apiVersion=33.0 packageVersions=nil status="Inactive" urls=nil> attributes=        {type="ApexTriggerMember"
     url="/services/data/v33.0/tooling/sobjects/ ApexTriggerMember/401L0000000DCI8IAO"
  }

}
4

1 に答える 1