Webhookの修正計画のPR処理のフィールド
このページでは、Webhookの修正計画に含まれるPR処理の結果、言語パッケージの更新内容、PR操作イベント、書き込みを停止する問題を説明します。 修正計画全体の構造は修正計画の全体像を参照してください。
PR作成が有効で修正計画がある場合、処理対象があればpull_request_summaryとpull_requests、未配信の操作イベントがあればoperations、書き込みを停止する問題があればproblemsを出力します。
operationsとproblemsは、pull_requestsがない場合にも出力されます。
表のフィールド名は、表の前の文で示すオブジェクトからの相対パスです。 「値がないとき」の表記は、レポートのフィールドと同じです。
PR処理のフィールド
remediationのPR処理に関するフィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
pull_request_summary |
object | 状態別のPR処理の項目数 | 処理対象がなければ省略 |
pull_requests |
objectの配列 | 更新対象ごとのPR処理結果 | 処理対象がなければ省略 |
operations |
objectの配列 | 未配信のPR操作イベント | 省略 |
problems |
objectの配列 | PRの書き込みを停止する問題 | 省略 |
pull_request_summaryのキーと件数の読み方、0件の扱いは、件数の集計を参照してください。
状態値の定義は、PRの状態値を参照してください。
更新対象とPRの対応
pull_requests[]の1要素は、同じリポジトリ・ベースブランチ内で、まとめて更新する対象の処理結果です。
対象のまとめ方はkindによって異なります。
1要素には、作成したPRまたは同じ更新に対応するPRの情報が入ります。 PRを作成できなかった場合も要素が出力されるため、要素数は作成したPR数とは一致しません。
PRを識別するときは、repoとnumberを組み合わせます。
pull_requests[]の1要素のフィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
kind |
string | 更新対象の種類 | Composeのタグ更新なら省略 |
key |
string | 更新対象をまとめた処理単位の識別子 | — |
repo |
string | 更新先リポジトリのowner/name |
— |
base_branch |
string | PRの取り込み先となるブランチ | — |
path |
string | 更新対象を代表するリポジトリ内のファイルパス | — |
services |
stringの配列 | 更新対象のサービス名またはワークロードを表す一覧 | [] |
workloads |
stringの配列 | 更新対象のワークロードキー | 省略 |
also_running |
objectの配列 | 同じイメージで稼働しているが更新対象に含まれないサービスの情報 | 省略 |
current_ref |
string | 更新前のイメージ名 | "" |
candidate_tag |
string | 更新先イメージのタグ | 省略 |
candidate_digest |
string | 更新先イメージのmanifestまたはイメージインデックスのdigest | 省略 |
status |
string | PR処理の状態 | — |
reason |
string | PR処理結果の理由コード | 省略 |
detail |
string | PR処理結果を補足する説明文 | 省略 |
number |
integer | 対応するPRの番号 | 0なら省略 |
url |
string | 対応するPRのURL | 省略 |
state |
string | 対応するPRについて記録された状態 | 省略 |
user_modified |
boolean | 作成時の記録と異なる変更がPRに見つかったかどうか | falseなら省略 |
target_key |
string | 編集するファイルと位置の組み合わせを識別する値 | 省略 |
update_key |
string | 同じ編集対象に対する更新内容を識別する値 | 省略 |
attempt_key |
string | 更新内容と作成するコミットの入力を識別する値 | 省略 |
fix_target_count |
integer | 切り詰め前の修正対象の件数 | 0 |
fix_targets |
objectの配列 | この更新で解消する修正対象 | 省略 |
fix_targets_truncated |
boolean | 修正対象の一覧を100件に切り詰めたかどうか | falseなら省略 |
replaced_by |
integer | このPRを置き換えた新しいPRの番号 | 0なら省略 |
replacing |
objectの配列 | このPRが置き換える古いPRごとの進行状況 | 省略 |
replaced |
integerの配列 | このPRへの置き換えが完了した古いPRの番号 | 省略 |
item_key |
string | 対応するlanguage_items[]の要素のkey |
省略 |
language |
object | 言語パッケージ更新の内容 | 省略 |
次のフィールドには補足があります。
key- GitHubへの問い合わせ前から決まる識別子で、PR番号とは別の値
- 通知間で同じ処理対象を照合するときに使い、
items[].keyやdockerfile_items[].keyとの一致は前提にしない
item_keykindがlanguageの場合に、language_items[].keyと照合する
target_key- 更新の種類、リポジトリ、ベースブランチ、ファイル、編集位置を識別し、更新前後の版が変わっても編集対象が同じなら同じ値
- 通知間の
pull_requests[].target_keyと照合して、同じ編集対象の提案を関連付ける
update_key- イメージ更新では更新前の参照と更新先のタグ・digest、言語パッケージ更新では採用した版や依存ファイルの変更内容を区別する
- Kubernetesマニフェスト・Kustomize・Helmのvaluesの更新では、作用するワークロードの集合も区別する
- 通知間の
pull_requests[].update_keyと照合して、同じ更新の提案を関連付ける
attempt_key- 同じ更新でも、ベースコミットや変更前後のファイル内容が変わると別の値になる
- 同じ入力から処理を再開する場合は同じ値になるため、実行回数を数える用途には使わない
operations[].attempt_keyと照合して、そのPR作成に関係する操作をまとめる
target_key・update_key・attempt_key- 値はSHA-256を表す64文字の16進文字列で、受信した文字列をそのまま比較する
- 処理の途中で停止した場合は、まだ決まっていないキーを省略する
also_running- Composeの対応付けがないサービスや、Kubernetesの対応付け・作用先の集合に含まれないワークロードなどが入る
user_modified- PRの先頭コミット、取り込み先、作成元リポジトリなどが作成時の記録と異なる場合に
true
- PRの先頭コミット、取り込み先、作成元リポジトリなどが作成時の記録と異なる場合に
replaced_by・replacing・replaced- PR番号は、この要素の
repo内の番号 replacingとreplacedには、Webhook出力時の件数による切り詰めを行わない
- PR番号は、この要素の
更新対象の種類
kindの値は次のとおりです。
| 値 | 意味 |
|---|---|
| 省略 | Composeのタグ更新で、同じファイル内で同じイメージ参照を使うサービスをまとめる |
kubernetes |
Kubernetesマニフェストのタグ更新で、同じファイル内で同じイメージ参照を使うコンテナをまとめる |
kustomize |
Kustomizeのimagesの1項目を更新する |
helm_values |
Helmのvaluesで設定した1つのキーを更新する |
dockerfile |
Dockerfileの1つのFROMを更新する |
language |
1つの依存ファイルのディレクトリについて、パッケージをまとめて更新する |
次のフィールドには補足があります。
path- ComposeではComposeファイル、
kubernetesではマニフェスト、kustomizeではkustomizationファイル、helm_valuesではvaluesファイル dockerfileではDockerfilelanguageでは更新対象を代表する依存ファイルで、npmはpackage-lock.json、pnpmはpnpm-lock.yaml、uvはuv.lock、pipはrequirements.txt、Goはgo.mod、Mavenはルートのpom.xml、Gradleはgradle.lockfile- 言語パッケージのPRでは、
path以外の依存ファイルも変更する場合がある
- ComposeではComposeファイル、
services- Composeでは、編集するComposeファイル内のサービス名
kubernetes・kustomize・helm_valuesでは、ワークロードキーdockerfile・languageでは、各ワークロードキーから取り出した名前を重複なく並べた一覧- 取り出す名前は、Composeではサービス名、Kubernetesではワークロード名、所属不明のDockerコンテナではコンテナ名、所属不明のKubernetesコンテナではPod名
current_ref- Compose・
kubernetes・kustomize・helm_valuesでは、更新対象が使っている稼働イメージの参照 dockerfileでは、更新対象のFROMに指定されたベースイメージの参照languageでは""
- Compose・
candidate_tag・candidate_digestlanguageでは省略する
修正対象
pull_requests[].fix_targets[]の1要素は、ある位置のあるパッケージについて解消する脆弱性を表します。
フィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
location |
string | 修正対象が属する編集位置または依存ファイル内の位置 | — |
vuln_id |
string | 解消する脆弱性のID | — |
package |
string | 修正対象のパッケージ名 | — |
ecosystem |
string | 修正対象のパッケージの種類 | 省略 |
次のフィールドには補足があります。
location- Composeでは
services.<サービス名>.image kubernetesでは<Kind>/<namespace>/<name>/<container>で、Kindとnameは対応付けたファイル内のオブジェクト、namespaceはワークロードの名前空間kustomizeではimages[<name>].newTaghelm_valuesでは設定したhelm_values.keydockerfileでは0始まりのステージ番号を使うstages[<番号>]で、ステージ名があれば小文字にした名前を:<名前>として付けるlanguageでは依存ファイル内で照合したパッケージの位置で、位置が得られなければ更新対象の依存ファイルのパス
- Composeでは
package- 言語パッケージでは、依存ファイルとの照合に使う正規化後の名前になる場合がある
Helmのvaluesでは、mapping形式・文字列形式ともに設定したキーを使います。
たとえばhelm_values.keyがimageなら、locationはimageとなり、mapping形式でタグを変更する場合もimage.tagにはなりません。
一覧は最大100件です。
全件数はpull_requests[].fix_target_countで確認し、100件を超える場合はpull_requests[].fix_targets_truncatedがtrueになります。
件数は脆弱性IDだけでまとめず、位置とパッケージの違いも区別します。 ベースイメージ更新では、検出されたレイヤーの集合が違う対象も別に数えます。
レイヤー情報はこの配列に出力しないため、見えているフィールドが同じ要素を受信側で重複として除かないでください。
PRの置き換え
pull_requests[].replacing[]の1要素は、古いPRをこのPRで置き換える処理の進行状況を表します。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
old_number |
integer | 置き換える古いPRの番号 | — |
state |
string | 古いPRの置き換え処理の状態 | — |
stateの値は次のとおりです。
| 値 | 意味 |
|---|---|
pending |
置き換えを決め、まだ操作を送っていない |
commented |
古いPRに置き換えを知らせるコメントがある |
closed |
クローズ操作を送ったが、結果の確認が済んでいない |
done |
古いPRを置き換え済みとして記録した |
abandoned |
置き換えの条件を満たさなくなり、処理を打ち切った |
replacing[].stateがclosedでも、クローズの完了確認を表すとは限りません。
replaced[]には、置き換え処理がdoneとなり、古いPRの状態もreplacedと確認された番号が入ります。
置き換えの条件は、古いPRの置き換えを参照してください。
PR処理の例
次の例は、ベースイメージ更新のPRを作成した出力から、集計とPR処理結果を抜粋したものです。
{
"remediation": {
"pull_request_summary": {
"pr_created": 1
},
"pull_requests": [
{
"kind": "dockerfile",
"key": "dockerfile|ex/app|main|docker/Dockerfile|stages[0]:runtime",
"repo": "ex/app",
"base_branch": "main",
"path": "docker/Dockerfile",
"services": ["app"],
"workloads": ["compose/shop/app"],
"current_ref": "python:3.12.3-slim",
"candidate_tag": "3.12.5-slim",
"status": "pr_created",
"number": 7,
"url": "https://github.com/ex/app/pull/7",
"state": "open",
"fix_target_count": 2,
"fix_targets": [
{
"location": "stages[0]:runtime",
"vuln_id": "CVE-2031-0001",
"package": "libc"
},
{
"location": "stages[0]:runtime",
"vuln_id": "CVE-2031-0002",
"package": "libc"
}
]
}
]
}
}
次の例は、言語パッケージ更新のpull_requests[]の1要素から、対象を表すフィールドを抜粋したものです。
{
"kind": "language",
"key": "language|ex/app|main|package-lock.json",
"repo": "ex/app",
"base_branch": "main",
"path": "package-lock.json",
"services": ["api", "web"],
"workloads": ["compose/shop/api", "compose/shop/web"],
"current_ref": ""
}
言語パッケージ更新の内容
pull_requests[].languageは、PRで更新するパッケージと依存ファイルの変更内容を表します。
フィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
manager |
string | 依存ファイルを扱うパッケージマネージャー | — |
root |
string | リポジトリ内の依存ファイルのディレクトリ | — |
packages |
objectの配列 | 更新するパッケージ | [] |
manifest_edits |
objectの配列 | 依存ファイルの版指定の変更 | 省略 |
chain |
objectの配列 | 再解決のためにあわせて更新する直接依存 | 省略 |
remaining |
objectの配列 | PRの更新から除外したパッケージ | 省略 |
managerの値は次のとおりです。
| 値 | 意味 |
|---|---|
npm |
npm |
pnpm |
pnpm |
uv |
uv |
pip |
pip |
go |
Go modules |
maven |
Maven |
gradle |
Gradle |
rootがリポジトリのルートを指す場合は、.です。
対応する依存ファイルの形式は、対応する入力形式を参照してください。
更新するパッケージ
pull_requests[].language.packages[]の1要素のフィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
name |
string | 更新するパッケージ名 | — |
ecosystem |
string | 更新するパッケージの種類 | — |
relation |
string | プロジェクトから見た依存関係の区分 | 省略 |
from |
string | 更新対象のパッケージの稼働版 | — |
to |
string | PRで採用した更新先の版 | — |
major |
boolean | fromからtoへの変更がメジャー版の変更に当たるかどうか |
falseなら省略 |
through |
stringの配列 | このパッケージを更新するためにあわせて更新した直接依存の名前 | 省略 |
relationの値は次のとおりです。
| 値 | 意味 |
|---|---|
direct |
プロジェクトが直接要求する依存 |
transitive |
別のパッケージを経由する依存 |
mixed |
直接依存と別のパッケージを経由する依存が混在 |
次のフィールドには補足があります。
from- 作成済みのPRに対応付けた回は、その回の計画で確認した稼働版
major0.xではマイナー版の変更もtrue- 版を読み取れず比較できない場合も省略するため、省略だけで変更の安全性を判断しない
through- 更新前後の版は、同じ名前の
pull_requests[].language.chain[]で確認する
- 更新前後の版は、同じ名前の
依存ファイルの版指定の変更
pull_requests[].language.manifest_edits[]の1要素のフィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
file |
string | 版指定を書き換えるリポジトリ内のファイルパス | — |
section |
string | 版指定がある依存宣言の区分 | — |
name |
string | 版指定を書き換えるパッケージ名 | — |
from |
string | 変更前の版指定 | — |
to |
string | 変更後の版指定 | — |
major |
boolean | 変更後の版指定が変更前に許していたメジャー版を許さなくなるかどうか | falseなら省略 |
sectionには、dependenciesやproject.dependenciesなど、依存ファイル内の区分が入ります。
fromとtoは^4.17.15のような版指定で、実際に採用した版はpull_requests[].language.packages[].toで確認します。
あわせて更新する直接依存
pull_requests[].language.chain[]の1要素のフィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
name |
string | あわせて更新する直接依存の名前 | — |
from |
string | 直接依存の変更前の版 | "" |
to |
string | 直接依存の変更後の版 | "" |
held |
string | 古い版を指定されていたパッケージ名 | 省略 |
held_range |
string | 更新を妨げていた版指定 | 省略 |
held_by |
string | 直接依存とheldの間で古い版を指定していたパッケージ名 |
省略 |
held_byは、直接依存自身が古い版を指定している場合には省略します。
再解決の条件は、再解決の検査条件を参照してください。
PRの更新から除外したパッケージ
pull_requests[].language.remaining[]の1要素のフィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
name |
string | PRの更新から除外したパッケージ名 | — |
ecosystem |
string | 除外したパッケージの種類 | — |
relation |
string | プロジェクトから見た依存関係の区分 | 省略 |
from |
string | 除外したパッケージの稼働版 | — |
target |
string | 予定していた更新先の下限の版 | "" |
reason |
string | 更新から除外した理由コード | — |
detail |
string | 除外理由を補足する説明文 | 省略 |
maven_bom |
object | 更新先の下限に届くBOMの情報 | 省略 |
作成済みのPRに対応付けた回は、pull_requests[].language.remaining[]から、同じ名前とエコシステムのlanguage_items[].packages[]へ除外情報を補います。
language_items[].update_executedとlanguage_items[].post_update_check_executedがfalseでも、language_items[].packages[]にleft_out: true、action: "manual"、reasonが付く場合があります。
補足があればlanguage_items[].packages[].detail、該当するBOM情報があればlanguage_items[].packages[].maven_bomにも反映します。
global_node_modulesを理由とするパッケージは、この補完の対象外です。
部分的な更新の読み方は、部分PRを参照してください。
除外したパッケージのBOM情報
pull_requests[].language.remaining[].maven_bomのフィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
bom |
string | BOMのgroupId:artifactId |
— |
property |
string | BOMの版を指定するプロパティ名 | 省略 |
from |
string | プロジェクトが取り込んでいるBOMの版 | — |
to |
string | 対象パッケージを更新先の下限以上で管理するBOMの候補版 | — |
manages |
string | toのBOMが管理する対象パッケージの版 |
— |
このオブジェクトは、pull_requests[].language.remaining[].reasonがmaven_bom_series_unreachedで、BOMの候補情報がある場合に出力します。
BOMの版はfromとto、対象パッケージの版はmanagesで区別してください。
候補の意味は、版の出所と書き換えとGradleの版の宣言と書き換えを参照してください。
言語パッケージ更新の例
次の例は、pull_requests[].languageの出力です。
{
"manager": "npm",
"root": ".",
"packages": [
{
"name": "lodash",
"ecosystem": "node-pkg",
"relation": "direct",
"from": "4.17.15",
"to": "4.17.21"
},
{
"name": "minimist",
"ecosystem": "node-pkg",
"relation": "transitive",
"from": "1.2.5",
"to": "1.2.6"
}
],
"manifest_edits": [
{
"file": "package.json",
"section": "dependencies",
"name": "lodash",
"from": "4.17.15",
"to": "4.17.21"
}
]
}
部分PRの例
部分PRは、まとめて更新しようとしたパッケージの一部だけを更新したPRです。
次の例は、部分PRを含むペイロードから主要なフィールドだけを抜粋したものです。 更新できたパッケージと、更新から除外したパッケージの記録先を確認してください。
- 更新できた
example-aは、この例ではlanguage_items[].packages[]だけに記録 - 更新から除外した
example-bは、language_items[].packages[]にleft_out: true付きで、pull_requests[].language.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の成立条件を参照してください。
PR操作イベントのフィールド
operations[]は、まだ配信済みとして記録されていないPR操作イベントを、連番の昇順で出力します。
1つの操作について、送信前の記録、操作結果、後から確認した結果は、それぞれ別のイベントです。
operations[]の1要素のフィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
seq |
integer | 同じPR処理の保存記録内で増加するイベントの連番 | — |
id |
string | 同じ操作の各段階を関連付ける識別子 | — |
at |
string | イベントを記録したUTCのRFC 3339形式の時刻 | — |
phase |
string | 操作のどの段階を記録したイベントかを表す値 | — |
kind |
string | GitHubに対する書き込み操作の種類 | — |
repo |
string | 操作対象リポジトリのowner/name |
— |
attempt_key |
string | 関係するPR作成の試行内容を識別する値 | 省略 |
number |
integer | 操作対象のPR番号 | 0なら省略 |
result |
string | 操作の結果 | 省略 |
error |
string | エラーまたは結果の確認内容を補足する説明文 | 省略 |
phaseの値は次のとおりです。
| 値 | 意味 |
|---|---|
intent |
操作を送る前に、その操作を行う予定を記録した |
result |
操作を送った後に、得られた結果を記録した |
settled |
結果が不明だった操作を後の処理で確認し、扱いを確定した |
kindの値は次のとおりです。
| 値 | 意味 |
|---|---|
create_blob |
Gitのファイル内容を作成する |
create_tree |
Gitのファイル構成を作成する |
create_commit |
コミットを作成する |
create_ref |
PR用のブランチを作成する |
create_pull |
PRを作成する |
create_comment |
PRに置き換えを知らせるコメントを作成する |
close_pull |
置き換え対象のPRをクローズする |
resultの値は次のとおりです。
| 値 | 意味 |
|---|---|
ok |
操作の成功を確認できた |
failed |
操作の失敗または目的の変更が成立していないことを確認した |
unknown |
操作の成否を確定できない |
次のフィールドには補足があります。
seq- リポジトリごとではなく、同じ保存記録を共有するPR処理全体で増加する
- 再送された同じイベントは同じ値を持つ
id- 最初のイベントの連番を使う
op-<連番>形式 - 同じ操作の
intent・result・settledで共通するが、各イベントのseqは異なる
- 最初のイベントの連番を使う
attempt_keypull_requests[].attempt_keyと照合でき、1つの値に複数の操作のidが対応する- 過去の未配信イベントも含むため、その通知の
pull_requests[]に照合先があるとは限らない
number- コメント作成やクローズでは操作対象の番号で、PRを新規作成するイベントでは成功後も省略される場合がある
phaseintentだけでは、GitHubへ操作を送ったことまでは確認できないsettledでも、作成されたか不明なGitのファイル内容・ファイル構成・コミットを使わずにやり直す場合は、resultがunknownのままになる
error- 固定コードではなく説明文で、
settledではresultがokでも確認内容が入る場合がある
- 固定コードではなく説明文で、
受信側でイベントの重複を除くときは、同じ送信元の同じ保存記録に属するseqを使います。
idやattempt_keyだけで重複を除くと、同じ操作の結果や後から確認したイベントを取りこぼします。
seqとidは、保存記録の初期化後に再使用されます。
Webhookには送信元を一意に識別する値や保存記録の初期化を識別する値がなく、environment.kind・environment.nameの一意性も保証されません。
複数の送信元や初期化前後のイベントは、受信データだけでは確実に区別できません。 送信元ごとに受信URLを分け、保存記録を初期化した際に受信側の重複判定の記録を切り替えるなど、運用上の対応が必要です。
配信と再送の扱いは、修正計画の再送を参照してください。
書き込み停止のフィールド
problems[]は、PRの書き込みを停止する問題を表します。
問題が続く間は各回の計画に含まれ、同じ計画ではcode・repo・targetの組み合わせごとに1件となります。
problems[]の1要素のフィールドは次のとおりです。
| フィールド名 | 型 | 意味 | 値がないとき |
|---|---|---|---|
code |
string | 書き込みを停止する問題の分類 | — |
repo |
string | 問題があるリポジトリのowner/name |
全リポジトリに関わる場合は省略 |
target |
string | 問題があるファイルと対象位置を表す表示用文字列 | 対象を限定しない場合は省略 |
reason |
string | 問題の具体的な原因を示す理由コード | 省略 |
detail |
string | 問題の内容を補足する説明文 | 省略 |
codeの値は次のとおりです。
| 値 | 意味 |
|---|---|
write_blocked |
記録とGitHub上の状態の不一致や処理の準備失敗などにより、書き込みを停止した |
storage_failed |
修正計画またはPR処理の記録を保存できず、書き込みを停止した |
storage_full |
操作イベントの保存領域に空きを確保できず、新しい書き込みを停止した |
records_unverified |
PRの記録を確認できず、書き込みを停止した |
codeは問題の大きな分類、reasonはその原因です。
たとえばcodeがwrite_blockedのとき、reasonでbranch_not_oursやattempt_unsettledなどの原因を区別します。
次のフィールドには補足があります。
repo- 値があれば、
pull_requests[].repoと照合する
- 値があれば、
target<ファイルパス> (<対象位置>, <対象位置>)の形式で、対象位置が1つなら括弧内も1つ- ファイルパスは
pull_requests[].path、Compose・Kubernetes・Kustomize・Helmのvalues・Dockerfileの対象位置はpull_requests[].fix_targets[].locationと照らし合わせる - 言語パッケージ更新の対象位置は依存ファイルのディレクトリで、
pull_requests[].language.rootに対応する pull_requests[].keyやpull_requests[].target_keyと完全一致する照合キーではないfix_targetsの省略・切り詰めや処理対象の変化があるため、その通知だけで対応するpull_requests[]の要素を特定できない場合があるrepoがありtargetがなければ、そのリポジトリ全体に関わる問題
停止条件は、書き込みの停止を参照してください。