Skip to content

Commit 705d4c2

Browse files
committed
updates to field filtering rules
1 parent 1827443 commit 705d4c2

2 files changed

Lines changed: 98 additions & 73 deletions

File tree

field_analysis_full/FIELD_CATEGORIZATION.md

Lines changed: 87 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -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

field_analysis_full/field_categories.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,10 @@
566566
// App info
567567
'data.check_run.app.name',
568568
'data.check_run.app.html_url',
569+
570+
// check_suite nested fields (used in message builder)
571+
'data.check_run.check_suite.head_branch',
572+
'data.check_run.check_suite.head_commit.message',
569573
],
570574

571575
'check_suite' => [
@@ -596,6 +600,13 @@
596600
'data.check_suite.pull_requests',
597601
'data.check_suite.pull_requests[].number',
598602
'data.check_suite.pull_requests[].head.ref',
603+
604+
// check_run fields (used as fallback in message builder)
605+
'data.check_run.conclusion',
606+
'data.check_run.name',
607+
'data.check_run.html_url',
608+
'data.check_run.check_suite.head_branch',
609+
'data.check_run.check_suite.head_commit.message',
599610
],
600611

601612
'release' => [

0 commit comments

Comments
 (0)