Jira でグループの名前を変更する方法
プラットフォームについて: Server および Data Center のみ。この記事は、Server および Data Center プラットフォームのアトラシアン製品にのみ適用されます。
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Fisheye および Crucible は除く
For cloud, see Renaming of Group in the Cloud.
目的
An administrator may need to rename a Jira group to reflect changes their organization undergoes. This is currently not possible to do in Jira, but a feature request is under consideration: JRASERVER-1391 - Provide the ability to rename groups after creation
ただし、データベース経由での操作を行うことで、グループ名と関連するすべての権限を変更することができます。
このような操作は、Jira の機能として意図されたものではないことにご注意ください。このため、このプロセスはアトラシアンのサポート範囲には含まれず、このページの情報はそのままの形で提供されます。本番インスタンスに変更を適用する前に、開発またはステージング環境で十分なテストを行う必要があります。
はじめる前に
- アプリ: この手順ではアプリのグループ名は更新されません。このデータは Jira データベースのテーブルに格納されていないためです。各アプリで手動で変更を行う必要があります。
- Jira Software/Service Management: これは Jira プラットフォーム内のグループ名を更新し、グループ名は Jira Core、Jira Software、および Jira Service management (後半の 2 つはプラットフォーム上に構築されています) で共有されます。グループ名が Jira Software や Jira Service Management に固有の場所で保存されている可能性があります。これらは更新されません。
- Jira の再起動が必要になります。テストを行い、メンテナンス期間を計画するようにしてください。
ソリューション
Jira データベースに対して SQL 構文を実行することでグループの名前を変更できます。<NEW_GROUP_NAME>
、<NEW_GROUP_NAME_LOWERCASE>
、および <OLD_GROUP_NAME>
を実際のグループ名で置き換えます。
以降の手順は、同じユーザー ディレクトリ内のグループの名前を変更すると見なしています。
ユーザー ディレクトリを変更し、1 つのグループへの参照を別のものに置き換えたい場合は、ステップ 1、2.1、および 2.2 をスキップしてください。LDAP から Jira の内部ディレクトリへのネスト グループを、そのあとに手動で構成する必要があります。
1. グループの名前変更
update
cwd_group
set
group_name = '<NEW_GROUP_NAME>'
, lower_group_name = '<NEW_GROUP_NAME_LOWERCASE>'
where
group_name = '<OLD_GROUP_NAME>'
and group_type = 'GROUP';
2. グループを利用しているすべてのエンティティでグループ名を更新
update
cwd_membership
set
parent_name = '<NEW_GROUP_NAME>'
, lower_parent_name = '<NEW_GROUP_NAME_LOWERCASE>'
where
parent_name = '<OLD_GROUP_NAME>'
and membership_type = 'GROUP_USER';
update
cwd_membership
set
child_name = '<NEW_GROUP_NAME>'
, lower_child_name = '<NEW_GROUP_NAME_LOWERCASE>'
, child_id = <NEW_GROUP_ID>
where
child_name = '<OLD_GROUP_NAME>'
and membership_type = 'GROUP_GROUP';
update
notification
set
notif_parameter = '<NEW_GROUP_NAME>'
where
notif_parameter = '<OLD_GROUP_NAME>'
and notif_type = 'Group_Dropdown';
update
schemeissuesecurities
set
sec_parameter = '<NEW_GROUP_NAME>'
where
sec_parameter = '<OLD_GROUP_NAME>'
and sec_type = 'group';
update
schemepermissions
set
perm_parameter = '<NEW_GROUP_NAME>'
where
perm_parameter = '<OLD_GROUP_NAME>'
and perm_type = 'group';
update
sharepermissions
set
param1 = '<NEW_GROUP_NAME>'
where
param1 = '<OLD_GROUP_NAME>'
and sharetype = 'group';
注意: 共有された編集権限の更新は、Jira 7.12 以降でのみ必要です。古いバージョンでは、フィルターやダッシュボードの編集権限を共有することはできません。
update
filtersubscription
set
groupname = '<NEW_GROUP_NAME>'
where
groupname = '<OLD_GROUP_NAME>';
update
jiraaction
set
actionlevel = '<NEW_GROUP_NAME>'
where
actionlevel = '<OLD_GROUP_NAME>';
update
worklog
set
grouplevel = '<NEW_GROUP_NAME>'
where
grouplevel = '<OLD_GROUP_NAME>';
update
searchrequest
set
groupname = '<NEW_GROUP_NAME>'
where
groupname = '<OLD_GROUP_NAME>';
update
projectroleactor
set
roletypeparameter = '<NEW_GROUP_NAME>'
where
roletypeparameter = '<OLD_GROUP_NAME>'
and roletype = 'atlassian-group-role-actor';
update
globalpermissionentry
set
group_id = '<NEW_GROUP_NAME>'
where
group_id = '<OLD_GROUP_NAME>';
update
licenserolesgroup
set
group_id = '<NEW_GROUP_NAME_LOWERCASE>'
where
group_id = '<OLD_GROUP_NAME_LOWERCASE>';
update
customfieldvalue
set
stringvalue = '<NEW_GROUP_NAME>'
where
stringvalue = '<OLD_GROUP_NAME>'
and customfield in
(
select
id
from
customfield
where
customfieldtypekey in (
'com.atlassian.jira.plugin.system.customfieldtypes:multigrouppicker'
, 'com.atlassian.jira.plugin.system.customfieldtypes:grouppicker'
)
);
3. グループ名を含むフィルターとワークフローを見つける
グループ名はフィルターやワークフローでも利用できますが、それらを SQL 構文で変更するのはリスクが高く、エラーが発生する可能性があります。次のクエリを実行して、グループ名を含むフィルターとワークフローの一覧を取得し、それらを Jira 内で編集できます。
select
filtername
, reqcontent
from
searchrequest
where
reqcontent like '%<OLD_GROUP_NAME>%';
フィルターの一覧が得られたら、[課題] > [フィルターを管理] に移動します。グループ名は通常、フィルターの JQL クエリに含まれます。
select
workflowname
from
jiraworkflows
where
descriptor like '%<OLD_GROUP_NAME>%';
ワークフローの一覧が得られたら、
> [課題] > [ワークフロー] に移動します。グループ名はワークフローの条件に含まれている可能性がありますが、他の詳細情報も確認する必要があります。