readthedocs / readthedocs.org

The source code that powers readthedocs.org
https://readthedocs.org/
MIT License
8.04k stars 3.58k forks source link

Possible GitHub Webhook integration regression following 10.11.0 release #10902

Closed jcfr closed 12 months ago

jcfr commented 12 months ago

Details

Actual vs Expected Result

Looks like following the release of 10.11.0 integrating https://github.com/readthedocs/readthedocs.org/commit/55511b40ddcd6414183759db58eccc2907a7a3a8, existing GitHub integrations like the one of the slicer project are failing to process incoming payload associated with pull-request.

I wasn't able to confirm with this also applies to branch update (e.g integration into main)

GitHub incoming webhook payloads PayLoad details
image image

To further illustrate, here is the pull-request payload corresponding to https://github.com/Slicer/Slicer/pull/7389 where id and node_id were replaced with placeholders.

Incoming GitHub Payload:
{
  "action": "opened",
  "number": 7389,
  "organization": {
    "avatar_url": "https://avatars.githubusercontent.com/u/324362?v=4",
    "description": "Multi-platform, free and open source software package for visualization and medical image computing.",
    "events_url": "https://api.github.com/orgs/Slicer/events",
    "hooks_url": "https://api.github.com/orgs/Slicer/hooks",
    "id": 000000,
    "issues_url": "https://api.github.com/orgs/Slicer/issues",
    "login": "Slicer",
    "members_url": "https://api.github.com/orgs/Slicer/members{/member}",
    "node_id": "XXXXXXXXXXXXXXXXX==",
    "public_members_url": "https://api.github.com/orgs/Slicer/public_members{/member}",
    "repos_url": "https://api.github.com/orgs/Slicer/repos",
    "url": "https://api.github.com/orgs/Slicer"
  },
  "pull_request": {
    "_links": {
      "comments": {
        "href": "https://api.github.com/repos/Slicer/Slicer/issues/7389/comments"
      },
      "commits": {
        "href": "https://api.github.com/repos/Slicer/Slicer/pulls/7389/commits"
      },
      "html": {
        "href": "https://github.com/Slicer/Slicer/pull/7389"
      },
      "issue": {
        "href": "https://api.github.com/repos/Slicer/Slicer/issues/7389"
      },
      "review_comment": {
        "href": "https://api.github.com/repos/Slicer/Slicer/pulls/comments{/number}"
      },
      "review_comments": {
        "href": "https://api.github.com/repos/Slicer/Slicer/pulls/7389/comments"
      },
      "self": {
        "href": "https://api.github.com/repos/Slicer/Slicer/pulls/7389"
      },
      "statuses": {
        "href": "https://api.github.com/repos/Slicer/Slicer/statuses/7938b372f34a21bf5cad48356a87af47dc0e8756"
      }
    },
    "active_lock_reason": null,
    "additions": 1,
    "assignee": null,
    "assignees": [],
    "author_association": "MEMBER",
    "auto_merge": null,
    "base": {
      "label": "Slicer:main",
      "ref": "main",
      "repo": {
        "allow_auto_merge": true,
        "allow_forking": true,
        "allow_merge_commit": false,
        "allow_rebase_merge": true,
        "allow_squash_merge": true,
        "allow_update_branch": false,
        "archive_url": "https://api.github.com/repos/Slicer/Slicer/{archive_format}{/ref}",
        "archived": false,
        "assignees_url": "https://api.github.com/repos/Slicer/Slicer/assignees{/user}",
        "blobs_url": "https://api.github.com/repos/Slicer/Slicer/git/blobs{/sha}",
        "branches_url": "https://api.github.com/repos/Slicer/Slicer/branches{/branch}",
        "clone_url": "https://github.com/Slicer/Slicer.git",
        "collaborators_url": "https://api.github.com/repos/Slicer/Slicer/collaborators{/collaborator}",
        "comments_url": "https://api.github.com/repos/Slicer/Slicer/comments{/number}",
        "commits_url": "https://api.github.com/repos/Slicer/Slicer/commits{/sha}",
        "compare_url": "https://api.github.com/repos/Slicer/Slicer/compare/{base}...{head}",
        "contents_url": "https://api.github.com/repos/Slicer/Slicer/contents/{+path}",
        "contributors_url": "https://api.github.com/repos/Slicer/Slicer/contributors",
        "created_at": "2020-03-12T22:13:53Z",
        "default_branch": "main",
        "delete_branch_on_merge": true,
        "deployments_url": "https://api.github.com/repos/Slicer/Slicer/deployments",
        "description": "Multi-platform, free open source software for visualization and image computing.",
        "disabled": false,
        "downloads_url": "https://api.github.com/repos/Slicer/Slicer/downloads",
        "events_url": "https://api.github.com/repos/Slicer/Slicer/events",
        "fork": false,
        "forks": 471,
        "forks_count": 471,
        "forks_url": "https://api.github.com/repos/Slicer/Slicer/forks",
        "full_name": "Slicer/Slicer",
        "git_commits_url": "https://api.github.com/repos/Slicer/Slicer/git/commits{/sha}",
        "git_refs_url": "https://api.github.com/repos/Slicer/Slicer/git/refs{/sha}",
        "git_tags_url": "https://api.github.com/repos/Slicer/Slicer/git/tags{/sha}",
        "git_url": "git://github.com/Slicer/Slicer.git",
        "has_discussions": false,
        "has_downloads": true,
        "has_issues": true,
        "has_pages": false,
        "has_projects": false,
        "has_wiki": true,
        "homepage": "https://www.slicer.org",
        "hooks_url": "https://api.github.com/repos/Slicer/Slicer/hooks",
        "html_url": "https://github.com/Slicer/Slicer",
        "id": 000000,
        "is_template": false,
        "issue_comment_url": "https://api.github.com/repos/Slicer/Slicer/issues/comments{/number}",
        "issue_events_url": "https://api.github.com/repos/Slicer/Slicer/issues/events{/number}",
        "issues_url": "https://api.github.com/repos/Slicer/Slicer/issues{/number}",
        "keys_url": "https://api.github.com/repos/Slicer/Slicer/keys{/key_id}",
        "labels_url": "https://api.github.com/repos/Slicer/Slicer/labels{/name}",
        "language": "C++",
        "languages_url": "https://api.github.com/repos/Slicer/Slicer/languages",
        "license": {
          "key": "other",
          "name": "Other",
          "node_id": "XXXXXXXXXXXXXXXXX=",
          "spdx_id": "NOASSERTION",
          "url": null
        },
        "merge_commit_message": "PR_TITLE",
        "merge_commit_title": "MERGE_MESSAGE",
        "merges_url": "https://api.github.com/repos/Slicer/Slicer/merges",
        "milestones_url": "https://api.github.com/repos/Slicer/Slicer/milestones{/number}",
        "mirror_url": null,
        "name": "Slicer",
        "node_id": "XXXXXXXXXXXXXXXXX=",
        "notifications_url": "https://api.github.com/repos/Slicer/Slicer/notifications{?since,all,participating}",
        "open_issues": 566,
        "open_issues_count": 566,
        "owner": {
          "avatar_url": "https://avatars.githubusercontent.com/u/324362?v=4",
          "events_url": "https://api.github.com/users/Slicer/events{/privacy}",
          "followers_url": "https://api.github.com/users/Slicer/followers",
          "following_url": "https://api.github.com/users/Slicer/following{/other_user}",
          "gists_url": "https://api.github.com/users/Slicer/gists{/gist_id}",
          "gravatar_id": "",
          "html_url": "https://github.com/Slicer",
          "id": 000000,
          "login": "Slicer",
          "node_id": "XXXXXXXXXXXXXXXXX==",
          "organizations_url": "https://api.github.com/users/Slicer/orgs",
          "received_events_url": "https://api.github.com/users/Slicer/received_events",
          "repos_url": "https://api.github.com/users/Slicer/repos",
          "site_admin": false,
          "starred_url": "https://api.github.com/users/Slicer/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/Slicer/subscriptions",
          "type": "Organization",
          "url": "https://api.github.com/users/Slicer"
        },
        "private": false,
        "pulls_url": "https://api.github.com/repos/Slicer/Slicer/pulls{/number}",
        "pushed_at": "2023-11-14T18:53:41Z",
        "releases_url": "https://api.github.com/repos/Slicer/Slicer/releases{/id}",
        "size": 122548,
        "squash_merge_commit_message": "COMMIT_MESSAGES",
        "squash_merge_commit_title": "COMMIT_OR_PR_TITLE",
        "ssh_url": "git@github.com:Slicer/Slicer.git",
        "stargazers_count": 1242,
        "stargazers_url": "https://api.github.com/repos/Slicer/Slicer/stargazers",
        "statuses_url": "https://api.github.com/repos/Slicer/Slicer/statuses/{sha}",
        "subscribers_url": "https://api.github.com/repos/Slicer/Slicer/subscribers",
        "subscription_url": "https://api.github.com/repos/Slicer/Slicer/subscription",
        "svn_url": "https://github.com/Slicer/Slicer",
        "tags_url": "https://api.github.com/repos/Slicer/Slicer/tags",
        "teams_url": "https://api.github.com/repos/Slicer/Slicer/teams",
        "topics": [
          "3d-printing",
          "3d-slicer",
          "c-plus-plus",
          "computed-tomography",
          "image-guided-therapy",
          "image-processing",
          "itk",
          "kitware",
          "medical-image-computing",
          "medical-imaging",
          "national-institutes-of-health",
          "neuroimaging",
          "nih",
          "python",
          "qt",
          "registration",
          "segmentation",
          "tcia-dac",
          "tractography",
          "vtk"
        ],
        "trees_url": "https://api.github.com/repos/Slicer/Slicer/git/trees{/sha}",
        "updated_at": "2023-11-14T14:14:17Z",
        "url": "https://api.github.com/repos/Slicer/Slicer",
        "use_squash_pr_title_as_default": false,
        "visibility": "public",
        "watchers": 1242,
        "watchers_count": 1242,
        "web_commit_signoff_required": false
      },
      "sha": "117efba13c52aa3f1d3e43472929071b1ef79f16",
      "user": {
        "avatar_url": "https://avatars.githubusercontent.com/u/324362?v=4",
        "events_url": "https://api.github.com/users/Slicer/events{/privacy}",
        "followers_url": "https://api.github.com/users/Slicer/followers",
        "following_url": "https://api.github.com/users/Slicer/following{/other_user}",
        "gists_url": "https://api.github.com/users/Slicer/gists{/gist_id}",
        "gravatar_id": "",
        "html_url": "https://github.com/Slicer",
        "id": 000000,
        "login": "Slicer",
        "node_id": "XXXXXXXXXXXXXXXXX==",
        "organizations_url": "https://api.github.com/users/Slicer/orgs",
        "received_events_url": "https://api.github.com/users/Slicer/received_events",
        "repos_url": "https://api.github.com/users/Slicer/repos",
        "site_admin": false,
        "starred_url": "https://api.github.com/users/Slicer/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/Slicer/subscriptions",
        "type": "Organization",
        "url": "https://api.github.com/users/Slicer"
      }
    },
    "body": "This clarifies instructions describing how to use Qt universal installer.",
    "changed_files": 1,
    "closed_at": null,
    "comments": 0,
    "comments_url": "https://api.github.com/repos/Slicer/Slicer/issues/7389/comments",
    "commits": 1,
    "commits_url": "https://api.github.com/repos/Slicer/Slicer/pulls/7389/commits",
    "created_at": "2023-11-14T18:53:40Z",
    "deletions": 1,
    "diff_url": "https://github.com/Slicer/Slicer/pull/7389.diff",
    "draft": false,
    "head": {
      "label": "jcfr:ungi-update-qt-installer-steps-in-windows-build-instructions",
      "ref": "ungi-update-qt-installer-steps-in-windows-build-instructions",
      "repo": {
        "allow_auto_merge": false,
        "allow_forking": true,
        "allow_merge_commit": true,
        "allow_rebase_merge": true,
        "allow_squash_merge": true,
        "allow_update_branch": false,
        "archive_url": "https://api.github.com/repos/jcfr/Slicer/{archive_format}{/ref}",
        "archived": false,
        "assignees_url": "https://api.github.com/repos/jcfr/Slicer/assignees{/user}",
        "blobs_url": "https://api.github.com/repos/jcfr/Slicer/git/blobs{/sha}",
        "branches_url": "https://api.github.com/repos/jcfr/Slicer/branches{/branch}",
        "clone_url": "https://github.com/jcfr/Slicer.git",
        "collaborators_url": "https://api.github.com/repos/jcfr/Slicer/collaborators{/collaborator}",
        "comments_url": "https://api.github.com/repos/jcfr/Slicer/comments{/number}",
        "commits_url": "https://api.github.com/repos/jcfr/Slicer/commits{/sha}",
        "compare_url": "https://api.github.com/repos/jcfr/Slicer/compare/{base}...{head}",
        "contents_url": "https://api.github.com/repos/jcfr/Slicer/contents/{+path}",
        "contributors_url": "https://api.github.com/repos/jcfr/Slicer/contributors",
        "created_at": "2020-03-13T02:04:59Z",
        "default_branch": "master",
        "delete_branch_on_merge": true,
        "deployments_url": "https://api.github.com/repos/jcfr/Slicer/deployments",
        "description": "Multi-platform, free open source software for visualization and image computing.",
        "disabled": false,
        "downloads_url": "https://api.github.com/repos/jcfr/Slicer/downloads",
        "events_url": "https://api.github.com/repos/jcfr/Slicer/events",
        "fork": true,
        "forks": 1,
        "forks_count": 1,
        "forks_url": "https://api.github.com/repos/jcfr/Slicer/forks",
        "full_name": "jcfr/Slicer",
        "git_commits_url": "https://api.github.com/repos/jcfr/Slicer/git/commits{/sha}",
        "git_refs_url": "https://api.github.com/repos/jcfr/Slicer/git/refs{/sha}",
        "git_tags_url": "https://api.github.com/repos/jcfr/Slicer/git/tags{/sha}",
        "git_url": "git://github.com/jcfr/Slicer.git",
        "has_discussions": false,
        "has_downloads": true,
        "has_issues": false,
        "has_pages": false,
        "has_projects": false,
        "has_wiki": false,
        "homepage": "https://www.slicer.org",
        "hooks_url": "https://api.github.com/repos/jcfr/Slicer/hooks",
        "html_url": "https://github.com/jcfr/Slicer",
        "id": 000000,
        "is_template": false,
        "issue_comment_url": "https://api.github.com/repos/jcfr/Slicer/issues/comments{/number}",
        "issue_events_url": "https://api.github.com/repos/jcfr/Slicer/issues/events{/number}",
        "issues_url": "https://api.github.com/repos/jcfr/Slicer/issues{/number}",
        "keys_url": "https://api.github.com/repos/jcfr/Slicer/keys{/key_id}",
        "labels_url": "https://api.github.com/repos/jcfr/Slicer/labels{/name}",
        "language": null,
        "languages_url": "https://api.github.com/repos/jcfr/Slicer/languages",
        "license": {
          "key": "other",
          "name": "Other",
          "node_id": "XXXXXXXXXXXXXXXXX=",
          "spdx_id": "NOASSERTION",
          "url": null
        },
        "merge_commit_message": "PR_TITLE",
        "merge_commit_title": "MERGE_MESSAGE",
        "merges_url": "https://api.github.com/repos/jcfr/Slicer/merges",
        "milestones_url": "https://api.github.com/repos/jcfr/Slicer/milestones{/number}",
        "mirror_url": null,
        "name": "Slicer",
        "node_id": "XXXXXXXXXXXXXXXXX=",
        "notifications_url": "https://api.github.com/repos/jcfr/Slicer/notifications{?since,all,participating}",
        "open_issues": 0,
        "open_issues_count": 0,
        "owner": {
          "avatar_url": "https://avatars.githubusercontent.com/u/219043?v=4",
          "events_url": "https://api.github.com/users/jcfr/events{/privacy}",
          "followers_url": "https://api.github.com/users/jcfr/followers",
          "following_url": "https://api.github.com/users/jcfr/following{/other_user}",
          "gists_url": "https://api.github.com/users/jcfr/gists{/gist_id}",
          "gravatar_id": "",
          "html_url": "https://github.com/jcfr",
          "id": 000000,
          "login": "jcfr",
          "node_id": "XXXXXXXXXXXXXXXXX==",
          "organizations_url": "https://api.github.com/users/jcfr/orgs",
          "received_events_url": "https://api.github.com/users/jcfr/received_events",
          "repos_url": "https://api.github.com/users/jcfr/repos",
          "site_admin": false,
          "starred_url": "https://api.github.com/users/jcfr/starred{/owner}{/repo}",
          "subscriptions_url": "https://api.github.com/users/jcfr/subscriptions",
          "type": "User",
          "url": "https://api.github.com/users/jcfr"
        },
        "private": false,
        "pulls_url": "https://api.github.com/repos/jcfr/Slicer/pulls{/number}",
        "pushed_at": "2023-11-14T18:53:25Z",
        "releases_url": "https://api.github.com/repos/jcfr/Slicer/releases{/id}",
        "size": 122984,
        "squash_merge_commit_message": "COMMIT_MESSAGES",
        "squash_merge_commit_title": "COMMIT_OR_PR_TITLE",
        "ssh_url": "git@github.com:jcfr/Slicer.git",
        "stargazers_count": 0,
        "stargazers_url": "https://api.github.com/repos/jcfr/Slicer/stargazers",
        "statuses_url": "https://api.github.com/repos/jcfr/Slicer/statuses/{sha}",
        "subscribers_url": "https://api.github.com/repos/jcfr/Slicer/subscribers",
        "subscription_url": "https://api.github.com/repos/jcfr/Slicer/subscription",
        "svn_url": "https://github.com/jcfr/Slicer",
        "tags_url": "https://api.github.com/repos/jcfr/Slicer/tags",
        "teams_url": "https://api.github.com/repos/jcfr/Slicer/teams",
        "topics": [],
        "trees_url": "https://api.github.com/repos/jcfr/Slicer/git/trees{/sha}",
        "updated_at": "2020-03-13T02:05:01Z",
        "url": "https://api.github.com/repos/jcfr/Slicer",
        "use_squash_pr_title_as_default": false,
        "visibility": "public",
        "watchers": 0,
        "watchers_count": 0,
        "web_commit_signoff_required": false
      },
      "sha": "7938b372f34a21bf5cad48356a87af47dc0e8756",
      "user": {
        "avatar_url": "https://avatars.githubusercontent.com/u/219043?v=4",
        "events_url": "https://api.github.com/users/jcfr/events{/privacy}",
        "followers_url": "https://api.github.com/users/jcfr/followers",
        "following_url": "https://api.github.com/users/jcfr/following{/other_user}",
        "gists_url": "https://api.github.com/users/jcfr/gists{/gist_id}",
        "gravatar_id": "",
        "html_url": "https://github.com/jcfr",
        "id": 000000,
        "login": "jcfr",
        "node_id": "XXXXXXXXXXXXXXXXX==",
        "organizations_url": "https://api.github.com/users/jcfr/orgs",
        "received_events_url": "https://api.github.com/users/jcfr/received_events",
        "repos_url": "https://api.github.com/users/jcfr/repos",
        "site_admin": false,
        "starred_url": "https://api.github.com/users/jcfr/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/jcfr/subscriptions",
        "type": "User",
        "url": "https://api.github.com/users/jcfr"
      }
    },
    "html_url": "https://github.com/Slicer/Slicer/pull/7389",
    "id": 000000,
    "issue_url": "https://api.github.com/repos/Slicer/Slicer/issues/7389",
    "labels": [],
    "locked": false,
    "maintainer_can_modify": true,
    "merge_commit_sha": null,
    "mergeable": null,
    "mergeable_state": "unknown",
    "merged": false,
    "merged_at": null,
    "merged_by": null,
    "milestone": null,
    "node_id": "PR_XXXXXXXXXXXXXXXXX",
    "number": 7389,
    "patch_url": "https://github.com/Slicer/Slicer/pull/7389.patch",
    "rebaseable": null,
    "requested_reviewers": [],
    "requested_teams": [],
    "review_comment_url": "https://api.github.com/repos/Slicer/Slicer/pulls/comments{/number}",
    "review_comments": 0,
    "review_comments_url": "https://api.github.com/repos/Slicer/Slicer/pulls/7389/comments",
    "state": "open",
    "statuses_url": "https://api.github.com/repos/Slicer/Slicer/statuses/7938b372f34a21bf5cad48356a87af47dc0e8756",
    "title": "DOC: Clarify steps for installing Qt in windows build instructions",
    "updated_at": "2023-11-14T18:53:40Z",
    "url": "https://api.github.com/repos/Slicer/Slicer/pulls/7389",
    "user": {
      "avatar_url": "https://avatars.githubusercontent.com/u/219043?v=4",
      "events_url": "https://api.github.com/users/jcfr/events{/privacy}",
      "followers_url": "https://api.github.com/users/jcfr/followers",
      "following_url": "https://api.github.com/users/jcfr/following{/other_user}",
      "gists_url": "https://api.github.com/users/jcfr/gists{/gist_id}",
      "gravatar_id": "",
      "html_url": "https://github.com/jcfr",
      "id": 000000,
      "login": "jcfr",
      "node_id": "XXXXXXXXXXXXXXXXX==",
      "organizations_url": "https://api.github.com/users/jcfr/orgs",
      "received_events_url": "https://api.github.com/users/jcfr/received_events",
      "repos_url": "https://api.github.com/users/jcfr/repos",
      "site_admin": false,
      "starred_url": "https://api.github.com/users/jcfr/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/jcfr/subscriptions",
      "type": "User",
      "url": "https://api.github.com/users/jcfr"
    }
  },
  "repository": {
    "allow_forking": true,
    "archive_url": "https://api.github.com/repos/Slicer/Slicer/{archive_format}{/ref}",
    "archived": false,
    "assignees_url": "https://api.github.com/repos/Slicer/Slicer/assignees{/user}",
    "blobs_url": "https://api.github.com/repos/Slicer/Slicer/git/blobs{/sha}",
    "branches_url": "https://api.github.com/repos/Slicer/Slicer/branches{/branch}",
    "clone_url": "https://github.com/Slicer/Slicer.git",
    "collaborators_url": "https://api.github.com/repos/Slicer/Slicer/collaborators{/collaborator}",
    "comments_url": "https://api.github.com/repos/Slicer/Slicer/comments{/number}",
    "commits_url": "https://api.github.com/repos/Slicer/Slicer/commits{/sha}",
    "compare_url": "https://api.github.com/repos/Slicer/Slicer/compare/{base}...{head}",
    "contents_url": "https://api.github.com/repos/Slicer/Slicer/contents/{+path}",
    "contributors_url": "https://api.github.com/repos/Slicer/Slicer/contributors",
    "created_at": "2020-03-12T22:13:53Z",
    "custom_properties": {},
    "default_branch": "main",
    "deployments_url": "https://api.github.com/repos/Slicer/Slicer/deployments",
    "description": "Multi-platform, free open source software for visualization and image computing.",
    "disabled": false,
    "downloads_url": "https://api.github.com/repos/Slicer/Slicer/downloads",
    "events_url": "https://api.github.com/repos/Slicer/Slicer/events",
    "fork": false,
    "forks": 471,
    "forks_count": 471,
    "forks_url": "https://api.github.com/repos/Slicer/Slicer/forks",
    "full_name": "Slicer/Slicer",
    "git_commits_url": "https://api.github.com/repos/Slicer/Slicer/git/commits{/sha}",
    "git_refs_url": "https://api.github.com/repos/Slicer/Slicer/git/refs{/sha}",
    "git_tags_url": "https://api.github.com/repos/Slicer/Slicer/git/tags{/sha}",
    "git_url": "git://github.com/Slicer/Slicer.git",
    "has_discussions": false,
    "has_downloads": true,
    "has_issues": true,
    "has_pages": false,
    "has_projects": false,
    "has_wiki": true,
    "homepage": "https://www.slicer.org",
    "hooks_url": "https://api.github.com/repos/Slicer/Slicer/hooks",
    "html_url": "https://github.com/Slicer/Slicer",
    "id": 000000,
    "is_template": false,
    "issue_comment_url": "https://api.github.com/repos/Slicer/Slicer/issues/comments{/number}",
    "issue_events_url": "https://api.github.com/repos/Slicer/Slicer/issues/events{/number}",
    "issues_url": "https://api.github.com/repos/Slicer/Slicer/issues{/number}",
    "keys_url": "https://api.github.com/repos/Slicer/Slicer/keys{/key_id}",
    "labels_url": "https://api.github.com/repos/Slicer/Slicer/labels{/name}",
    "language": "C++",
    "languages_url": "https://api.github.com/repos/Slicer/Slicer/languages",
    "license": {
      "key": "other",
      "name": "Other",
      "node_id": "XXXXXXXXXXXXXXXXX=",
      "spdx_id": "NOASSERTION",
      "url": null
    },
    "merges_url": "https://api.github.com/repos/Slicer/Slicer/merges",
    "milestones_url": "https://api.github.com/repos/Slicer/Slicer/milestones{/number}",
    "mirror_url": null,
    "name": "Slicer",
    "node_id": "XXXXXXXXXXXXXXXXX=",
    "notifications_url": "https://api.github.com/repos/Slicer/Slicer/notifications{?since,all,participating}",
    "open_issues": 566,
    "open_issues_count": 566,
    "owner": {
      "avatar_url": "https://avatars.githubusercontent.com/u/324362?v=4",
      "events_url": "https://api.github.com/users/Slicer/events{/privacy}",
      "followers_url": "https://api.github.com/users/Slicer/followers",
      "following_url": "https://api.github.com/users/Slicer/following{/other_user}",
      "gists_url": "https://api.github.com/users/Slicer/gists{/gist_id}",
      "gravatar_id": "",
      "html_url": "https://github.com/Slicer",
      "id": 000000,
      "login": "Slicer",
      "node_id": "XXXXXXXXXXXXXXXXX==",
      "organizations_url": "https://api.github.com/users/Slicer/orgs",
      "received_events_url": "https://api.github.com/users/Slicer/received_events",
      "repos_url": "https://api.github.com/users/Slicer/repos",
      "site_admin": false,
      "starred_url": "https://api.github.com/users/Slicer/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/Slicer/subscriptions",
      "type": "Organization",
      "url": "https://api.github.com/users/Slicer"
    },
    "private": false,
    "pulls_url": "https://api.github.com/repos/Slicer/Slicer/pulls{/number}",
    "pushed_at": "2023-11-14T18:53:41Z",
    "releases_url": "https://api.github.com/repos/Slicer/Slicer/releases{/id}",
    "size": 122548,
    "ssh_url": "git@github.com:Slicer/Slicer.git",
    "stargazers_count": 1242,
    "stargazers_url": "https://api.github.com/repos/Slicer/Slicer/stargazers",
    "statuses_url": "https://api.github.com/repos/Slicer/Slicer/statuses/{sha}",
    "subscribers_url": "https://api.github.com/repos/Slicer/Slicer/subscribers",
    "subscription_url": "https://api.github.com/repos/Slicer/Slicer/subscription",
    "svn_url": "https://github.com/Slicer/Slicer",
    "tags_url": "https://api.github.com/repos/Slicer/Slicer/tags",
    "teams_url": "https://api.github.com/repos/Slicer/Slicer/teams",
    "topics": [
      "3d-printing",
      "3d-slicer",
      "c-plus-plus",
      "computed-tomography",
      "image-guided-therapy",
      "image-processing",
      "itk",
      "kitware",
      "medical-image-computing",
      "medical-imaging",
      "national-institutes-of-health",
      "neuroimaging",
      "nih",
      "python",
      "qt",
      "registration",
      "segmentation",
      "tcia-dac",
      "tractography",
      "vtk"
    ],
    "trees_url": "https://api.github.com/repos/Slicer/Slicer/git/trees{/sha}",
    "updated_at": "2023-11-14T14:14:17Z",
    "url": "https://api.github.com/repos/Slicer/Slicer",
    "visibility": "public",
    "watchers": 1242,
    "watchers_count": 1242,
    "web_commit_signoff_required": false
  },
  "sender": {
    "avatar_url": "https://avatars.githubusercontent.com/u/219043?v=4",
    "events_url": "https://api.github.com/users/jcfr/events{/privacy}",
    "followers_url": "https://api.github.com/users/jcfr/followers",
    "following_url": "https://api.github.com/users/jcfr/following{/other_user}",
    "gists_url": "https://api.github.com/users/jcfr/gists{/gist_id}",
    "gravatar_id": "",
    "html_url": "https://github.com/jcfr",
    "id": 000000,
    "login": "jcfr",
    "node_id": "XXXXXXXXXXXX```
```XXXXX==",
    "organizations_url": "https://api.github.com/users/jcfr/orgs",
    "received_events_url": "https://api.github.com/users/jcfr/received_events",
    "repos_url": "https://api.github.com/users/jcfr/repos",
    "site_admin": false,
    "starred_url": "https://api.github.com/users/jcfr/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/jcfr/subscriptions",
    "type": "User",
    "url": "https://api.github.com/users/jcfr"
  }
}

Additional information

thephez commented 12 months ago

Thanks for providing detailed info :detective: I just ran into the same issue too.

stsewd commented 12 months ago

Hi @jcfr can you check that you can create PRs now? This should have been a momentary problem while we are migrating all possible webhooks to have a secret (we are still in the process).

We should also have a better error message, since in this case was due to the missing secret on the integration.

stsewd commented 12 months ago

@thephez looks like your webhook doesn't have a secret yet, this is because our migration hasn't hit your project yet or because you don't have a GitHub account connected. In any case, you can hit the resync webhook button on your integration, if you have your account connected, the secret will be added automatically, if you don't, you'll need to manually update the webhook on GitHub, see https://docs.readthedocs.io/en/stable/guides/setup/git-repo-manual.html for step-by-step guide.

We will email all projects that need manual migration after we have migrated the webhooks that we can migrate automatically.

thephez commented 12 months ago

@stsewd Thanks! Is the migration expected to be completed soon?

stsewd commented 12 months ago

@thephez hopefully in an hour or so,

stsewd commented 12 months ago

Hmm, actually, looks like an actual regression, the header name is wrong, fix in https://github.com/readthedocs/readthedocs.org/pull/10903.

stsewd commented 12 months ago

Fix should be out, but if your webhook doesn't have a secret, it won't respond to PR events, follow the step from in that case https://github.com/readthedocs/readthedocs.org/issues/10902#issuecomment-1811129965.

Automatic migration is almost done, we will email users in a bit too.

jcfr commented 12 months ago

can you check that you can create PRs now?

After updating the pull-request, I confirm the ReadTheDocs build job has been successfully triggered.

GitHub incoming webhook payloads Builds
image image
jcfr commented 12 months ago

Thanks again @stsewd and @thephez for the quick follow-up and updates :pray: :rocket: :100:

thephez commented 12 months ago

...In any case, you can hit the resync webhook button on your integration, if you have your account connected, the secret will be added automatically, if you don't, you'll need to manually update the webhook on GitHub, see https://docs.readthedocs.io/en/stable/guides/setup/git-repo-manual.html for step-by-step guide.

The webhook I'm having issues with was created before I was around so I'm not sure what method was used. In any case, resyncing it doesn't work: Webhook activation failed. Make sure you have the necessary permissions.

Is there a way to view the secret (I haven't found it) or do I need to just create a new webhook?

Edit: I created a manual webhook on another project and it worked successfully. I guess since I can't see a secret on the project mentioned above, the webhook wasn't originally configured manually. Something has happened to prevent it from working or resyncing now following the update yesterday. I'm guessing creating a new webhook for it manually is the quickest path forward. Just letting you know in case you have others that run into this issue.

stsewd commented 12 months ago

@thephez maybe the RTD app doesn't have access to that organization, in that case you can follow this guide https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/requesting-organization-approval-for-oauth-apps.

Always showing the secret can also be an improvement, so users can complete the process manually in case of an en error with permissions.