@@ -367,57 +367,47 @@ Volume: 4,784 events
367367$push_useful = [
368368 'data.ref', // "refs/heads/branch-name"
369369 'data.before', // before commit SHA
370- 'data.after', // after commit SHA
370+ 'data.after', // after commit SHA (CORRELATION - links to CI)
371371 'data.forced', // forced push?
372372 'data.created', // branch created?
373373 'data.deleted', // branch deleted?
374374 'data.base_ref', // base branch (if PR)
375375 'data.compare', // comparison URL
376376 'data.commits', // array of commits
377+ 'data.commits[].id', // commit SHA (CORRELATION)
377378 'data.commits[].message', // commit message
378379 'data.commits[].author.name', // author name
379380 'data.commits[].author.email', // author email
380381 'data.commits[].added', // files added
381382 'data.commits[].removed', // files removed
382383 'data.commits[].modified', // files modified
383- 'data.head_commit.message', // latest commit message
384- 'data.head_commit.author.name', // author name
384+ 'data.commits[].distinct', // is this a new commit?
385385 'data.pusher.name', // pusher username
386386 'data.pusher.email', // pusher email
387387];
388388```
389389
390+ ** Note** : Commit URLs are constructed from ` https://github.com/{repo}/commit/{commits[].id} `
391+
390392### SKIP
391393``` php
392394$push_skip = [
393- // Commits - URLs and IDs
394- 'data.commits[].id',
395+ // Commits - IDs and metadata (URL is constructed, not stored)
395396 'data.commits[].tree_id',
396- 'data.commits[].distinct',
397397 'data.commits[].timestamp',
398398 'data.commits[].url',
399399 'data.commits[].author.date',
400400 'data.commits[].author.username',
401401 'data.commits[].committer.date',
402402 'data.commits[].committer.username',
403403
404- 'data.head_commit.id',
405- 'data.head_commit.tree_id',
406- 'data.head_commit.distinct',
407- 'data.head_commit.timestamp',
408- 'data.head_commit.url',
409- 'data.head_commit.author.date',
410- 'data.head_commit.author.username',
411- 'data.head_commit.committer.date',
412- 'data.head_commit.committer.username',
404+ // head_commit - entirely skipped (use commits[] array instead)
405+ 'data.head_commit',
413406
414407 // Array markers
415408 'data.commits.added[]',
416409 'data.commits.removed[]',
417410 'data.commits.modified[]',
418- 'data.head_commit.added[]',
419- 'data.head_commit.removed[]',
420- 'data.head_commit.modified[]',
421411
422412 // Organization detail
423413 'data.organization.login',
@@ -665,35 +655,31 @@ Volume: 10,206 events
665655``` php
666656$workflow_run_useful = [
667657 'data.action',
668- 'data.workflow_run.name', // workflow name (e.g., "CI")
669- 'data.workflow_run.head_branch', // branch name
670- 'data.workflow_run.head_sha', // commit SHA
658+ 'data.workflow_run.id', // CORRELATION - links to jobs
659+ 'data.workflow_run.name', // workflow name (e.g., "CI")
660+ 'data.workflow_run.workflow_id',
661+ 'data.workflow_run.head_branch', // branch name
662+ 'data.workflow_run.head_sha', // commit SHA (CORRELATION)
671663 'data.workflow_run.display_title',
672664 'data.workflow_run.run_number',
673- 'data.workflow_run.event', // push, pull_request, etc
674- 'data.workflow_run.status', // queued, in_progress, completed
675- 'data.workflow_run.conclusion', // success, failure, cancelled
676- 'data.workflow_run.html_url', // link to run
665+ 'data.workflow_run.event', // push, pull_request, etc
666+ 'data.workflow_run.status', // queued, in_progress, completed
667+ 'data.workflow_run.conclusion', // success, failure, cancelled
677668 'data.workflow_run.run_attempt',
678669 'data.workflow_run.created_at',
679670 'data.workflow_run.updated_at',
680671 'data.workflow_run.run_started_at',
681- 'data.workflow_run.jobs_url',
682- 'data.workflow_run.actor.login', // who triggered
683- 'data.workflow_run.triggering_actor.login',
684- 'data.workflow_run.head_commit.message',
685672];
686673```
687674
675+ ** Note** : No html_url, jobs_url, or actor info - IDs are sufficient for correlation.
676+
688677### SKIP
689678``` php
690679$workflow_run_skip = [
691- 'data.workflow_run.id',
692- 'data.workflow_run.node_id',
693- 'data.workflow_run.path',
694- 'data.workflow_run.workflow_id',
695- 'data.workflow_run.check_suite_id',
696- 'data.workflow_run.check_suite_node_id',
680+ // URLs - we have IDs for correlation
681+ 'data.workflow_run.html_url',
682+ 'data.workflow_run.jobs_url',
697683 'data.workflow_run.url',
698684 'data.workflow_run.pull_requests',
699685 'data.workflow_run.referenced_workflows',
@@ -704,18 +690,18 @@ $workflow_run_skip = [
704690 'data.workflow_run.cancel_url',
705691 'data.workflow_run.rerun_url',
706692
707- // Actor sub-fields
708- 'data.workflow_run.actor.id',
709- 'data.workflow_run.actor.node_id',
710- 'data.workflow_run.actor.gravatar_id',
711- 'data.workflow_run.actor.url',
712- 'data.workflow_run.actor.followers_url',
713- // ... etc
693+ // IDs and node_ids
694+ 'data.workflow_run.node_id',
695+ 'data.workflow_run.path',
696+ 'data.workflow_run.check_suite_id',
697+ 'data.workflow_run.check_suite_node_id',
714698
715- // Triggering actor sub-fields (same pattern)
716- 'data.workflow_run.triggering_actor.*', // all sub-fields
699+ // Actor info - not needed for workflow notifications
700+ 'data.workflow_run.actor',
701+ 'data.workflow_run.triggering_actor',
717702
718- // Repository, head_repository, head_commit - many nested URL/ID fields
703+ // head_commit - skipped entirely
704+ 'data.workflow_run.head_commit',
719705];
720706```
721707
@@ -728,41 +714,47 @@ Volume: 139,275 events (HIGHEST VOLUME)
728714### USEFUL
729715``` php
730716$workflow_job_useful = [
731- 'data.action', // queued, in_progress, completed, waiting
732- 'data.workflow_job.name', // job name (e.g., "Build", "Test")
733- 'data.workflow_job.workflow_name', // workflow name
734- 'data.workflow_job.head_branch', // branch
735- 'data.workflow_job.status', // queued, in_progress, completed
736- 'data.workflow_job.conclusion', // success, failure, skipped, cancelled
717+ 'data.action', // queued, in_progress, completed, waiting
718+ 'data.workflow_job.id', // CORRELATION
719+ 'data.workflow_job.run_id', // CORRELATION - links to parent workflow_run
720+ 'data.workflow_job.name', // job name (e.g., "Build", "Test")
721+ 'data.workflow_job.workflow_name', // workflow name
722+ 'data.workflow_job.head_branch', // branch
723+ 'data.workflow_job.head_sha', // commit SHA (CORRELATION)
724+ 'data.workflow_job.status', // queued, in_progress, completed
725+ 'data.workflow_job.conclusion', // success, failure, skipped, cancelled
726+ 'data.workflow_job.created_at',
737727 'data.workflow_job.started_at',
738728 'data.workflow_job.completed_at',
739- 'data.workflow_job.html_url', // link to job
740- 'data.workflow_job.runner_name', // "GitHub Actions 123"
741- 'data.workflow_job.labels', // runner labels array
742- 'data.workflow_job.steps', // array of steps
729+ 'data.workflow_job.runner_name', // e.g., "ubuntu-latest"
730+ 'data.workflow_job.labels', // runner labels array
731+ 'data.workflow_job.steps', // array of steps
743732 'data.workflow_job.steps[].name',
744733 'data.workflow_job.steps[].status',
745734 'data.workflow_job.steps[].conclusion',
746735 'data.workflow_job.steps[].number',
747736];
748737```
749738
739+ ** Note** : No html_url, run_url - IDs are sufficient for correlation.
740+
750741### SKIP
751742``` php
752743$workflow_job_skip = [
753- 'data.workflow_job.id',
754- 'data.workflow_job.run_id',
755- 'data.workflow_job.node_id',
756- 'data.workflow_job.head_sha',
744+ // URLs - we have IDs for correlation
745+ 'data.workflow_job.html_url',
757746 'data.workflow_job.run_url',
758- 'data.workflow_job.run_attempt',
759747 'data.workflow_job.url',
760748 'data.workflow_job.check_run_url',
749+
750+ // IDs
751+ 'data.workflow_job.node_id',
752+ 'data.workflow_job.run_attempt',
761753 'data.workflow_job.runner_id',
762754 'data.workflow_job.runner_group_id',
763755 'data.workflow_job.runner_group_name',
764756
765- // Steps - we only care about name/status/conclusion
757+ // Steps - only name/status/conclusion needed (no timestamps)
766758 'data.workflow_job.steps[].started_at',
767759 'data.workflow_job.steps[].completed_at',
768760];
@@ -778,8 +770,10 @@ Volume: 78,700 events
778770``` php
779771$check_run_useful = [
780772 'data.action',
773+ 'data.check_run.id',
781774 'data.check_run.name', // e.g., "ESLint", "Build"
782- 'data.check_run.head_sha',
775+ 'data.check_run.head_sha', // CORRELATION
776+ 'data.check_run.check_suite_id', // CORRELATION - links to suite
783777 'data.check_run.status', // completed
784778 'data.check_run.conclusion', // success, failure, neutral
785779 'data.check_run.started_at',
@@ -788,37 +782,42 @@ $check_run_useful = [
788782 'data.check_run.details_url', // external details URL
789783 'data.check_run.output.title', // check output title
790784 'data.check_run.output.summary', // check output summary
785+ 'data.check_run.output.text',
786+ 'data.check_run.output.annotations_count',
791787 'data.check_run.app.name', // GitHub App name
788+ 'data.check_run.app.html_url',
789+
790+ // check_suite nested fields (needed for message builder fallback)
791+ 'data.check_run.check_suite.head_branch',
792+ 'data.check_run.check_suite.head_commit.message',
792793];
793794```
794795
795796### SKIP
796797``` php
797798$check_run_skip = [
798- 'data.check_run.id',
799799 'data.check_run.node_id',
800800 'data.check_run.external_id',
801801 'data.check_run.url',
802- 'data.check_run.output.text',
803- 'data.check_run.output.annotations_count',
804802 'data.check_run.output.annotations_url',
805803
806- // check_suite nested - many URL/ID fields
804+ // check_suite nested - most fields skipped
807805 'data.check_run.check_suite.id',
808806 'data.check_run.check_suite.node_id',
809- // ... etc
807+ 'data.check_run.check_suite.head_sha',
808+ 'data.check_run.check_suite.status',
809+ 'data.check_run.check_suite.conclusion',
810+ 'data.check_run.check_suite.app',
810811
811812 // App sub-fields
812813 'data.check_run.app.id',
813814 'data.check_run.app.client_id',
814815 'data.check_run.app.slug',
815816 'data.check_run.app.node_id',
816- 'data.check_run.app.html_url',
817817 'data.check_run.app.created_at',
818818 'data.check_run.app.updated_at',
819819 'data.check_run.app.permissions',
820820 'data.check_run.app.events',
821- // etc
822821];
823822```
824823
@@ -832,21 +831,34 @@ Volume: 5,694 events
832831``` php
833832$check_suite_useful = [
834833 'data.action',
834+ 'data.check_suite.id', // CORRELATION
835835 'data.check_suite.head_branch',
836- 'data.check_suite.head_sha',
836+ 'data.check_suite.head_sha', // CORRELATION
837837 'data.check_suite.status',
838838 'data.check_suite.conclusion',
839839 'data.check_suite.html_url',
840- 'data.check_suite.app.name', // GitHub App
840+ 'data.check_suite.app.name', // GitHub App
841841 'data.check_suite.head_commit.message',
842+ 'data.check_suite.head_commit.author.name',
843+
844+ // Pull requests
845+ 'data.check_suite.pull_requests',
846+ 'data.check_suite.pull_requests[].number',
847+ 'data.check_suite.pull_requests[].head.ref',
848+
849+ // check_run fields (needed for message builder fallback)
850+ 'data.check_run.conclusion',
851+ 'data.check_run.name',
852+ 'data.check_run.html_url',
853+ 'data.check_run.check_suite.head_branch',
854+ 'data.check_run.check_suite.head_commit.message',
842855];
843856```
844857
845858### SKIP
846859``` php
847860$check_suite_skip = [
848861 // Most check_suite fields are URLs, IDs, permissions
849- 'data.check_suite.id',
850862 'data.check_suite.node_id',
851863 'data.check_suite.url',
852864 'data.check_suite.before',
@@ -1287,7 +1299,7 @@ $repository_useful = [
12871299 'data.repository.full_name',
12881300 'data.repository.html_url',
12891301 'data.repository.description',
1290- 'data.repository. homepage',
1302+ // NOTE: homepage removed per user request
12911303 'data.repository.default_branch',
12921304
12931305 // For edited action
@@ -1301,6 +1313,8 @@ $repository_useful = [
13011313];
13021314```
13031315
1316+ ** Note** : Only ` full_name ` is typically needed for repo identity, html_url is kept for editing events.
1317+
13041318---
13051319
13061320## SUMMARY: Priority Field Categories
0 commit comments