有効としてのプロセスとフローのリリース
デフォルトでは、Sandbox 組織または本番以外の組織で有効なプロセスとフローは、本番組織に無効としてリリースされます。リリース後、新しいバージョンを手動で再有効化します。本番組織では、変更セットまたはメタデータ API を使用して、プロセスまたはフローの新しい有効なバージョンをリリースする設定を有効にできます。継続的インテグレーションおよび継続的リリースモデルを使用してメタデータの変更をリリースする場合、プロセスとフローを有効としてリリースするオプションを有効にします。
必要なエディション
| サポートされているエディションを表示する。 |
| 必要なユーザー権限 | |
|---|---|
| プロセスの自動化設定を編集する | 「アプリケーションのカスタマイズ」 |
| フローリストビューを作成、更新、および削除する | 「フローの管理」 |
- [設定] から、[クイック検索] ボックスに「自動」と入力し、[プロセスの自動化設定] を選択します。
- [プロセスとフローを有効としてリリース] を選択します。
- フローのテストカバー率を入力します。
- 変更を保存します。
プロセスまたは自動起動フローを有効としてリリースするには、フローテストカバー率要件を満たしている必要があります。最低 1 つの Apex テストが、フローテストカバー率分の有効なプロセスと自動起動フローをカバーしている必要があります。フローテストカバー率要件は、画面のあるフローには適用されません。
フローテストカバー率を計算するには、テストカバー率ありまたはなしのすべての有効なフローバージョンの数を決定します。また、無効なフローバージョン、最新バージョン、テスト対象範囲の数も判断します。サンプルクエリを次に示します。
SELECT count_distinct(Id)
FROM Flow
WHERE Status = 'Active' AND Id NOT IN (
SELECT FlowVersionId
FROM FlowTestCoverage
)
+
SELECT count_distinct(FlowVersionId)
FROM FlowTestCoverage
すべてのテストを実行し、Tooling API で FlowTestCoverage オブジェクトを使用して、テストでカバーされるすべての最新のフローバージョンの数を確認します。サンプルクエリを次に示します。
SELECT count_distinct(FlowVersionId)
FROM FlowTestCoverage 2 番目の数 (テストでカバーされるすべての最新のフローバージョンの数) を最初の数 (テストでカバーされるかどうかを問わないすべての有効なバージョンと、テストでカバーされる最新のすべての無効なバージョンの数) で除算します。
たとえば、合計で 10 個のフローがあるとします。フロー A には 2 つのバージョンがあります。最新のバージョンは無効になっており、テストでカバーされます。最初のバージョンは有効になっており、テストでカバーされません。フロー B ~ E にはそれぞれ 1 つのバージョンのみがあり、各バージョンは無効になっていて、テストでカバーされます。フロー F ~ J にはそれぞれ 1 つのバージョンのみがあり、各バージョンは有効になっていて、テストでカバーされます。フローテストカバー率は 90% です。
| フロー表示ラベル | バージョン | 状況 | テストでカバーされるかどうか |
|---|---|---|---|
| フロー A | 2 | 無効 | はい |
| フロー A | 1 | 有効 | いいえ |
| フロー B | 1 | 無効 | はい |
| フロー C | 1 | 無効 | はい |
| フロー D | 1 | 無効 | はい |
| フロー E | 1 | 無効 | はい |
| フロー F | 1 | 有効 | はい |
| フロー G | 1 | 有効 | はい |
| フロー H | 1 | 有効 | はい |
| フロー I | 1 | 有効 | はい |
| フロー J | 1 | 有効 | はい |
SELECT FlowVersion.Definition.DeveloperName
FROM FlowTestCoverage
GROUP BY FlowVersion.Definition.DeveloperNameSELECT Definition.DeveloperName
FROM Flow
WHERE Status = 'Active'
AND (ProcessType = 'AutolaunchedFlow'
OR ProcessType = 'Workflow'
OR ProcessType = 'CustomEvent'
OR ProcessType = 'InvocableProcess')
AND Id NOT IN (SELECT FlowVersionId FROM FlowTestCoverage)