DataWorks では、ワークスペースレベルで必須コードレビューを有効にできます。有効にすると、開発者がコミットしたノードコードは、デプロイメント前にレビュー担当者による承認が必要になります。また、コードレビューのベースライン範囲を指定して、優先度の高いタスクのコード品質を確保し、デプロイメントの失敗が他のタスクをブロックするのを防ぐこともできます。このトピックでは、コードレビュー機能の使用方法について説明します。
前提条件
-
DataWorks Professional Edition またはそれ以上のエディションが有効化されていること。DataWorks の各エディションの機能比較については、「DataWorks のエディション」をご参照ください。DataWorks を有効化するには、「課金」をご参照ください。
-
スペースマネージャーロールが付与されています。 詳細については、「ユーザー、ロール、および権限」をご参照ください。
-
データ開発用のノードを作成済みであること。詳細については、「DataStudio (レガシー) でのデータ開発」をご参照ください。
背景情報
DataWorks で複数のタスクが同時に実行される場合、優先度の高いタスクがリソースを優先的に使用します。優先度の高いタスクにはコードレビューを強制することを推奨します。これにより、非準拠のコードが原因で障害が発生し、リソースの浪費や他のタスクのブロックにつながるのを防ぎます。これらのタスクを必須コードレビューの範囲に追加することで、レビュー担当者はコードの品質を検証し、エラーが本番環境にデプロイされるのを防ぐことができます。
次の表は、必須コードレビューを有効にすることがノードのコミットとデプロイメントプロセスにどのように影響するかを説明しています。
|
必須コードレビューのステータス |
説明 |
操作への影響 |
|
無効 |
ノードをコミットする際に、任意でレビュー担当者を指定して変更を通知できます。 説明
このメソッドを使用して、ロールに関係なく、ワークスペースの任意のメンバーにノードの変更を通知できます。 |
この設定は、ノードのコミットおよびデプロイメントプロセスには影響しません。ノードを通常どおりコミットおよびデプロイできます。 |
|
有効 |
ノードをコミットする際には、コードの品質を確保するために、資格のあるレビュー担当者を選択してコードレビューを実行する必要があります。 説明
ノードの削除をコミットしても、コードレビューはトリガーされません。 |
この操作により、コードレビューが完了するまでノードのコミットとデプロイメントプロセスがブロックされます。
|
制限事項
-
コードレビュー機能は、DataWorks Professional Edition またはそれ以上のエディションでのみ利用可能です。
-
ワークスペースのコードレビューを有効化または無効化できるのは、スペースマネージャー ロールを持つユーザーのみです。
-
コードレビューは、複合ノード (例:for-each ノード、loop ノード) や Python 以外のリソースファイルなど、一部のノードタイプではサポートされていません。
ワークフロー
次の表は、必須コードレビューを使用するためのワークフローを説明しています。
|
ステップ |
ロール |
説明 |
|
ワークスペース管理者 |
ワークスペース管理者は、必須コードレビューを有効にし、ビジネスニーズに基づいてレビュー担当者とレビュー範囲を設定します。この機能は有効化された後にのみ効果を発揮します。 説明
必須コードレビューを有効にすると、影響を受けるノードのコミットおよびデプロイメントプロセスがブロックされます。 |
|
|
開発者 |
開発者はノードをコミットする際にコードレビューをトリガーします。レビュー担当者が選択されると、システムはコードレビューチケットを生成します。 説明
標準モードのワークスペースでは、開発者は[デプロイ] ページでコードレビューをバッチで開始できます。 詳細については、「ノードをデプロイする」をご参照ください。 |
|
|
ノードの送信者とコードレビュー担当者は、[コードレビュー] ページから開始済みおよび保留中のレビューを表示および管理できます。 |
必須コードレビューの有効化と設定
-
DataWorks コンソールにログインします。対象のリージョンで、左側のナビゲーションウィンドウのをクリックします。ドロップダウンリストからワークスペースを選択し、入力 データ開発をクリックします。
-
[セキュリティ設定など] ページに移動します。
-
DataStudio ページで、左下隅にある
アイコンをクリックして、Configure ページに移動します。 -
Configure ページで Security Settings and Others タブをクリックして、Security Settings and Others ページに移動します。
-
-
必須コードレビューを有効化して設定します。
Code Review セクションで、[コードのレビューを強制] を有効にし、次にレビュー担当者とベースライン範囲を設定します。
パラメーター
説明
コードレビューを強制
現在のワークスペース内の指定された範囲のノードに対してコードレビューを強制します。
-
Open: このワークスペース内のノードのコードをデプロイメントするには、必須のコードレビューが必要です。レビュアーを指定する必要があり、コードはレビューに合格した後にのみデプロイメントできます。このアクションは、ノードのコミットおよびデプロイメントプロセスをブロックします。
説明[コードレビューの強制]を有効にした後にのみ、[コードレビュー担当者]と[コードレビューのベースライン範囲]を設定できます。
-
Close: このワークスペースでは、コードレビューなしでノードのコードをデプロイできます。 ノードをコミットする際に、引き続き任意でレビュアーを選択できますが、これは通知として機能するだけで、デプロイメントプロセスをブロックすることはありません。
コードレビュアー
ノードがコミットされたときにレビュー担当者を選択するためのポリシーを設定します。
-
Any Developer Role: コードレビューが開始されると、ワークスペースで開発者ロールを持つ任意のユーザーが変更を承認できます。ノードをコミットするユーザーが、特定のレビュアーを選択します。
-
Specify development role users: コードレビューが開始された後、指定された Developer ロールのユーザーのみが変更を承認できます。DataWorks は、ノードをコミットすると、ここで設定されたレビュー担当者をデフォルトで選択します。
説明-
現在のワークスペースで開発者ロールを持つユーザーのみをレビュー担当者として選択できます。
-
複数のレビュー担当者を設定した場合、承認ロジックは選択したポリシーに依存します。
コードレビューのベースライン範囲
送信時にコードレビューが必要なノードを定義します。
ベースラインの優先度に基づいて、必須コードレビューが必要なノードを選択できます。ロジックは次のとおりです:
-
レビュー範囲を非ベースラインタスクに設定した場合、ワークスペースで新しく作成されたタスクは承認が必要です。
-
レビュー範囲を特定のベースラインレベルのタスクに設定した場合、そのベースライン上のノードは送信時に承認が必要です。
-
ベースライン番号が高いほど、優先度が高くなります。ベースラインタスクは非ベースラインタスクよりも優先度が高いです。
ベースラインがタスクの優先度をどのように制御するかについての詳細は、「スマートベースラインの概要」をご参照ください。
-
コードレビューの開始
ノードをコミットする際、開発者は 1 人または複数のレビュー担当者を指定できます。コードレビューのプロセスは、次の表に示すように、ワークスペースのモードによって異なります。
-
すでにレビューが進行中のノードに対して新しいレビューが開始された場合、DataWorks は以前のレビューを自動的に無効にします。
-
ノードの削除をコミットしても、コードレビューはトリガーされません。
|
ワークスペースモード |
レビュープロセス |
コードレビューのエントリーポイント |
|
Standard mode |
必須コードレビューが有効な場合、レビューが合格するまでコミットとデプロイメントプロセスはブロックされます。承認されると、ノードはコミットされ、[デプロイ] ページに進んでデプロイできます。 |
|
|
Simple mode |
強制コードレビューが有効な場合、ノードをコミットする際にOnly Initiate Code Reviewを選択します。レビューが承認された後、ノードのコードを本番環境にデプロイするには、ノードを再度コミットする必要があります。 |
|
コードレビューチケットの表示と承認
-
[コードレビュー] ページに移動します。
[コードレビュー] ページには、次のいずれかの方法で移動できます:
-
DataStudio ページの左上隅で、
アイコンをクリックし、 を選択します。 -
対象ノードの編集ページで、ツールバーの
[コードレビュー] アイコンをクリックします。
-
-
コードレビューチケットを表示して処理します。
[コードレビュー] ページでは、自分が開始した、または自分に割り当てられたレビューのリストを表示し、必要に応じて処理できます。
エリア
説明
1 (タブ)
このエリアでは、次の操作を実行できます:
-
レビュー担当者は、Review by Me タブで、自身に割り当てられたレビュータスクを表示および処理できます。
-
申請者は、Submitted by Me タブで、自分が開始したレビュータスクを表示できます。
2
このエリアでは、レビューのステータス、チケット名、タイプ、送信者、送信時間などの基準でコードレビューチケットをフィルターできます。
3
このエリアでは、バージョンやレビューのステータスなど、コードレビューチケットの基本情報を表示したり、詳細を開いてレビューを処理したりできます。
主な操作は次のとおりです:
-
バージョン比較:ノードのバージョン間のコードの差異を比較して、変更点をすばやく理解します。
-
チケットに対するレビュー担当者の操作:
-
Write a comment: ノードバージョンにコメントを追加します。
-
Passed:このアクションはコードレビューチェッカーをトリガーします。チェックに合格すると、提出者は [デプロイ] ページからタスクをデプロイできます。
説明タスクのデプロイ方法の詳細については、「ノードのデプロイ」をご参照ください。
-
Not through: 結果は、必須のコードレビューが有効になっているかどうかによって異なります。有効になっている場合、コミットとデプロイメントがブロックされます。無効になっている場合は、引き続きノードをコミットおよびデプロイできます。
-
Abandoned: 現在のレビュープロセスを破棄します。プロセスが破棄されると、ノードバージョンをコミットおよびデプロイできます。
-
Reopen: 破棄されたレビュープロセスを再レビューする必要がある場合は、Reopen を使用できます。
-
-