無効なユーザーが所有する Jira フィルター

このインサイトは、フィルターのいずれかが非アクティブまたは削除されたユーザーによって所有されているかどうかをチェックします。

問題点

非アクティブまたは削除されたユーザーが所有するフィルターは移行をブロックしませんが、後で Jira Cloud で非公開に設定され、簡単に更新できなくなる可能性があります。このような問題を避けるため、移行前にフィルター所有者をクリーンアップすることをお勧めします。

推奨事項

Jira Cloud でフィルターを非公開に設定した場合の問題を回避する方法。

  • 該当のフィルターを確認する

  • フィルター所有者をアクティブ ユーザーに変更する


Update filter owners to active users

フィルター所有者を更新するには、次の手順に従います。

該当のフィルターを確認する

ポートフォリオ インサイトからこのインサイトを表示している場合は、SQL クエリをコピーします (下記にも貼り付けています)。 

このクエリは、非アクティブまたは削除されたユーザーが所有するフィルターと以下の情報を返します。

  • フィルター名

  • フィルター作成者

  • フィルター所有者のユーザー名、メール アドレス、表示名、ユーザー キー、ユーザー ステータス

  • フィルターの JQL

SELECT DISTINCT sr.filtername AS "Filter name", sr.username AS "Filter username", sr.authorname AS "Filter author", cwu.lower_email_address AS "Filter inactive user email address", cwu.display_name AS "Filter inactive user display name", au.user_key AS "Filter inactive user user key", CASE WHEN cwu.active = 0 THEN 'Inactive' ELSE 'Active' END AS "User status", sr.reqcontent AS "Filter JQL" FROM cwd_user cwu INNER JOIN app_user au ON (cwu.lower_user_name = au.lower_user_name) JOIN searchrequest sr ON ((sr.username = cwu.lower_user_name OR sr.username = au.user_key) OR (sr.authorname = cwu.lower_user_name OR sr.authorname = au.user_key)) WHERE cwu.active = 0;

Fix 1: Update filter owners to active users in Jira UI

Jira UI での更新

フィルター所有者を更新する方法。

  1. Jira で [管理] > [フィルター] に移動し、SQL クエリによって返されたフィルターを検索して、該当の各フィルターを開きます。

  2. For each affected filter, select Actions > Change owner.

  3. アクティブ ユーザーに所有権を割り当てます。

Change owner option selected for a specific filter.

Fix 2: Update filter owners to active users directly in the database

次の SQL クエリを使用して、データベース内でフィルター所有者を直接更新することもできます。

所有者を置き換える際は、必ずアクティブな Jira ユーザーを選択してください。

You'll need to take the user_key of the user from the app_user table.

SELECT user_key FROM app_user WHERE lower_user_name = '<user name of the new owner of the filters>'

With the user_key value, populate it in the UPDATE statement below.

If you face the MySQL ERROR 1175, check: MySQL error code: 1175 during UPDATE in MySQL Workbench

Updating filters owned by inactive users

データベースに応じて SQL クエリを選択します。

PostgreSQL、Oracle、Microsoft SQL Server

UPDATE searchrequest    SET username = '<user_key that will be the new owner of these filters>'      , authorname = '<user_key that will be the new owner of these filters>'  WHERE id IN ( SELECT sr.id                  FROM cwd_user cwu                 INNER JOIN app_user au ON (cwu.lower_user_name = au.lower_user_name)                  JOIN searchrequest sr ON ( (sr.username = cwu.lower_user_name OR sr.username = au.user_key) OR (sr.authorname = cwu.lower_user_name OR sr.authorname = au.user_key) )                 WHERE cwu.active = 0 );

MySQL

SET SQL_SAFE_UPDATES = 0;   UPDATE searchrequest         SET username = '<user_key that will be the new owner of these filters>'      , authorname = '<user_key that will be the new owner of these filters>'  WHERE id IN ( SELECT id                  FROM ( SELECT sr.id                           FROM cwd_user cwu                          INNER JOIN app_user au ON (cwu.lower_user_name = au.lower_user_name)                           JOIN searchrequest sr ON ( (sr.username = cwu.lower_user_name OR sr.username = au.user_key) OR (sr.authorname = cwu.lower_user_name OR sr.authorname = au.user_key) )                          WHERE cwu.active = 0 ) AS t );   SET SQL_SAFE_UPDATES = 1;

Updating filters owned by deleted users

データベースに応じて SQL クエリを選択します。

PostgreSQL、Oracle、MSSQL

UPDATE searchrequest    SET username = '<user_key that will be the new owner of these filters>'      , authorname = '<user_key that will be the new owner of these filters>'  WHERE id IN ( SELECT sr.id                  FROM searchrequest sr                  JOIN app_user u        ON (sr.authorname = u.user_key)                  LEFT JOIN cwd_user cwu ON (u.lower_user_name = cwu.lower_user_name)                 WHERE NOT EXISTS ( SELECT *                                      FROM cwd_user                                     WHERE lower_user_name = u.lower_user_name ));

MySQL

UPDATE searchrequest sr   JOIN app_user u        ON (sr.authorname = u.user_key)   LEFT JOIN cwd_user cwu ON (u.lower_user_name = cwu.lower_user_name)    SET username = '<user_key that will be the new owner of these filters>'      , authorname = '<user_key that will be the new owner of these filters>'  WHERE NOT EXISTS ( SELECT *                       FROM cwd_user                      WHERE lower_user_name = u.lower_user_name );

さらにヘルプが必要ですか?

アトラシアン コミュニティをご利用ください。