jira是個很強大的工具,很多功能都可以通過頁面配置來實現,比如自定義字段。
然而讓人震驚的是,竟然不支持修改用戶組名!這讓沒有才藝一開始隨便取名的寶寶們如何是好?好在網上已經有前輩給出了方法,只需四步,涉及16個數據庫表,其中腳本修改14個,頁面修改涉及2個。
下面就是我們需要關心的內容啦!
請把下表中三個名稱替換爲對應值。
<NEW_GROUP_NAME> |
新組名 |
<NEW_GROUP_NAME_LOWERCASE> |
新組名小寫 |
<OLD_GROUP_NAME> |
舊組名 |
一、重命名用戶組
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'; |
二、更新所有使用用戶組名稱的地方
1.cwd_membership
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'; |
2.通知方案
notification
update notification set notif_parameter = '<NEW_GROUP_NAME>' where notif_parameter = '<OLD_GROUP_NAME>' and notif_type = 'Group_Dropdown'; |
3.問題安全方案
schemeissuesecurities
update schemeissuesecurities set sec_parameter = '<NEW_GROUP_NAME>' where sec_parameter = '<OLD_GROUP_NAME>' and sec_type = 'group'; |
4.權限方案
schemepermissions
update schemepermissions set perm_parameter = '<NEW_GROUP_NAME>' where perm_parameter = '<OLD_GROUP_NAME>' and perm_type = 'group'; |
5.共享編輯權限
注:jira7.12及更高版本需要更新此處。
sharepermissions
update sharepermissions set param1 = '<NEW_GROUP_NAME>' where param1 = '<OLD_GROUP_NAME>' and sharetype = 'group'; |
6.FILTER SUBSCRIPTIONS
update filtersubscription set groupname = '<NEW_GROUP_NAME>' where groupname = '<OLD_GROUP_NAME>'; |
7.COMMENT RESTRICTIONS
jiraaction
update jiraaction set actionlevel = '<NEW_GROUP_NAME>' where actionlevel = '<OLD_GROUP_NAME>'; |
8.worklog
worklog
update worklog set grouplevel = '<NEW_GROUP_NAME>' where grouplevel = '<OLD_GROUP_NAME>'; |
9.filters
searchrequest
update searchrequest set groupname = '<NEW_GROUP_NAME>' where groupname = '<OLD_GROUP_NAME>'; |
10.項目角色
projectroleactor
update projectroleactor set roletypeparameter = '<NEW_GROUP_NAME>' where roletypeparameter = '<OLD_GROUP_NAME>' and roletype = 'atlassian-group-role-actor'; |
11.全局權限
globalpermissionentry
update globalpermissionentry set group_id = '<NEW_GROUP_NAME>' where group_id = '<OLD_GROUP_NAME>'; |
12.license角色組
licenserolesgroup
update licenserolesgroup set group_id = '<NEW_GROUP_NAME>' where group_id = '<OLD_GROUP_NAME>'; |
13.自定義字段
customfieldvalue
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' ) ); |
三、查找包含用戶組名的filter和workflow
查詢使用了用戶組名的filter和workflow,在jira頁面上進行更新。
1.查找filter
select filtername , reqcontent from searchrequest where reqcontent like '%<OLD_GROUP_NAME>%'; |
正上方菜單欄:問題》管理篩選器
2.查找workflow
select workflowname from jiraworkflows where descriptor like '%<OLD_GROUP_NAME>%'; |
右上角小齒輪> 問題 > 工作流
四、重啓jira
實際操作了一遍,一定要重啓,心急的我在運行完腳本後就看修改成功沒有,結果頁面報錯了,重啓後恢復正常。oh yes.