Skip to content

Burndown chart cannot reliably show past review state of GitHub pull requests

Created by: mrnugget

We realized today that GitHub updates its original PullRequestReview events and their state.

That means if the original timeline was this:

  1. t0 - github.PullRequestReview{STATE: APPROVED}

As soon as this review is dismissed, we have these events in the database:

  1. t0 - github.PullRequestReview{STATE: DISMISSED}
  2. t1 - github.ReviewDismissedEvent

That means we cannot then say what the review state was at t0.


Here's a dump of different changeset_events in the database after receiving all these events:

# SELECT id, kind, created_at, updated_at, metadata, metadata->'UpdatedAt' AS external_updated_at, metadata->'CreatedAt' AS external_created_at FROM changeset_events where changeset_id = 4 ORDER BY id;

-[ RECORD 1 ]-------+--
id                  | 2474
kind                | github:commit
created_at          | 2020-03-13 08:03:26.226281-07
updated_at          | 2020-03-13 08:31:03.885373-07
metadata            | {"Commit": {"OID": "b994b3c1abac9cffb9f25dcb6ac93a5a9f1edde0", "Status": {"State": "", "Contexts": null}, "CheckSuites": {"Nodes": []}, "CommittedDate": "2020-03-13T15:03:06Z"}}
external_updated_at | [NULL]
external_created_at | [NULL]
-[ RECORD 2 ]-------+--
id                  | 2475
kind                | github:reviewed
created_at          | 2020-03-13 08:04:37.517605-07
updated_at          | 2020-03-13 08:31:03.885373-07
metadata            | {"URL": "https://github.com/sourcegraph-testing/prometheus-redefinitions/pull/1#pullrequestreview-374373626", "Body": "", "State": "DISMISSED", "Author": {"URL": "https://github.com/eseliger", "Login": "eseliger", "AvatarURL": "https://avatars0.githubusercontent.com/u/19534377?v=4"}, "Commit": {"OID": "b994b3c1abac9cffb9f25dcb6ac93a5a9f1edde0", "URL": "https://github.com/sourcegraph-testing/prometheus-redefinitions/commit/b994b3c1abac9cffb9f25dcb6ac93a5a9f1edde0", "Message": "Update docs.", "Committer": {"Name": "GitHub", "Email": "[email protected]", "AvatarURL": "https://avatars3.githubusercontent.com/u/19864447?v=4"}, "PushedDate": "2020-03-13T15:03:07Z", "CommittedDate": "2020-03-13T15:03:06Z", "MessageHeadline": "Update docs."}, "CreatedAt": "2020-03-13T15:04:36Z", "UpdatedAt": "2020-03-13T15:04:54Z", "DatabaseID": 374373626, "AuthorAssociation": "MEMBER", "IncludesCreatedEdit": false}
external_updated_at | "2020-03-13T15:04:54Z"
external_created_at | "2020-03-13T15:04:36Z"
-[ RECORD 3 ]-------+--
id                  | 2477
kind                | github:reviewed
created_at          | 2020-03-13 08:05:06.949251-07
updated_at          | 2020-03-13 08:31:03.885373-07
metadata            | {"URL": "https://github.com/sourcegraph-testing/prometheus-redefinitions/pull/1#pullrequestreview-374374011", "Body": "nono", "State": "CHANGES_REQUESTED", "Author": {"URL": "https://github.com/eseliger", "Login": "eseliger", "AvatarURL": "https://avatars0.githubusercontent.com/u/19534377?v=4"}, "Commit": {"OID": "b994b3c1abac9cffb9f25dcb6ac93a5a9f1edde0", "URL": "https://github.com/sourcegraph-testing/prometheus-redefinitions/commit/b994b3c1abac9cffb9f25dcb6ac93a5a9f1edde0", "Message": "Update docs.", "Committer": {"Name": "GitHub", "Email": "[email protected]", "AvatarURL": "https://avatars3.githubusercontent.com/u/19864447?v=4"}, "PushedDate": "2020-03-13T15:03:07Z", "CommittedDate": "2020-03-13T15:03:06Z", "MessageHeadline": "Update docs."}, "CreatedAt": "2020-03-13T15:05:06Z", "UpdatedAt": "2020-03-13T15:05:06Z", "DatabaseID": 374374011, "AuthorAssociation": "MEMBER", "IncludesCreatedEdit": false}
external_updated_at | "2020-03-13T15:05:06Z"
external_created_at | "2020-03-13T15:05:06Z"
-[ RECORD 4 ]-------+--
id                  | 2478
kind                | github:closed
created_at          | 2020-03-13 08:05:18.814182-07
updated_at          | 2020-03-13 08:31:03.885373-07
metadata            | {"URL": "https://github.com/sourcegraph-testing/prometheus-redefinitions/pull/1#event-3127087638", "Actor": {"URL": "https://github.com/eseliger", "Login": "eseliger", "AvatarURL": "https://avatars0.githubusercontent.com/u/19534377?v=4"}, "CreatedAt": "2020-03-13T15:05:17Z"}
external_updated_at | [NULL]
external_created_at | "2020-03-13T15:05:17Z"
-[ RECORD 5 ]-------+--
id                  | 2479
kind                | github:reopened
created_at          | 2020-03-13 08:05:26.56803-07
updated_at          | 2020-03-13 08:31:03.885373-07
metadata            | {"Actor": {"URL": "https://github.com/eseliger", "Login": "eseliger", "AvatarURL": "https://avatars0.githubusercontent.com/u/19534377?v=4"}, "CreatedAt": "2020-03-13T15:05:25Z"}
external_updated_at | [NULL]
external_created_at | "2020-03-13T15:05:25Z"
-[ RECORD 6 ]-------+--
id                  | 2482
kind                | github:review_dismissed
created_at          | 2020-03-13 08:05:26.806523-07
updated_at          | 2020-03-13 08:31:03.885373-07
metadata            | {"Actor": {"URL": "https://github.com/eseliger", "Login": "eseliger", "AvatarURL": "https://avatars0.githubusercontent.com/u/19534377?v=4"}, "Review": {"URL": "https://github.com/sourcegraph-testing/prometheus-redefinitions/pull/1#pullrequestreview-374373626", "Body": "", "State": "DISMISSED", "Author": {"URL": "https://github.com/eseliger", "Login": "eseliger", "AvatarURL": "https://avatars0.githubusercontent.com/u/19534377?v=4"}, "Commit": {"OID": "b994b3c1abac9cffb9f25dcb6ac93a5a9f1edde0", "URL": "https://github.com/sourcegraph-testing/prometheus-redefinitions/commit/b994b3c1abac9cffb9f25dcb6ac93a5a9f1edde0", "Message": "Update docs.", "Committer": {"Name": "GitHub", "Email": "[email protected]", "AvatarURL": "https://avatars3.githubusercontent.com/u/19864447?v=4"}, "PushedDate": "2020-03-13T15:03:07Z", "CommittedDate": "2020-03-13T15:03:06Z", "MessageHeadline": "Update docs."}, "CreatedAt": "2020-03-13T15:04:36Z", "UpdatedAt": "2020-03-13T15:04:54Z", "DatabaseID": 374373626, "AuthorAssociation": "MEMBER", "IncludesCreatedEdit": false}, "CreatedAt": "2020-03-13T15:04:54Z", "DismissalMessage": "kk"}
external_updated_at | [NULL]
external_created_at | "2020-03-13T15:04:54Z"