メンバーシップ
Swarmプロジェクトのメンバーシップにより、プロジェクトに属するユーザが識別され、そのユーザによってチームが構成されます。
プロジェクトメンバーとメンバーではないユーザには、以下のような違いがあります。
相違点 | メンバー | メンバーではないユーザ | 説明 |
---|---|---|---|
通知 | メンバーにはプロジェクト通知が送信されますが、メンバーではないユーザには送信されません。 | ||
アバター | プロジェクトのホームページに、メンバーのアバターが表示されます。 | ||
状態 | メンバーはコードレビューの状態を変更できますが、メンバーではないユーザは変更できません。 |
Swarmでプロジェクトメンバーになるには、以下の2つの方法があります。
- プロジェクトを追加して、自分自身をそのプロジェクトのメンバーとして登録する。
-
プロジェクトメンバーに依頼して、自分をメンバーとして追加してもらう。
注意プロジェクトの所有者が指定されている場合は、その所有者にメンバー登録を依頼する必要があります。
Helixサーバで super 権限が割り当てられているユーザは、メンバーシップの調整など、すべてのプロジェクト設定をいつでも調整することができます。
メンバーの追加
プロジェクト所有者、または所有者が指定されていないプロジェクトに属するメンバーの場合は、以下の手順を実行します。
- 新しいメンバーを追加するプロジェクトのページにアクセスします。
- プロジェクトツールバーで[設定]をクリックします。
-
[メンバー]テキストフィールドで、Swarmプロジェクト、Helixサーバグループ、このプロジェクトのメンバーとして追加するHelixサーバユーザを指定することができます。 このフィールドに文字を入力すると、その文字がHelixサーバのリストに登録されているユーザ名に対して比較され、一致するプロジェクトID、グループID、ユーザIDが自動的に表示されます。
プロジェクトまたはグループを指定すると、そのプロジェクトまたはグループに属するすべてのユーザがプロジェクトメンバーとして追加されます。 Swarmでは個々のユーザがすべて表示されることはありませんが、濃い青の背景でプロジェクト名またはグループ名が先頭に表示されます。
プロジェクトまたはグループにマウスオーバーすると、そのプロジェクトまたはグループに属するユーザについて、最大100件のユーザIDを示すツールチップが表示されます。
- [保存]をクリックします。
メンバーの削除
プロジェクト所有者、または所有者が指定されていないプロジェクトに属するメンバーの場合は、以下の手順を実行します。
- 削除するメンバーが属しているプロジェクトのページにアクセスします。
-
プロジェクトツールバーで[設定]をクリックします。
プロジェクトに属しているメンバーが[メンバー]テキストフィールドの下に表示されます。プロジェクトとグループは濃い青のボタンで表示され、個々のユーザは薄い青のボタンで表示されます。
- 削除するプロジェクトID、グループID、またはユーザIDの横に表示されている[X]をクリックします。
- [保存]をクリックします。
自分のメンバーシップまたはプロジェクト所有権を削除することができます。 自分のメンバーシップまたはプロジェクト所有権を削除すると、そのプロジェクトを管理することができなくなります。
所有者
プロジェクトの所有者とは、プロジェクトの構成を制御するHelixサーバユーザのことです。 プロジェクト所有者は、そのプロジェクトのメンバーである必要はありませんが、[所有者とSuperユーザのみプロジェクトの編集を許可]オプションを有効にすると、プロジェクト所有者と、Helixサーバで super 権限が割り当てられているユーザ以外は、プロジェクトの設定を編集できなくなります。
デフォルト設定の場合、特定のプロジェクトで[所有者と管理者のみプロジェクトの編集を許可]チェックボックスを選択すると、そのプロジェクトの所有者と管理者だけが、プロジェクトの[設定]ページを表示することができます。
Swarm管理者は、この動作を変更して、プロジェクトの所有者や管理者ではないプロジェクトメンバーが、そのプロジェクトの[設定]ページを読み取り専用として表示できるように設定することができます。詳細については、プロジェクトメンバーに対してプロジェクト設定の表示を許可するを参照してください。 プロジェクトの[自動テスト]オプションと[自動展開]オプションの詳細情報は、プロジェクトの所有者と管理者を除き、プロジェクトメンバーには表示されません。 そのため、プロジェクトメンバーは、プロジェクトの設定を確認することはできますが、変更することはできません。
モデレータ
プロジェクトのモデレータとは、プロジェクトに関連する特定のブランチについて、レビューの進行役を割り当てられているユーザのことです。 モデレータの指定方法を参照してください。
プロジェクトブランチで[モデレータのみレビューの承認と却下を許可]オプションが有効になっている場合、モデレータが設定されているブランチに関連するレビューの状態を変更する際に、以下の制限が適用されます。
- モデレータのみレビューの承認と却下が許可されます。 モデレータはまた、レビューを他の状態に移行することもできます。
-
モデレータではないレビューの作成者は、レビューの状態を、[レビューが必要]、[リビジョンが必要]、[アーカイブ済み]のいずれかに変更し、コミット済みのチェンジリストを添付することができます。
通常、レビューの作成者は、モデレータが設定されているブランチ上で、レビューの状態を[承認済み]や[却下]に変更することはできません。 ただし、モデレータでもある作成者はモデレータ権限を持ち、自分のレビューを承認または却下することができます。
disable_self_approve
が有効な場合、モデレータである作成者は自分のレビューを承認することはできません(admin権限を持つユーザであっても承認することはできません)。 - プロジェクトメンバーは、レビューの状態を[レビューが必要]または[リビジョンが必要]に変更し、コミット済みのチェンジリストを添付することができます。 プロジェクトメンバーは、レビューの状態を、[承認済み]、[却下]、[アーカイブ済み]に変更することはできません。
- プロジェクトのメンバー、モデレータ、またはレビューの作成者であるユーザは、レビューの状態を移行することはできません。
- レビューの作成者またはプロジェクトメンバーは、自分に対して許可されている状態になっていないレビュー([却下]状態のレビューなど)を、別の状態に移行することはできません。
モデレータは、レビューの自動承認を禁止することができます。ワークフロールールを使用して自動的にレビューを承認する方法については、「ワークフロールール」を参照してください。
デフォルトでは、1つのレビューが、異なるモデレータが設定されている複数のブランチにまたがる場合、いずれかのブランチのモデレータのみが、レビューを承認する必要があります。
Swarmを適切に構成することにより、各ブランチのいずれかのモデレータのみがレビューを承認できるように指定することができます。これは、グローバルに適用される設定です。 レビューに関連する複数のブランチに属しているモデレータの場合、属している各ブランチについて、承認がカウントされます。 モデレータの動作を設定する方法については、「1つのレビューが複数のブランチにまたがる場合のモデレータの動作」を参照してください。
これらの制約は、レビューを開始する人には影響しません。
デフォルトのレビュー担当者
個々のプロジェクトとプロジェクトブランチに対して、デフォルトのレビュー担当者を設定することができます。このレビュー担当者は、ユーザでもグループでもかまいません。 プロジェクトやプロジェクトブランチで新しいレビューを作成するたびに、デフォルトのレビュー担当者がそのレビューに追加されます。 デフォルトのレビュー担当者を追加する方法については、プロジェクトとプロジェクトブランチの説明を参照してください。
- ユーザの場合は、必須レビュー担当者または任意のレビュー担当者として設定することができます。
- グループの場合は、必須レビュー担当者(いずれかのメンバーの投票が必要)、必須レビュー担当者(すべてのメンバーの投票が必要)、任意のレビュー担当者のいずれかとして設定することができます。
複数のプロジェクトまたは複数のプロジェクトブランチにレビューが含まれている場合は、以下の点に注意してください。
- レビューが含まれているすべてのプロジェクトとプロジェクトブランチについて、デフォルトのレビュー担当者リストが結合され、そのレビューに追加されます。
- レビューが含まれているプロジェクトとプロジェクトブランチで、それぞれ異なるレビュー担当者オプションがデフォルトのレビュー担当者に対して設定されている場合、最も制限の厳しいレビュー担当者オプションがそのレビューで使用されます。
例: プロジェクトA、プロジェクトB、プロジェクトブランチbの一部であるレビューを作成したとします。
プロジェクトA: デフォルトのレビュー担当者Xは、任意のレビュー担当者
プロジェクトB: デフォルトのレビュー担当者Xは、任意のレビュー担当者
プロジェクトブランチb: デフォルトのレビュー担当者Xは、必須レビュー担当者
結果: デフォルトのレビュー担当者Xは、必須レビュー担当者としてレビューに追加されます。
#review
が含まれている新しいチェンジリストの説明内でユーザまたはグループが@mentionされた場合、そのユーザやグループは、レビュー担当者としてレビューに追加されます。 これらのレビュー担当者のいずれかがすでにデフォルトのレビュー担当者として指定されている場合は、そのレビュー担当者がもう一度レビューに追加されることはありません。最も制限の厳しいレビュー担当者オプションが、レビューに対して使用されます。
デフォルトのレビュー担当者をHelixサーバから削除した場合、そのレビュー担当者が新しいレビューに追加されることはありません。
デフォルトのレビュー担当者を保持
デフォルトでは、レビュー表示ページの[レビュー担当者の編集]ボタンを使用して、個別のレビューからデフォルトのレビュー担当者を削除することができます。 プロジェクトとブランチを個別に設定して、特定のレビューからデフォルトのレビュー担当者を削除できないようにすることができます。 プロジェクトまたはブランチに対して[デフォルトのレビュー担当者を保持]オプションを有効にする方法については、「プロジェクト」または「プロジェクトブランチ」を参照してください。
[デフォルトのレビュー担当者を保持]オプションの基礎的な仕組み
- プロジェクトまたはプロジェクトブランチを編集することにより、保持されたデフォルトのレビュー担当者の追加や削除を行うことができます。 プロジェクトやブランチ内でレビューを更新するたびに、デフォルトのレビュー担当者のリストがチェックされます。
- 新しいデフォルトのレビュー担当者は、すべてレビューに追加されます。
- プロジェクトやブランチからデフォルトのレビュー担当者を削除しても、レビュー上には残ったままになります。 プロジェクトやブランチから削除されたデフォルトのレビュー担当者は、保持されたデフォルトのレビュー担当者ではなくなるため、必要に応じてレビューから削除することができます。
- レビューを更新した結果、プロジェクトまたはブランチとの関連付けがなくなった場合でも、そのプロジェクトまたはブランチのデフォルトのレビュー担当者は、そのレビュー上に残ったままになります。 こうしたデフォルトのレビュー担当者は、保持されたデフォルトのレビュー担当者ではなくなるため、必要に応じてレビューから削除することができます。
- レビューの状態が変化した場合
- レビューの新しいリビジョンが作成された場合
- コメントタスクの状態が変化した場合
- ユーザがレビューに対して投票した場合、または自分の投票をクリアした場合
- レビュー上でレビュー担当者を編集した場合
- レビューの作成者を変更した場合
- レビュー内でレビュー担当者を編集しても、保持されたデフォルトのレビュー担当者をそのレビューから削除することはできません。
- レビュー内でレビュー担当者を編集しても、保持されたデフォルトのレビュー担当者の投票オプションのレベルを下げることはできません。
- レビュー内でレビュー担当者を編集することにより、保持されたデフォルトのレビュー担当者の投票オプションを、より制限の厳しいレベルに変更することができます。
以下の場合に、レビューがチェックされます。
例: 必須レビュー担当者の場合、投票オプションのレベルを、任意レビュー担当者などの制限の緩いレベルに下げることはできません。
例: 任意レビュー担当者グループの場合、投票オプションのレベルを、必須レビュー担当者(1票)などのより制限の厳しいレベルに上げることができます。
複数のプロジェクトとブランチにまたがるレビュー
関連するプロジェクトとブランチ
例:
- レビュー5678が、プロジェクトAとブランチA-1にまたがっている
- プロジェクトA:
- 必須レビュー担当者はユーザX
- [デフォルトのレビュー担当者を保持]オプションが有効になっている
- プロジェクトAの子はブランチA-1
- 任意レビュー担当者はユーザX
- [デフォルトのレビュー担当者を保持]オプションが無効になっている
- プロジェクトAの子はブランチA-1
- レビュー:
- 任意レビュー担当者はユーザX、保持されたデフォルトのレビュー担当者は設定されていない
上記の条件の場合、プロジェクトの投票オプションは無視され、ブランチの投票オプションが使用されます。
デフォルトのレビュー担当者の投票オプションを変更する場合、制限はありません。
レビューからデフォルトのレビュー担当者を削除することができます。
関連しないプロジェクトとブランチ
レビューが関連付けられている一部のプロジェクトとブランチに対してデフォルトのレビュー担当者ユーザ/グループを個別に保持し、その他のプロジェクトとブランチについては保持しない場合、レビュー上のデフォルトのレビュー担当者に対して、最も制限の厳しい投票オプションが適用されます。 保持されたデフォルトのレビュー担当者に対する最も制限の厳しい投票オプションが、レビュー上のデフォルトのレビュー担当者ユーザ/グループに対する最低限の投票オプションになります。
例:
- レビュー1234が、プロジェクトA、プロジェクトC、ブランチF-1にまたがっている
- プロジェクトA:
- 任意レビュー担当者はグループD
- [デフォルトのレビュー担当者を保持]オプションが有効になっている
- プロジェクトC:
- 必須レビュー担当者(すべての票)はグループD
- [デフォルトのレビュー担当者を保持]オプションが無効になっている
- ブランチF-1は、プロジェクトAにもプロジェクトCにも関連付けられていない
- 必須レビュー担当者(1票)はグループD
- [デフォルトのレビュー担当者を保持]オプションが有効になっている
- レビュー:
- 必須レビュー担当者(すべての票)と保持されたデフォルトのレビュー担当者はグループD
上記の条件の場合、デフォルトのレビュー担当者に対して、最も制限の厳しい投票オプションが適用されます。
レビュー上で、投票オプションを編集することができます。 保持されたデフォルトのレビュー担当者に対する最も制限の厳しい投票オプションが、最低限の投票オプションになります。 この場合は、必須レビュー担当者(1票)が、最低限の投票オプションになります。
レビューからレビュー担当者を削除することはできません。