GitHub
recordFromGitHubPullRequest(
event: GitHubPullRequestEvent,
references?: ArtifactRef[],
details?: GitHubPullRequestDetails
): RecordEventマッパーは、すでに取得済みのデータを受け取ります。
イベントは、名前付きの owner/repository にあるクローズ済み・マージ済みのプルリクエストを表す必要があります。
数値のプルリクエスト識別情報、作成者、タイムスタンプ、head/base ブランチ参照が必要です。
任意の詳細情報には、明示的なコミットとファイルの事実を含めます。
結果の Record は次を使います。
kind: 'github.pull_request.merged'merged_atから取得するoccurred_at- ソース識別情報として、リポジトリとプルリクエストのデータベース ID
recordId('github', 'pull_request', '<pull-request-id>:merged')から得る安定した ID- 呼び出し側が渡した成果物参照を変更せず使用
プルリクエストの作成者は最上位の actor になります。
マージした人が別の場合は、2 人目の actor として追加されます。
GitHub ユーザーの type が正確に Bot である場合はエージェント、それ以外は人に対応付けます。
外部 actor ID の形式は github:<numeric-id> です。
Record の data には、プルリクエスト番号、タイトル、状態、作成者、任意のマージ実行者、作成・更新・マージのタイムスタンプ、head/base の参照と SHA が含まれます。
入力にある場合は、ラベル名、レビューを依頼された actor への参照、url としての html_url、コミット、状態・追加行数・削除行数を伴う変更ファイル名も含みます。
マッパーはイベントと任意の詳細情報を検証してから、createRecord に処理を委ねます。
不正な入力はコード ARTIFACT_INVALID の LangDriftError を送出します。
次の処理は行いません。
- webhook の受信や GitHub API の呼び出し
- GitHub App の認証やインストール
- コミット、ファイル、ユーザー、レビューの取得
- 文章からの Spec や Ticket のリンク抽出
- 影響、Vision Target、Drift の推測
GitHub の事実は Record になります。 Drift Event は、Evidence に裏付けられた、別個の明示的な解釈であり続けます。