Jira Cloud で使われていないコンポーネントを探して整理する方法

Jira Cloud では、チームの名前が変わったり製品が終了したりしても、コンポーネントがすべてのドロップダウンに残ります。課題が 0 件のものを一覧する画面はありません。標準の機能で探す方法、削除したときの課題の扱い、空のコンポーネントを一覧する読み取り専用のスクリプトを書きます。

Hullspark · 2026-10-29 更新 · 出典は Atlassian のドキュメントです。画面の文言は、日本語版ヘルプで確認できたものは日本語で書いています。実際の表示と違う場合があります。

先に結論

  • 見る場所: スペースの「コンポーネント」ページに各コンポーネントが並び、「その他の操作」メニューから編集・削除できます [1]。1 回に 1 プロジェクトずつ見るページです。
  • 課題数を数える: JQL は component = 名前 かコンポーネント ID を受け付けるので [2]、1 つずつ手で数えられます。
  • 空のものをまとめて出す: プロジェクトのコンポーネントを返す REST エンドポイントは、各コンポーネントの issueCount を返します [3]。下のスクリプトで 0 のものだけに絞ります。
  • 削除の前に: コンポーネントの作業項目は、別のコンポーネントにリンクし直すか、リンクを完全に解除できます [1]。アーカイブはなく、その要望 JRACLOUD-10507 は未対応です [5]。

手順 1: コンポーネントのページを開く

  1. スペース(プロジェクト)を開き、スペースナビゲーションで「コンポーネント」を選びます。ナビゲーションに出ていなければ、「ナビゲーションに追加」で足せます。別の道もあり、スペース名の横の「その他のアクション」(•••)から「スペース設定」、「コンポーネント」の順に開きます [1]。
  2. コンポーネントを設定できるロールは、「スペース管理者」または「アプリ管理者」と書かれています [1]。
  3. 名前から使われていなさそうなコンポーネントを書き出します。ページは見つけるのに向いていますが、Atlassian の記事には、課題のないコンポーネントを示す列の説明がありません。数は次の 2 つの手順で取ります。

手順 2: JQL でコンポーネントの課題を数える

課題検索を JQL に切り替え、コンポーネント名か ID で検索します [2]。

project = PROJ AND component = "Payments"
project = PROJ AND component = 20500

結果が空なら、見える範囲でそのコンポーネントに課題はありません。注意が 2 つあります。検索は、閲覧権限のある課題しか返しません。また、コンポーネントごとに 1 回の検索が要るので、10 個を超えると手間がかかります。使える演算子は =、!=、IS、IS NOT、IN、NOT IN で、~ と大小比較は使えません [2]。

手順 3: REST API で課題が 0 件のコンポーネントを一覧する

Atlassian の REST リファレンスには、ページ分割されたエンドポイント GET /rest/api/3/project/{projectIdOrKey}/component があります。startAt、maxResults、orderBy を取り、orderBy=issueCount は書かれた並べ替えです。公開されている OpenAPI ファイルでは、返る各コンポーネントに issueCount があります [3]。古い、ページ分割のない /components エンドポイントは、この項目なしで返します。GET /rest/api/3/component/{id}/relatedIssueCounts は、1 つのコンポーネントの数を返します [3]。

スクリプトは GET だけを送るので、何も変更しません。プレースホルダーを、自分のサイト、メールアドレス、プロジェクトキー、API トークンに置き換えます(REST 呼び出しの API トークンによる Basic 認証は Atlassian が説明しています [4])。トークンは他人に見せません。

PowerShell

$site  = "https://YOUR-SITE.atlassian.net"
$email = "you@example.com"
$token = "YOUR_API_TOKEN"   # your own token; never share or commit it
$key   = "PROJ"             # project key, case sensitive

$pair = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("${email}:${token}"))
$h = @{ Authorization = "Basic $pair"; Accept = "application/json" }

$start = 0
do {
  $uri = "$site/rest/api/3/project/$key/component?startAt=$start&maxResults=50&orderBy=issueCount"
  $page = Invoke-RestMethod -Headers $h -Uri $uri   # GET only: nothing is changed
  $page.values | Where-Object { $_.issueCount -eq 0 } |
    Select-Object id, name, @{n="lead";e={$_.lead.displayName}}
  $start += $page.values.Count
} until ($page.isLast -or $page.values.Count -eq 0)

curl と jq

curl -s -u "you@example.com:YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  "https://YOUR-SITE.atlassian.net/rest/api/3/project/PROJ/component?maxResults=50&orderBy=issueCount" \
  | jq -r '.values[] | select(.issueCount == 0) | "\(.id)\t\(.name)"'

出力は、課題のないコンポーネントの ID と名前の一覧です。削除する前に 1 つずつ確かめます。リード(担当者)を見て、季節ごとのレポート用に残していないかをチームに聞きます。

削除すると課題はどうなるか

標準でできない範囲

この作業のためのツールを開発中です。公開の通知を希望する

よくある質問

Jira Cloud に、課題のないコンポーネントを一覧する方法はありますか?

標準の画面としては、Atlassian のドキュメントで確認できませんでした。「Archive project components」の要望 JRACLOUD-10507 は未対応のままです。一覧は、コンポーネントごとの課題数を返す REST API で取れます。JQL で 1 つずつ数える方法もあります。

コンポーネントを削除すると、課題はどうなりますか?

Atlassian のヘルプには、コンポーネントに作業項目がリンクされている場合、別のコンポーネントにリンクし直すか、リンクを完全に解除できるとあります。REST API では moveIssuesTo パラメータが、削除するコンポーネントの代わりになるコンポーネントを指します。値がなければ、代わりは設定されません。

コンポーネントを削除できるのは誰ですか?

Atlassian のヘルプでは、ロールは「スペース管理者」または「アプリ管理者」です。コンポーネント削除の REST リファレンスでは、そのプロジェクトの Administer projects 権限、または Administer Jira が要ります。

削除せず、アーカイブすることはできますか?

Atlassian の API リファレンスに、コンポーネントのアーカイブ用の項目はなく、アーカイブの要望も未対応です。よく使われる回避策は、名前の先頭に印を付けるなどして、コンポーネントをそのまま残すことです。これは運用上の取り決めで、Jira の機能ではありません。

確かめていないこと

このページの Jira に関する内容は、2026-10-29 に Atlassian のドキュメントと OpenAPI ファイルを読んで書いています。スクリプトは実際の Jira サイトでは実行していません。Atlassian は画面や API を変更します。

コンポーネントのページの列、issueCount が解決済みやアーカイブ済みの課題を含むか、代わりを指定せずに削除したときのダイアログの文言は、確かめていません。メニューの名前は日本語版ヘルプ(「その他のアクション」と「その他の操作」が混在)に従っており、お使いのサイトの表示と違う場合があります。

出典

質問は サポートページか support@hullspark.com へ。プライバシーポリシー