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.