コンテンツにスキップ

Webhookの修正計画フィールド

修正計画の共通フィールド

修正計画が有効な場合、full・diffの両方のペイロードにremediationを含めます。 レポート全体の形式は、Webhookのフィールド仕様を参照してください。

各表のフィールド名は、表で示すオブジェクトからの相対パスです。 省略条件を記載していないフィールドは、そのオブジェクトがある場合に出力します。

remediationのフィールド名 型 意味・省略条件
schema_version integer このオブジェクトの形式の版で、現在は1
status string 計画を作成できた場合はok、作成できなかった場合はunavailable
unavailable_reason string 計画を作成できなかった理由で、それ以外は省略
not_saved boolean 計画を保存できなかった場合はtrueで、それ以外は省略
generated_at string RFC 3339形式の計画生成時刻で、計画がない場合は省略
conditions object 比較スキャンの条件で、Trivyの版と脆弱性データベースの識別情報の両方が不明なら省略
conditions.trivy_version string Trivyの版
conditions.trivy_sha256 string TrivyのSHA-256で、不明なら省略
conditions.vulnerability_db_updated_at / conditions.java_db_updated_at string 各データベースのRFC 3339形式の更新時刻で、不明なら省略
conditions.vulnerability_db_sha256 / conditions.java_db_sha256 string 各データベースのSHA-256で、不明なら省略
conditions.severities stringの配列 比較対象の深刻度で、空なら省略
conditions.analysis_settings string 解析設定の識別用ハッシュで、不明なら省略
limits object 計画の上限で、計画がない場合は省略
limits.max_candidate_scans integer 候補イメージのスキャン上限
limits.max_baseline_rescans integer 比較元の再スキャン上限
limits.max_tag_pages integer リポジトリごとのタグ一覧取得の上限
usage object 計画作成時の処理件数で、計画がない場合は省略
usage.candidate_scans / usage.baseline_rescans integer 候補スキャン・比較元の再スキャンの件数
usage.tag_pages / usage.registry_requests integer タグ一覧取得・レジストリへの要求の件数

unavailable_reasonには、databases_not_preparedまたはplanner_not_builtを使用します。 計画がない場合も、配布イメージのitemsは[]として出力します。

各項目のcategoryは計画の分類値、reasonは理由コードを参照してください。 項目のreasonと補足のdetailは、空なら省略します。

配布イメージのフィールド

remediationのフィールド名 型 意味・省略条件
summary object 分類値をキー、整数の件数を値とする配布イメージの集計で、計画がない場合は省略
items objectの配列 配布イメージの項目で、該当なしは[]
items[].key string 項目の識別子
items[].category string 計画の分類値
items[].reason / items[].detail string 理由と補足で、空なら省略
items[].tag_kind string 現在のタグの分類で、不明なら省略
items[].priority string 対象の優先度で、情報なしは省略
items[].services objectの配列 対応するサービスの情報で、空なら省略
items[].current object 現在のイメージ情報
items[].candidate object 候補のイメージ情報で、候補がなければ省略
items[].targets integer 比較対象の所見数
items[].kev_targets integer KEVに掲載された比較対象の所見数で、0なら省略
items[].comparison object 比較結果で、結果がなければ省略
items[].scans objectの配列 比較に使ったスキャンの記録で、空なら省略

currentとcandidateのイメージ情報は、次の形式です。 ベースイメージの項目に含むイメージ情報も同じ形式を使用します。

イメージ情報のフィールド名 型 意味・省略条件
ref string イメージ参照
tag string タグで、不明なら省略
content string 稼働イメージの実体識別情報で、情報なしや候補イメージでは省略
config_digest / manifest_digest / top_digest string 各digestで、不明なら省略
platform string プラットフォームで、不明なら省略
digest_kind_unverified boolean 稼働イメージのdigestの種類を確認できていない場合はtrueで、それ以外は省略
comparisonのフィールド名 型 意味・省略条件
comparable boolean 比較可能な場合はtrue
reason / scope / decision string 比較の理由・範囲・判定で、空なら省略
targets / resolved / remaining integer 対象・解消・残存の件数
unknown / undetected / introduced integer 判定不能・比較元で未検出・新規検出の件数
verdicts objectの配列 対象の脆弱性ごとの判定で、空なら省略
introduced_findings objectの配列 新規検出の脆弱性ごとの判定で、空なら省略
verdicts_truncated / introduced_findings_truncated boolean 対応する一覧の一部を省略した場合はtrueで、それ以外は省略
scans[]のフィールド名 型 意味・省略条件
role / ref string スキャンの役割とイメージ参照
requested / confirmed string 要求した対象と確認できた対象
db string 使用したデータベースの識別情報
scanned_at string RFC 3339形式のスキャン時刻で、記録がなければ省略
failure string スキャン失敗の情報で、空なら省略

比較の条件はスキャンの比較条件、結果の解釈は比較結果の解消を参照してください。

ベースイメージのフィールド

remediationのフィールド名 型 意味・省略条件
dockerfile_summary object 分類値をキー、整数の件数を値とする集計で、該当項目がなければ省略
dockerfile_items objectの配列 ベースイメージの項目で、該当なしは省略
dockerfile_items[].key string 項目の識別子
dockerfile_items[].kind string dockerfile
dockerfile_items[].fix_class string base_image
dockerfile_items[].verification string base_image_comparison
dockerfile_items[].category string 計画の分類値
dockerfile_items[].reason / dockerfile_items[].detail string 理由と補足で、空なら省略
dockerfile_items[].priority string 対象の優先度で、情報なしは省略
dockerfile_items[].workloads stringの配列 対象のWorkloadで、該当なしは[]
dockerfile_items[].source object Dockerfileのリポジトリ・ブランチ・パスと、取得できたコミット・ステージなどの情報
dockerfile_items[].base_ref / dockerfile_items[].base_kind string 現在のベースイメージ参照とタグの分類で、空なら省略
dockerfile_items[].candidate object 候補のイメージ情報で、候補がなければ省略
dockerfile_items[].counts object 整数値のtargets・resolved・remaining・introducedによる集計
dockerfile_items[].entities objectの配列 稼働イメージごとの照合・比較結果で、空なら省略
dockerfile_items[].final_image_verified boolean 再ビルド後のアプリケーションイメージの検証有無で、常にfalse
dockerfile_items[].pull_request object 対応するPR処理で、対応がなければ省略
dockerfile_items[].entities[]のフィールド名 型 意味・省略条件
running_image object 稼働イメージの情報
current_base / candidate_base object 現在・候補のベースイメージ情報で、情報なしは省略
layer_confirmation / findings_by_layer object ベースレイヤーの照合結果とレイヤー別の所見件数
category string 稼働イメージごとの分類値
reason / detail string 理由と補足で、空なら省略
services objectの配列 対応するサービスで、空なら省略
targets integer 比較対象の所見数
kev_targets integer KEVに掲載された比較対象の所見数で、0なら省略
comparison object 比較結果で、結果がなければ省略
scans objectの配列 スキャンの記録で、空なら省略

検査の範囲は、対象別の検証範囲を参照してください。

言語パッケージのフィールド

remediationのフィールド名 型 意味・省略条件
language_summary object 分類値をキー、整数の件数を値とする集計で、該当項目がなければ省略
language_items objectの配列 言語パッケージの項目で、該当なしは省略
language_items[].key string 項目の識別子
language_items[].category string 計画の分類値
language_items[].reason / language_items[].detail string 理由と補足で、空なら省略
language_items[].manager / language_items[].priority string パッケージマネージャーと優先度で、空なら省略
language_items[].workloads stringの配列またはnull 対象のWorkload
language_items[].source object 依存ファイルのリポジトリ・ブランチ・ディレクトリなどのソース情報
language_items[].pull_request object 対応するPR処理で、対応がなければ省略
language_items[].retry_after string 公開後の待機で再試行可能になる日時をRFC 3339形式で示し、待機時刻がなければ省略

パッケージの結果

language_items[]からのフィールド名 型 意味・省略条件
package_count integer パッケージの総件数
packages objectの配列 パッケージごとの結果で、空なら省略
packages_truncated boolean 一覧の一部を省略した場合はtrueで、それ以外は省略
packages[].name / packages[].ecosystem / packages[].installed string パッケージ名・エコシステム・稼働版
packages[].normalized string 正規化したパッケージ名で、空なら省略
packages[].selection_lower_bound / packages[].adopted_version string 更新目標の下限と採用版で、情報なしは省略
packages[].relation string 依存関係の区分で、空なら省略
packages[].action / packages[].reason / packages[].detail string 対応・理由・補足で、空なら省略
packages[].left_out boolean 計画した更新から除外された場合はtrueで、それ以外は省略
packages[].through stringの配列 修正版への更新に伴って動かした依存元の名前で、空なら省略
packages[].occurrence_count / packages[].cve_count / packages[].origin_count integer 依存ファイル内の出現箇所・脆弱性・元の所見の件数
packages[].kev_count integer KEVに掲載された脆弱性の件数で、0なら省略
packages[].occurrences / packages[].cves / packages[].origins objectの配列 出現箇所・脆弱性・元の所見の一覧で、空なら省略
packages[].occurrences_truncated / packages[].cves_truncated / packages[].origins_truncated boolean 対応する一覧の一部を省略した場合はtrueで、それ以外は省略

actionの定義はパッケージの処理値、版の解釈は更新目標と採用版を参照してください。

throughには、再解決で版が変わった直接依存を載せます。 直接依存の版が変わらず途中の依存元が変わった場合は、プロジェクトに最も近い変更された依存元の名前を載せます。

既存PRに対応付けた回は、PRの記録からthroughを補う場合があります。 この回の更新・検査の実行有無は、update_executedとpost_update_check_executedで確認します。

実行環境

language_items[]からのフィールド名 型 意味・省略条件
runtime_eol object サポート終了により手動対応となる実行環境で、該当なしは省略
runtime_eol.id / runtime_eol.name string 実行環境の識別子と名前
runtime_eol.eol string YYYY-MM-DD形式のサポート終了日で、不明なら省略
update.runtime object 更新に使った実行環境で、記録がなければ省略
update.runtime.id / update.runtime.version string 実行環境の識別子と版
update.runtime.pip string Pythonイメージに含まれるpipの版で、情報なしは省略
update.runtime.image / update.runtime.platform / update.runtime.digest string 作業用イメージ・プラットフォーム・digestで、情報なしは省略
update.runtime.support / update.runtime.eol string サポート状態と終了日で、情報なしは省略
update.runtime.basis string 実行環境の選定根拠で、情報なしは省略
update.runtime.declared objectの配列 source・valueを持つ版宣言で、空なら省略
update.runtime.excluded objectの配列 選ばなかった系列のid・whyと補足情報で、空なら省略
update.runtime.engines_floor string 依存の互換性を確認した最低Node.js版で、記録がなければ省略

選定方法は、実行環境の選定を参照してください。

ツール

language_items[].update.toolは、更新に使ったツールの記録がある場合に含めます。

update.toolのフィールド名 型 意味・省略条件
name / version string ツール名と版
source string 版の選定根拠で、declared、default、default_in_rangeのいずれか
sha256 string 配布物のSHA-256
format string 配布物の形式で、空なら省略
size integer 配布物のバイト数で、0なら省略
sha512 string 配布物のSHA-512で、空なら省略
published_at string RFC 3339形式の公開日時
registry_digest string レジストリが示した配布物のdigestで、空なら省略
spec_hash string プロジェクトが宣言し、照合したハッシュで、空なら省略

選定根拠の意味は、ツール版の選定を参照してください。

更新の記録

language_items[]からのフィールド名 型 意味・省略条件
update_executed boolean この回に依存更新を実行したかで、falseでも出力
post_update_check_executed boolean この回に更新後の検査を実行したかで、falseでも出力
update object 更新の記録で、記録がなければ省略
update.steps objectの配列 実行した操作の記録で、空なら省略
update.notes stringの配列 更新処理の補足で、空なら省略
update.manifest_edits objectの配列 manifestの変更箇所で、空なら省略
update.manifest_edits[].file / section / name / from / to string ファイル・節・依存名・変更前・変更後
update.manifest_edits[].major_change boolean メジャー版の変更に該当する場合はtrueで、それ以外は省略
update.deprecated_changed integer 非推奨注記が追加・削除・変更されたlockfile項目の件数で、0なら省略
update.diff object lockfileの差分で、記録がなければ省略
update.diff.added / update.diff.changed / update.diff.removed stringの配列 追加・変更・削除された項目で、空なら省略
update.diff.truncated boolean 差分一覧の一部を省略した場合はtrueで、それ以外は省略
update.diff.followed objectの配列 更新に伴って依存先の版が変わった項目で、空なら省略
update.diff.followed[].entry string 変更された項目
update.diff.followed[].moves objectの配列 stringのname・from・toを持つ依存先の変更
update.chain object 依存元からの再解決の結果や見送りの記録で、記録がなければ省略
source_check object 更新前後の依存ファイルのスキャン結果で、記録がなければ省略
source_check.counts integerの配列 解消・残存・新規検出の順に並ぶ3つの件数
source_check.resolved / source_check.remaining / source_check.introduced objectの配列 対応する脆弱性の一覧で、空なら省略
source_check.truncated boolean 脆弱性一覧の一部を省略した場合はtrueで、それ以外は省略
source_check.passed boolean 更新後の検査に合格したかで、falseでも出力
source_check.basis string 位置の検査を含む再解決の比較はpackage_version_vuln_edges_positions、位置の検査を含まない古い記録などはpackage_version_vuln_edgesで、追加比較の記録がなければ省略
source_check.chain_new_findings objectの配列 更新後に新たに現れ、同じ位置からの持ち越しと認められないパッケージ名・版・脆弱性IDの組み合わせで、空なら省略
source_check.chain_entry_growth objectの配列 同じ脆弱性を持つlockfileエントリ数の増加を版ごと、または脆弱な版の合計で示す結果で、空なら省略
source_check.chain_edge_growth objectの配列 脆弱な版のエントリを指す依存の数が増えた結果で、空なら省略
source_check.chain_carried objectの配列 版が変わっても同じ位置に残る脆弱性で、空なら省略
source_check.chain_position_refusals objectの配列 位置の検査が拒否する要求やエントリで、空なら省略

非推奨注記の変更件数はWebhookに含めますが、対象名の一覧は含めません。 対象名と注記の追加・削除・変更はPR本文で確認します。

依存元からの再解決の記録

language_items[].update.chainには、再解決の対象と結果を記録します。 この記録があることだけでは、再解決を実行したことや、その結果をPRに採用したことを示しません。

update.chainからのフィールド名 型 意味・省略条件
outcome string 再解決の結果
reason / detail string 結果の理由と補足で、空なら省略
source string 追加の再解決を行う処理はchain_job、uvの最初の更新結果を再解決の規則で判定し直す処理はfirst_runで、実行・採用の有無はoutcomeで確認
blocked objectの配列 修正版への到達を妨げる要求の一覧で、確認できた要求がなければ空配列
blocked[].package / blocked[].version string 古い版にとどまる対象パッケージの名前と版
blocked[].parent / blocked[].parent_version string 古い版を要求する依存元の名前と版
blocked[].range string 依存元が要求していた版の指定
blocked[].proof string 完全一致の要求による確認はexact、修正版に届かない上限による確認はupper_bound
blocked[].via stringの配列 依存元につながるプロジェクトの直接依存で、空なら省略
tops objectの配列 再解決の起点となる直接依存で、情報がなければ空配列
tops[].name string 直接依存の名前
tops[].from / tops[].to string 更新前後の版で、情報がなければ省略
tops[].kind string top
moves objectの配列 更新対象とtops以外の付随変更で、空なら省略
moves[].name string パッケージ名で、名前を取得できない場合はエントリの識別子
moves[].from / moves[].to string 変更前後の版で、追加前・削除後などの情報がなければ省略
moves[].kind string 依存元の変更はancestor、ほかの変更はfollowed、追加はadded、削除はremoved
truncated boolean 変更一覧の一部を省略した場合はtrueで、それ以外は省略
usage object 項目の使用量
usage.containers integer 使用した作業用コンテナ数
usage.lookups integer KestreLynxによるレジストリ照会数
usage.bytes integer レジストリ応答の受信バイト数
usage.elapsed_ms integer 項目の処理開始から使用量を記録するまでの経過ミリ秒

使用量には、最初の通常更新や必要な再実行も含みます。 topsには版が変わらなかった直接依存も含むため、実際の版の変更はfromとtoで確認します。

outcome 意味
adopted 再解決の結果を採用
not_fixed 再解決を実行したが、修正版に届かなかった
rejected 検査で不採用、または公開後の待機が続いたため停止
failed 再解決の処理に失敗
not_tried 対応範囲や上限などにより再解決を見送り
deferred 公開後の待機や作業上限により保留

retry_afterはupdate.chainの中ではなく、language_items[]に属します。 待機中の後続の回では、retry_afterがあってもupdate.chainを含まない場合があります。

再解決のスキャン比較

source_check.basisは、再解決のスキャン比較で使う単位を示します。 位置の検査を含む場合はpackage_version_vuln_edges_positions、位置の検査を含まない古い記録などはpackage_version_vuln_edgesです。

一覧内のフィールド名 型 意味・省略条件
chain_new_findings[].package / version / vuln_id string 新たに現れ、持ち越しと認められないパッケージ名・版・脆弱性ID
chain_new_findings[].severity / fixed_ver string 深刻度と修正版情報で、空なら省略
chain_new_findings[].kev boolean KEV掲載の場合はtrueで、それ以外は省略
chain_entry_growth[].package / vuln_id string エントリ数が増えるパッケージ名・脆弱性ID
chain_entry_growth[].version string 版ごとの増加を示す場合の版で、脆弱な版の合計を示す場合は省略
chain_entry_growth[].before / after integer 更新前後のエントリ数
chain_edge_growth[].package / vuln_id string 要求数が増えるパッケージ名・脆弱性ID
chain_edge_growth[].before / after integer その脆弱性があるエントリを指す更新前後の要求数
chain_carried[].package string 同じ位置で版が変わるパッケージ名
chain_carried[].from / to string 変更前後の版で、変更前の版が位置ごとに異なる場合のfromは、そのうち1つの代表値
chain_carried[].vuln_id string 同じ位置に残る脆弱性ID
chain_carried[].positions integer その脆弱性の持ち越しを確認する要求の位置数
chain_carried[].kev boolean KEV掲載の場合はtrueで、それ以外は省略
chain_position_refusals[].package / version string 拒否する要求の参照先の名前と版で、splitの場合は分岐元の旧エントリの名前と版
chain_position_refusals[].parent string 拒否する要求の依存元の名前で、プロジェクト自身の要求やsplitなど、値がない場合は省略
chain_position_refusals[].check string 位置の検査による拒否の種類
chain_position_refusals[].vuln_id string new_vulnで旧エントリにない脆弱性IDを1つ示し、それ以外は省略
chain_position_refusals[].check 意味
no_position 更新前の同じ位置に対応する要求がない状態で、名前・種別・markerの不一致や、その先の変化も含む
merged 更新後の1つの位置に、異なる旧エントリへの複数の要求が対応する合流
name 同じ位置に対応する旧エントリと、パッケージ名が異なる状態
new_vuln 同じ位置の旧エントリにない脆弱性IDを、更新後のエントリが持つ状態
split 1つの旧エントリが複数の脆弱なエントリに分かれる変化で、ほかの場所の削除では相殺しない
  • chain_entry_growthは、同じパッケージ名・脆弱性IDについて版ごとの増加を記録する場合、脆弱な版の合計による増加を重ねて記録しない
  • chain_edge_growthは脆弱性がある版をまとめて数えるため、versionを含めない
  • chain_carriedはパッケージ名・変更後の版・脆弱性IDごとにまとめ、positionsはプロジェクトからの経路総数を示さない
  • chain_carriedにある脆弱性は、この更新では直らない
  • chain_new_findings・chain_entry_growth・chain_edge_growth・chain_carried・chain_position_refusalsは、それぞれ最大500件を記録する
  • いずれかの一覧を上限で省略する場合は、source_check.truncatedをtrueにする
  • source_check.truncatedは、通常のresolved・remaining・introducedの一覧を省略する場合にも使う
  • source_check.countsはパッケージ名と脆弱性IDによる解消・残存・新規検出の件数であり、追加比較の増加件数や位置数には置き換えない
  • 一覧の上限は記録の省略に使い、省略前の検査結果に基づいて合否を判定する

再解決のスキャンが拒否されて手動対応になる項目にも、実施した比較の記録を残します。 chain_carriedがあっても項目全体の合格を意味せず、source_check.passedとupdate.chain.outcomeを併せて確認します。

不合格になる変化と理由コード、持ち越しの条件は、再解決の検査条件を参照してください。

更新ファイル

language_items[].artifactsは、更新ファイルの情報がある場合に含めます。 ファイルの内容は含めません。

artifacts[]のフィールド名 型 意味・省略条件
path string リポジトリ内のファイルパス
sha256 string ファイル内容のSHA-256
size integer ファイルのバイト数
mode string ファイルのモードで、情報なしは省略

PR処理のフィールド

remediationのフィールド名 型 意味・省略条件
pull_request_summary object 状態値をキー、整数の件数を値とする集計で、処理単位がなければ省略
pull_requests objectの配列 PR処理の単位で、該当なしは省略
pull_requests[].key string 処理単位の識別子
pull_requests[].kind string ベースイメージ更新はdockerfile、言語パッケージ更新はlanguageで、Composeのタグ更新では省略
pull_requests[].repo / pull_requests[].base_branch / pull_requests[].path string 対象リポジトリ・ベースブランチ・ファイルパス
pull_requests[].status string PR処理の状態
pull_requests[].reason / pull_requests[].detail string 理由と補足で、空なら省略
pull_requests[].number integer PR番号で、0なら省略
pull_requests[].url / pull_requests[].state string PRのURLとGitHub上の状態で、空なら省略
pull_requests[].item_key string 対応する言語パッケージ項目の識別子で、情報なしは省略
pull_requests[].language object 言語パッケージ更新の内容で、該当なしは省略
pull_requests[].language.remaining objectの配列 PRに含めなかったパッケージで、空なら省略
pull_requests[].language.packages[].through stringの配列 修正版への更新に伴って動かした依存元の名前で、空なら省略
pull_requests[].language.chain objectの配列 PRに含む、再解決で版が変わった直接依存の一覧で、空なら省略
dockerfile_items[].pull_request object 対応する処理のstatusと、任意のreason・number・url・stateで、対応がなければ省略
language_items[].pull_request object 対応する処理のstatusと、任意の理由・補足・PR情報・照合用識別子で、対応がなければ省略
pull_requests[].language.remaining[]のフィールド名 型 意味・省略条件
name / ecosystem string パッケージ名とエコシステム
from / target string 稼働版と予定していた更新先
reason string 更新から除外した理由
relation / detail string 依存関係の区分と補足で、空なら省略
pull_requests[].language.chain[]のフィールド名 型 意味・省略条件
name string 版が変わった直接依存の名前
from / to string 更新前後の版
held string 古い版を要求されていた対象パッケージで、空なら省略
held_range string 対象パッケージに要求されていた版の指定で、空なら省略
held_by string 直接依存と対象の間で古い版を要求していたパッケージで、直接依存自身が要求していた場合などは省略

既存PRに対応付けた回は、PR側のlanguage.remainingからパッケージの除外情報を補います。 その回の更新・検査の実行有無がfalseでも、packages[]にleft_out・action・reasonが付く場合があります。

状態の定義はPRの状態値、部分PRの解釈は部分PRを参照してください。

PR操作イベントのフィールド

remediationのフィールド名 型 意味・省略条件
operations objectの配列 未配信のPR操作イベントで、該当なしは省略
operations[].seq integer イベントの連番
operations[].id string 操作の識別子
operations[].at string RFC 3339形式の時刻
operations[].phase / operations[].kind / operations[].repo string 操作の段階・種類・対象リポジトリ
operations[].attempt_key string 試行の識別子で、空なら省略
operations[].number integer PR番号で、0なら省略
operations[].result / operations[].error string 操作結果とエラーで、空なら省略

配信と再送の扱いは、修正計画の再送を参照してください。

書き込み停止のフィールド

remediationのフィールド名 型 意味・省略条件
problems objectの配列 PRの書き込みを止める問題で、該当なしは省略
problems[].code string 問題の分類コード
problems[].repo / problems[].target string 対象リポジトリと更新対象の識別子で、空なら省略
problems[].reason / problems[].detail string 理由と補足で、空なら省略

停止条件は書き込みの停止、理由は理由コードを参照してください。

修正計画のJSON例

部分PRを含むペイロードから、主要フィールドだけを抜粋した例です。 example-bは更新から除外され、パッケージの結果とPRのremainingの両方に記録されています。

{
  "remediation": {
    "language_items": [
      {
        "category": "pr_candidate",
        "update_executed": true,
        "post_update_check_executed": true,
        "packages": [
          {
            "name": "example-a",
            "ecosystem": "node-pkg",
            "installed": "1.0.0",
            "adopted_version": "1.0.1",
            "action": "update",
            "reason": "update_verified"
          },
          {
            "name": "example-b",
            "ecosystem": "node-pkg",
            "installed": "2.0.0",
            "selection_lower_bound": "2.0.1",
            "action": "manual",
            "reason": "target_not_updated",
            "left_out": true
          }
        ]
      }
    ],
    "pull_requests": [
      {
        "kind": "language",
        "language": {
          "remaining": [
            {
              "name": "example-b",
              "ecosystem": "node-pkg",
              "from": "2.0.0",
              "target": "2.0.1",
              "reason": "target_not_updated"
            }
          ]
        }
      }
    ]
  }
}

採用条件は、部分PRの成立条件を参照してください。