GitHub Issuesの重複検出とissue fields MCP supportの不具合対処法

GitHub Issuesで「重複候補が表示されない」「候補がずれている」「MCP経由でIssue fieldsを更新できない」と感じた場合、まず確認すべきなのは不具合そのものではなく、Public Previewの仕様・入力条件・権限・組織設定です。2026年6月19日前後に話題になったGitHub Changelogの更新では、Issue作成時の重複検出と、GitHub MCP serverからのissue fields読み書き対応が発表されました。ただし、どちらもすべての画面・権限・入力状態で同じように動くわけではありません。GitHub Changelog上の公開日は2026年6月18日、分類はReleaseです。日本時間では6月19日の更新として扱われる場合があります。(The GitHub Blog)

この記事では、GitHubの「Detecting Duplicate Issues – Public Preview and issue fields MCP support for GitHub Issues」に関連して起きやすい表示の違い、エラーの切り分け、管理者に確認すべき項目を、実務で使える形に整理します。

目次

Detecting Duplicate Issuesとissue fields MCP supportで何が変わったのか

今回の更新は、大きく分けて2つあります。1つ目は、GitHub Issuesで新しいIssueを作成している途中に、既存Issueと似ている可能性のある候補を表示する重複検出です。2つ目は、GitHub MCP serverに接続したAIツールが、issue fieldsを読み書きできるようになった点です。(The GitHub Blog)

機能主な対象者できるようになったことよくある勘違い
Duplicate issues detectionIssueを作成するユーザー、メンテナー新規Issue作成中に、既存Issueの重複候補を最大3件表示候補が出ないと常に不具合だと思ってしまう
issue fields MCP supportGitHub MCP serverを使う開発者、管理者、AIエージェント運用者AIツールからIssue fieldsの読み取り・書き込み・フィールド値での絞り込みが可能MCPを有効にすれば誰でも全フィールドを操作できると思ってしまう
issue fields自体組織管理者、トリアージ担当者Priority、Effort、日付などの構造化メタデータをIssueに持たせられるラベルやProjectsのカスタムフィールドと完全に同じものだと思ってしまう

Duplicate issues detectionは、Issue作成フォームの入力内容をもとに既存Issueとの類似候補を表示する機能です。公式の説明では、候補はIssue作成フォーム内にインライン表示され、最大3件まで表示されます。候補が出てもIssue作成はブロックされず、そのまま新規Issueを作成できます。(The GitHub Blog)

issue fields MCP supportは、GitHub MCP serverに接続したAIツールが、Issue fieldsを読み書きしたり、フィールド値で既存Issueを絞り込んだりできるようにする更新です。GitHub MCP serverは、AIエージェントやアシスタントがGitHub上のリポジトリ、Issue、Pull Request、ワークフローなどを扱えるようにする公式MCP serverです。(The GitHub Blog)

重複候補が表示されないときの確認ポイント

GitHub Issuesで重複候補が表示されない場合、最初に確認すべきなのは入力条件です。公式のコミュニティ投稿では、Duplicate detectionはIssueタイトルが入力され、本文が100文字に達したタイミングで既存Issueを検索すると説明されています。また、タイトルは20文字以上がトリガー条件として示されています。(GitHub)

症状確認すること対処
何も候補が出ないタイトルが短すぎないか20文字以上の具体的なタイトルにする
本文を書いても出ない本文が100文字未満ではないか再現手順、期待結果、実際の結果を入れて100文字以上にする
本文を後から大きく修正しても候補が変わらない本文編集後の再検索仕様を誤解していないかタイトルを編集して再検索を促す
一部のリポジトリだけ出ないIssueが有効か、Public Previewの提供状態に差がないか別リポジトリ・別ブラウザで比較し、必要なら管理者に確認
自分だけ表示されないブラウザ拡張、キャッシュ、ログイン状態の影響シークレットウィンドウ、別ブラウザ、再ログインで切り分け

特に見落としやすいのが、「本文を編集すれば何度でも候補が更新される」と思い込むケースです。公式説明では、初回チェック後にタイトルを編集すると検索が再実行されますが、本文編集は初回チェック後には再トリガーしないとされています。(GitHub)

実務では、候補が出ないときにすぐ「GitHubの不具合」と判断するより、次のようなテストIssue文を使って再現確認すると切り分けが早くなります。

Title:
Windows環境でログイン後にダッシュボードが白画面になる

Body:
Windows 11、Chrome最新版でログインすると、認証完了後にダッシュボードが白画面になります。
コンソールにはTypeErrorが表示され、再読み込みしても改善しません。
期待する動作は、ログイン後にプロジェクト一覧が表示されることです。

このように、環境、操作、実際の結果、期待する結果を入れると、重複検出に必要な情報量を満たしやすくなります。

重複候補が的外れに見えるときの考え方

Duplicate issues detectionは、単純なキーワード一致だけでなく意味ベースの類似性を使うと説明されています。そのため、タイトルや本文に同じ単語が含まれていなくても、似た問題として候補に出ることがあります。(GitHub)

たとえば、「ログイン後に白画面になる」と書いたIssueに対して、「ダッシュボード初期化時にReactエラーが出る」という既存Issueが候補に出る可能性があります。表現は違っても、実際には同じ画面・同じ障害を指している場合があるためです。

一方で、意味ベースの候補は、リポジトリ内に似た言葉や似た障害が多いほどノイズも出やすくなります。候補が的外れに見える場合は、次の順で確認すると実務上の判断がしやすくなります。

判断ポイント見るべき内容判断例
発生箇所同じ画面、API、コンポーネントか同じログイン処理なら重複の可能性が高い
再現条件OS、ブラウザ、権限、設定が近いか条件が大きく違えば別Issueとして残す
エラーログ同じ例外、同じステータスコードか同じスタックトレースなら重複候補を優先
影響範囲同じユーザー層・同じプランか管理者だけ発生するなら別問題の可能性
解決状況既存IssueがOpenかClosedかClosedでも再発なら新規Issueにリンクする

重複候補が表示されたら、すぐに新規Issueをやめるのではなく、既存Issueを開いて「自分のケースと同じ再現条件か」を確認するのが安全です。GitHubの重複候補は非ブロッキングであり、候補が出ても新規Issue作成は可能です。(GitHub)

「Duplicate of」で閉じたのに重複扱いにならないとき

GitHubでは、IssueやPull Requestを重複として扱う方法も用意されています。公式ドキュメントでは、新しいコメント本文に「Duplicate of」に続けてIssue番号またはPull Request番号を書くことで、重複としてマークできると説明されています。(GitHub Docs)

ただし、重複マークのタイムラインイベントが表示されるには、コメントを作成するユーザーが、そのコメントを作成するリポジトリでwriteアクセスを持っている必要があります。権限が足りないユーザーが同じ文言を書いても、期待どおりの重複イベントにならないことがあります。(GitHub Docs)

起きていること原因として多いもの対処
「Duplicate of #123」と書いたのにイベントが出ないwrite権限がないメンテナーに対応を依頼する
別リポジトリのIssue番号を書いたが意図どおりにならない参照先や権限の前提が違うURLで明示し、管理者に確認する
重複として閉じたが後で別問題だと分かったtriage時の判断ミスタイムラインのUndoで解除できるか確認する
同じ内容のIssueが何度も作成されるIssue templateや検索導線が弱いテンプレートに「既存Issue確認」を入れる

Duplicate issues detectionは「作成前に気づかせる」機能であり、作成済みIssueの運用ルールを置き換えるものではありません。メンテナー側では、重複を見つけたら既存Issueへ誘導し、必要に応じて「Duplicate of #番号」で履歴を残す運用が引き続き重要です。

issue fieldsが表示されない・編集できないときの確認ポイント

issue fieldsは、Issueに優先度、工数、開始日、目標日などの構造化メタデータを持たせる機能です。GitHub Docsでは、issue fieldsはPublic Previewであり、変更される可能性がある機能として説明されています。また、組織レベルで定義され、組織内のリポジトリのIssueに適用されます。(GitHub Docs)

表示されない、編集できない、検索できない場合は、次の順で確認します。

症状確認する場所管理者に確認すべきこと
Issueの右サイドバーにfieldが出ないIssue type、Add field、組織設定対象fieldがIssue typeにpinされているか
自分だけfieldが見えない権限、field visibilityOrganization onlyになっていないか
Public repositoryで外部ユーザーに見えないField VisibilityPublicにする必要があるfieldか
fieldを編集できないリポジトリ権限triage以上の権限があるか
Pull Requestでfieldが見えない対象がIssueかPRかissue fieldsはPull Request非対応でないか
検索クエリでヒットしないfield名、値、スペースの扱いfield."target date":>=2026-03-01 のように書けているか

GitHub Docsでは、Issue field valuesを設定・編集できるのはリポジトリに対してtriage以上のアクセス権を持つユーザーとされています。また、issue fieldsは現在Issueのみで利用でき、Pull Requestはサポートしていないと説明されています。(GitHub Docs)

管理者側で特に確認したいのは、fieldのpin設定です。GitHub Docsでは、fieldがIssue typeまたは「Issues without a type」にpinされていない場合、Issueサイドバーに表示されないことがあると説明されています。(GitHub Docs)

issue fieldsの検索でエラー・期待外れの結果になるとき

issue fieldsは検索にも利用できます。GitHub Docsでは、field. に続けてfield名と値を指定する形で、Issueをfield値で絞り込めると説明されています。field名にスペースが含まれる場合は引用符で囲む必要があります。(GitHub Docs)

よく使う検索例は次のとおりです。

field.priority:high
field.priority:high,medium
field."target date":>=2026-03-01
field.story-points:>5
is:open field.priority:high

検索で失敗しやすいポイントは、field名と値の表記揺れです。たとえば、画面上の表示が「Target date」なのに field.target-date のように書くと、期待どおりに絞り込めないことがあります。field名にスペースがある場合は field."target date":>=2026-03-01 のように引用符を使います。(GitHub Docs)

また、visibilityがOrganization onlyのfieldは、権限のないユーザーにはIssueサイドバー、タイムライン、検索候補に表示されません。Public repositoryで「他の人には検索できない」と言われた場合は、まずfield visibilityを確認してください。(GitHub Docs)

MCP経由でissue fieldsを扱えないときの切り分け

GitHub MCP serverでは、Issues関連のtoolsetや個別toolを通じてIssueを作成・更新・検索できます。公式リポジトリのREADMEでは、issue_writeissue_fieldsパラメータがあり、field名と値、単一選択のoption名、削除指定などを扱えることが示されています。また、list_issue_fieldsfield_filtersによる絞り込みも説明されています。(GitHub)

MCPでエラーになる場合は、AIツールのプロンプトを直す前に、接続・権限・toolsetの3点を切り分けるのが近道です。

確認項目見るべき内容対処
MCP serverの種類Remote MCP serverかLocal MCP serverか利用環境に合った設定を確認する
ホストアプリVS Code、Claude Desktop、Cursorなどが対応しているか各MCPホスト側の設定方式を確認する
認証方式OAuthかPATか必要な権限を持つ認証にする
toolsetissues toolsetが有効かGITHUB_TOOLSETSや起動オプションを確認する
read-only設定書き込みtoolが無効化されていないかread-only運用なら更新はできない
field名実在するissue field名か先にlist_issue_fieldsで取得する
fieldの型single-select、text、number、dateの型に合っているかoption名、数値、日付形式を合わせる
権限repo、read:orgなど必要な権限があるか管理者にPAT/OAuth scopeを確認する

GitHub MCP serverの公式READMEでは、Remote GitHub MCP Serverを使うには対応するMCPホストが必要であり、VS CodeではリモートMCPとOAuth対応のためにVS Code 1.101以降が必要と説明されています。Local MCP Serverを使う場合はDockerの実行状態やPATの準備も確認対象になります。(GitHub)

さらに、GitHub MCP serverではtoolsetを指定して利用可能な機能群を制御できます。issues toolsetが有効でない、または個別toolを限定している場合、Issue関連の読み書きや検索が期待どおりに使えない可能性があります。read-only modeが有効な場合は、明示的に書き込みtoolを指定していてもwrite toolはスキップされると説明されています。(GitHub)

管理者に確認すべき項目

一般ユーザー側で再ログインや入力条件を確認しても改善しない場合は、組織管理者またはリポジトリ管理者に次の点を確認します。

確認先確認内容なぜ重要か
リポジトリ管理者Issues機能が有効かIssuesが無効なら作成・候補表示の前提が崩れる
組織管理者issue fieldsが作成・pinされているかfieldが未設定・未pinだと画面に出ない
組織管理者field visibilityがPublicかOrganization onlyか外部ユーザーとの表示差の原因になる
権限管理者自分にtriage以上の権限があるかfield値の編集には権限が必要
MCP運用担当PAT/OAuth scopeが足りているかMCP経由の読み書きエラーの原因になる
MCP運用担当issues toolsetが有効かIssue関連toolが利用できない原因になる
セキュリティ担当AIツールからIssue更新を許可してよいか自動triageやfield更新は監査対象になりやすい

issue fieldsには上限もあります。GitHub Docsでは、組織あたりのIssue fieldsは25個、single-select fieldのoptionは100個、Issue typeごとにpinできるfieldは10個、Projects内の総field数は50個までと説明されています。上限に達している場合、新しいfieldを追加できない、Projectsにfieldを追加できないといった問題につながります。(GitHub Docs)

障害か仕様かを見分ける手順

GitHubの表示やMCPの挙動がおかしいときは、次の順番で切り分けると、管理者やサポートへ伝える情報が揃いやすくなります。

手順確認内容判断
1公式仕様の入力条件を満たしているか重複候補はタイトル20文字以上・本文100文字以上を確認
2別ブラウザ・シークレットウィンドウで再現するか拡張機能やキャッシュの影響を切り分け
3別リポジトリでも同じかリポジトリ設定かアカウント全体かを切り分け
4別ユーザーでも同じか権限・visibilityの問題を確認
5GitHub Statusに障害が出ていないかGitHub側の広域障害を確認
6MCPの場合はtoolset・scope・read-onlyを確認AIツール側ではなくMCP設定の問題を確認

広範囲でIssue、API、Copilot、Webhooksなどの異常が疑われる場合は、GitHub Statusを確認します。GitHub Statusでは、Issues、API Requests、Copilotなどの稼働状態や過去のインシデントが公開されています。(githubstatus.com)

実務でのおすすめ運用

Duplicate issues detectionとissue fields MCP supportを活かすには、機能を待つだけでなく、Issue運用を少し整えることが重要です。

Issue templateに重複確認の導線を入れる

重複検出は便利ですが、候補表示だけに頼ると、短い本文や抽象的なタイトルでは候補が出にくくなります。Issue templateには、次のような項目を入れると効果的です。

### 事前確認
- [ ] 既存Issueを検索しました
- [ ] 重複候補が表示された場合、内容を確認しました

### 発生環境
- OS:
- ブラウザ:
- バージョン:

### 再現手順
1.
2.
3.

### 期待する結果

### 実際の結果

### 関連するIssue

この形式なら本文が自然に100文字を超えやすく、重複検出にも、メンテナーのtriageにも役立ちます。

ラベルとissue fieldsの役割を分ける

issue fieldsを導入した直後に起きやすい失敗は、既存ラベルと同じ意味のfieldを増やしすぎることです。たとえば、priority/high ラベルと Priority: High fieldを併用すると、どちらが正なのか分からなくなります。

おすすめは、次のように役割を分けることです。

用途ラベル向きissue fields向き
種類の大まかな分類bugdocumentationhelp wantedIssue typeと組み合わせる
優先度小規模ならラベルでも可複数リポジトリで統一するならfield
工数ラベルでは管理しにくいEffortStory points
日付ラベルでは不向きStart dateTarget date
自動化単純な振り分けMCP、API、Actionsと連携するfield

GitHub Docsでは、issue fieldsはIssue上の値がsource of truthになり、Projectsごとに異なるproject fieldとはスコープが違うと説明されています。既存のProject fieldと同じ概念を二重管理すると混乱しやすいため、移行時は「どちらを正にするか」を先に決めてください。(GitHub Docs)

MCPに書き込みを許可する範囲を決める

MCP経由でIssue fieldsを書き込めるようになると、AIエージェントがPriority、Area、日付などを自動設定できます。便利な一方で、誤ったfield更新が大量に入ると、triage結果やレポートに影響します。

最初は、次のような段階的な運用が安全です。

フェーズ許可する操作目的
試験運用Issueの読み取り、field一覧取得field名・型・権限の確認
限定運用Draft的なコメント提案、ラベル候補提示人間の確認を残す
部分自動化PriorityやAreaの初期値設定triageの初動を軽くする
本運用field更新、検索、レポート連携運用ルールが固まってから拡大

特にPersonal Access Tokenを使う場合は、必要最小限のscope、プロジェクトごとのtoken分離、定期的なローテーション、設定ファイルへの直書き回避を徹底してください。GitHub MCP serverのREADMEでも、PATの安全な扱いとして、必要最小限の権限、tokenの分離、定期ローテーション、バージョン管理へコミットしないことが推奨されています。(GitHub)

よくある質問

重複候補が出ないのはGitHubのバグですか?

必ずしもバグではありません。タイトルが20文字未満、本文が100文字未満、既存Issueに十分似たものがない、本文編集後に再トリガーしていない、ブラウザや権限の影響がある、といった原因が考えられます。まず入力条件と再現環境を確認してください。(GitHub)

候補が出ても新しいIssueを作成できますか?

作成できます。Duplicate issues detectionの候補は非ブロッキングであり、候補が表示されても新規Issue作成を妨げません。候補を確認したうえで、別問題だと判断できるなら新規Issueとして作成して問題ありません。(GitHub)

issue fieldsはPull Requestでも使えますか?

GitHub Docsでは、issue fieldsは現在Issueのみで利用でき、Pull Requestはサポートしていないと説明されています。Pull Requestで同じfieldが見えない場合は、仕様の可能性が高いです。(GitHub Docs)

MCPでissue fieldsを更新できない場合、何を管理者に伝えればよいですか?

対象organization、repository、Issue番号、使ったMCPホスト、RemoteかLocalか、認証方式、PAT/OAuth scope、issues toolsetの有無、read-only設定、実行したtool名、field名と値を伝えると、原因を絞り込みやすくなります。

Public Previewなので本番運用は避けるべきですか?

避けるというより、変更の可能性を前提に段階導入するのが現実的です。GitHub Docsではissue fieldsがPublic Previewであり変更される可能性があると明記されています。重要な業務フローに組み込む場合は、ラベルや既存Projectsとの二重管理期間を設け、APIやMCPの挙動変更に備えてください。(GitHub Docs)

まず取るべき行動

GitHub Issuesの重複検出やissue fields MCP supportで困ったときは、次の順で確認してください。

  1. 重複候補が出ない場合は、タイトル20文字以上・本文100文字以上・タイトル編集による再検索を確認する。
  2. 候補が不自然な場合は、発生箇所、再現条件、ログ、影響範囲で既存Issueと比較する。
  3. issue fieldsが見えない場合は、権限、visibility、Issue typeへのpin設定、Pull Requestではないかを確認する。
  4. MCPで失敗する場合は、issues toolset、PAT/OAuth scope、read-only設定、field名・型を確認する。
  5. 複数ユーザーで同時に異常が出る場合は、GitHub Statusで広域障害を確認する。

今回の更新は、Issueの重複を減らし、AIツールによるtriageを進めるための実用的な改善です。ただし、Public Previewの機能は「表示されない」「人によって見え方が違う」「MCPでは更新できるが画面では見えない」といった混乱が起きやすい領域でもあります。まず仕様と権限を確認し、そのうえでIssue template、field設計、MCPの権限管理を整えることが、最も確実な対処法です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次