JIRA CLI从所有项目的所有角色中删除用户,并从观察者中删除所有问题的用户

时间:2014-04-09 17:53:08

标签: groovy jira command-line-interface

使用Jira CLI,有没有办法从所有项目角色中删除用户以及将它们列为观察者的任何问题?为每个项目手动执行此操作将非常耗时并且容易出错。在https://bobswift.atlassian.net/wiki/display/JCLI/Examples的CLI示例中,看起来只能在逐个问题的基础上删除观察者(使用removeWatchers命令),并且项目角色actor只能在每个项目和角色上删除项目基础(使用removeProjectRoleActors命令)。

我希望解决方案是一个CLI命令,但Groovy脚本也是可以接受的。如果可能的话,我宁愿不手动从数据库中删除这些数据。任何帮助都会受到赞赏,因为我没有找到通过CLI完成此任务的方法。

2 个答案:

答案 0 :(得分:1)

虽然没有针对您所谈论的内容采取专门行动,但将动作与runFrom [无论]行动结合起来以便批量执行这些操作非常受欢迎。

使用runFromIssueList操作可以在一行中清理手表。一个例子是:

jira --action runFromIssueList --jql "watcher = username" --common "--action removeWatchers --issue @issue@ --userId username"

角色清理更复杂,但可能比直接在JIRA UI中更快地完成。总体上会运行两个JIRA CLI命令,但是它们之间需要做很多事情:

jira --action getProjectRoleByUserList --userId username --file rolelist.csv

// that action can take a LONG time to finish - do something else for a while
// now edit the heck out of the CSV to prepare it for the next step

jira --action runFromCsv --file rolelist_edited.csv --common "--action removeProjectRoleActors --userId username"

您从第一个命令获得的CSV每个项目将有一行,每个项目角色有一列。根据用户的权限,值为“是/否”。您必须使用[project] [role]标题将Yes值按到新的两列表中,原始表中的每个Yes都有一行。

如果用户在很多项目中担任很多角色并且感觉势不可挡,请在互联网上搜索" unpivot"以及电子表格编辑器的名称,您可能会找到一些快捷方式。

答案 1 :(得分:0)

我认为您需要使用Script Runner groovy脚本来完成此操作。远程API没有公开必要的方法。此外,如果这是针对已停用的用户,则可以将其留为观察者和项目角色以供历史参考。