Open AArnott opened 4 years ago
There may be a race condition here. Is a PR stable
or clean
as soon as it's opened but before checks are added to it? If so, how can we know when it's safe to merge?
When #26 was labeled, the notification included mergeable_state = 'clean'
even though checks hadn't completed yet:
{
"action": "labeled",
"number": 26,
"pull_request": {
"url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls/26",
"id": 460753323,
"node_id": "MDExOlB1bGxSZXF1ZXN0NDYwNzUzMzIz",
"html_url": "https://github.com/AArnott/pr-autocomplete-app/pull/26",
"diff_url": "https://github.com/AArnott/pr-autocomplete-app/pull/26.diff",
"patch_url": "https://github.com/AArnott/pr-autocomplete-app/pull/26.patch",
"issue_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/26",
"number": 26,
"state": "open",
"locked": false,
"title": "Add more tests around labeling PRs",
"user": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"body": "",
"created_at": "2020-08-01T03:53:36Z",
"updated_at": "2020-08-01T03:53:41Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": "df56635fff97309c735c7ead7ea2b670436c6a83",
"assignee": null,
"assignees": [
],
"requested_reviewers": [
],
"requested_teams": [
],
"labels": [
{
"id": 2244371834,
"node_id": "MDU6TGFiZWwyMjQ0MzcxODM0",
"url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/labels/auto-merge",
"name": "auto-merge",
"color": "40c967",
"default": false,
"description": ""
}
],
"milestone": null,
"draft": false,
"commits_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls/26/commits",
"review_comments_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls/26/comments",
"review_comment_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/26/comments",
"statuses_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/statuses/0af6bc112907718af2b8155a21ddaf8177e9c9a4",
"head": {
"label": "AArnott:tests",
"ref": "tests",
"sha": "0af6bc112907718af2b8155a21ddaf8177e9c9a4",
"user": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 283318210,
"node_id": "MDEwOlJlcG9zaXRvcnkyODMzMTgyMTA=",
"name": "pr-autocomplete-app",
"full_name": "AArnott/pr-autocomplete-app",
"private": true,
"owner": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"html_url": "https://github.com/AArnott/pr-autocomplete-app",
"description": "A PR AutoComplete GitHub App",
"fork": false,
"url": "https://api.github.com/repos/AArnott/pr-autocomplete-app",
"forks_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/forks",
"keys_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/teams",
"hooks_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/hooks",
"issue_events_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/events{/number}",
"events_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/events",
"assignees_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/assignees{/user}",
"branches_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/branches{/branch}",
"tags_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/tags",
"blobs_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/statuses/{sha}",
"languages_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/languages",
"stargazers_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/stargazers",
"contributors_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/contributors",
"subscribers_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/subscribers",
"subscription_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/subscription",
"commits_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/contents/{+path}",
"compare_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/merges",
"archive_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/downloads",
"issues_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues{/number}",
"pulls_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls{/number}",
"milestones_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/milestones{/number}",
"notifications_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/labels{/name}",
"releases_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/releases{/id}",
"deployments_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/deployments",
"created_at": "2020-07-28T20:18:20Z",
"updated_at": "2020-07-31T23:31:07Z",
"pushed_at": "2020-08-01T03:53:37Z",
"git_url": "git://github.com/AArnott/pr-autocomplete-app.git",
"ssh_url": "git@github.com:AArnott/pr-autocomplete-app.git",
"clone_url": "https://github.com/AArnott/pr-autocomplete-app.git",
"svn_url": "https://github.com/AArnott/pr-autocomplete-app",
"homepage": null,
"size": 195,
"stargazers_count": 1,
"watchers_count": 1,
"language": "TypeScript",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 9,
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"forks": 0,
"open_issues": 9,
"watchers": 1,
"default_branch": "main",
"allow_squash_merge": true,
"allow_merge_commit": true,
"allow_rebase_merge": true,
"delete_branch_on_merge": true
}
},
"base": {
"label": "AArnott:main",
"ref": "main",
"sha": "3e8fe7cabce71d1f70ed4b1c01787744132c5b62",
"user": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 283318210,
"node_id": "MDEwOlJlcG9zaXRvcnkyODMzMTgyMTA=",
"name": "pr-autocomplete-app",
"full_name": "AArnott/pr-autocomplete-app",
"private": true,
"owner": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"html_url": "https://github.com/AArnott/pr-autocomplete-app",
"description": "A PR AutoComplete GitHub App",
"fork": false,
"url": "https://api.github.com/repos/AArnott/pr-autocomplete-app",
"forks_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/forks",
"keys_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/teams",
"hooks_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/hooks",
"issue_events_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/events{/number}",
"events_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/events",
"assignees_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/assignees{/user}",
"branches_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/branches{/branch}",
"tags_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/tags",
"blobs_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/statuses/{sha}",
"languages_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/languages",
"stargazers_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/stargazers",
"contributors_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/contributors",
"subscribers_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/subscribers",
"subscription_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/subscription",
"commits_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/contents/{+path}",
"compare_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/merges",
"archive_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/downloads",
"issues_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues{/number}",
"pulls_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls{/number}",
"milestones_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/milestones{/number}",
"notifications_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/labels{/name}",
"releases_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/releases{/id}",
"deployments_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/deployments",
"created_at": "2020-07-28T20:18:20Z",
"updated_at": "2020-07-31T23:31:07Z",
"pushed_at": "2020-08-01T03:53:37Z",
"git_url": "git://github.com/AArnott/pr-autocomplete-app.git",
"ssh_url": "git@github.com:AArnott/pr-autocomplete-app.git",
"clone_url": "https://github.com/AArnott/pr-autocomplete-app.git",
"svn_url": "https://github.com/AArnott/pr-autocomplete-app",
"homepage": null,
"size": 195,
"stargazers_count": 1,
"watchers_count": 1,
"language": "TypeScript",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 9,
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"forks": 0,
"open_issues": 9,
"watchers": 1,
"default_branch": "main",
"allow_squash_merge": true,
"allow_merge_commit": true,
"allow_rebase_merge": true,
"delete_branch_on_merge": true
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls/26"
},
"html": {
"href": "https://github.com/AArnott/pr-autocomplete-app/pull/26"
},
"issue": {
"href": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/26"
},
"comments": {
"href": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/26/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls/26/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls/26/commits"
},
"statuses": {
"href": "https://api.github.com/repos/AArnott/pr-autocomplete-app/statuses/0af6bc112907718af2b8155a21ddaf8177e9c9a4"
}
},
"author_association": "OWNER",
"active_lock_reason": null,
"merged": false,
"mergeable": true,
"rebaseable": true,
"mergeable_state": "clean",
"merged_by": null,
"comments": 0,
"review_comments": 0,
"maintainer_can_modify": false,
"commits": 1,
"additions": 210,
"deletions": 153,
"changed_files": 2
},
"label": {
"id": 2244371834,
"node_id": "MDU6TGFiZWwyMjQ0MzcxODM0",
"url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/labels/auto-merge",
"name": "auto-merge",
"color": "40c967",
"default": false,
"description": ""
},
"repository": {
"id": 283318210,
"node_id": "MDEwOlJlcG9zaXRvcnkyODMzMTgyMTA=",
"name": "pr-autocomplete-app",
"full_name": "AArnott/pr-autocomplete-app",
"private": true,
"owner": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"html_url": "https://github.com/AArnott/pr-autocomplete-app",
"description": "A PR AutoComplete GitHub App",
"fork": false,
"url": "https://api.github.com/repos/AArnott/pr-autocomplete-app",
"forks_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/forks",
"keys_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/teams",
"hooks_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/hooks",
"issue_events_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/events{/number}",
"events_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/events",
"assignees_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/assignees{/user}",
"branches_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/branches{/branch}",
"tags_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/tags",
"blobs_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/statuses/{sha}",
"languages_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/languages",
"stargazers_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/stargazers",
"contributors_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/contributors",
"subscribers_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/subscribers",
"subscription_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/subscription",
"commits_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/contents/{+path}",
"compare_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/merges",
"archive_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/downloads",
"issues_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/issues{/number}",
"pulls_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/pulls{/number}",
"milestones_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/milestones{/number}",
"notifications_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/labels{/name}",
"releases_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/releases{/id}",
"deployments_url": "https://api.github.com/repos/AArnott/pr-autocomplete-app/deployments",
"created_at": "2020-07-28T20:18:20Z",
"updated_at": "2020-07-31T23:31:07Z",
"pushed_at": "2020-08-01T03:53:37Z",
"git_url": "git://github.com/AArnott/pr-autocomplete-app.git",
"ssh_url": "git@github.com:AArnott/pr-autocomplete-app.git",
"clone_url": "https://github.com/AArnott/pr-autocomplete-app.git",
"svn_url": "https://github.com/AArnott/pr-autocomplete-app",
"homepage": null,
"size": 195,
"stargazers_count": 1,
"watchers_count": 1,
"language": "TypeScript",
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 9,
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"forks": 0,
"open_issues": 9,
"watchers": 1,
"default_branch": "main"
},
"sender": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 10947850,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMTA5NDc4NTA="
}
}
This happened again, this time to https://github.com/AArnott/Nerdbank.Streams/pull/220. The notification similarly claimed the PR was "clean" but the checks hadn't run yet:
{
"action": "labeled",
"number": 220,
"pull_request": {
"url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls/220",
"id": 462810303,
"node_id": "MDExOlB1bGxSZXF1ZXN0NDYyODEwMzAz",
"html_url": "https://github.com/AArnott/Nerdbank.Streams/pull/220",
"diff_url": "https://github.com/AArnott/Nerdbank.Streams/pull/220.diff",
"patch_url": "https://github.com/AArnott/Nerdbank.Streams/pull/220.patch",
"issue_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/220",
"number": 220,
"state": "open",
"locked": false,
"title": "Update dependencies",
"user": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"body": "",
"created_at": "2020-08-04T14:39:14Z",
"updated_at": "2020-08-04T14:39:21Z",
"closed_at": null,
"merged_at": null,
"merge_commit_sha": "23a817611b793314e78a9050d358cea98fcda92f",
"assignee": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"assignees": [
{
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
}
],
"requested_reviewers": [
],
"requested_teams": [
],
"labels": [
{
"id": 2248803519,
"node_id": "MDU6TGFiZWwyMjQ4ODAzNTE5",
"url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/labels/auto-merge",
"name": "auto-merge",
"color": "0e8a16",
"default": false,
"description": "Auto-completes a PR when reviews and checks pass"
}
],
"milestone": {
"url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/milestones/7",
"html_url": "https://github.com/AArnott/Nerdbank.Streams/milestone/7",
"labels_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/milestones/7/labels",
"id": 5396227,
"node_id": "MDk6TWlsZXN0b25lNTM5NjIyNw==",
"number": 7,
"title": "v2.6",
"description": "",
"creator": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"open_issues": 1,
"closed_issues": 12,
"state": "open",
"created_at": "2020-05-08T03:42:00Z",
"updated_at": "2020-08-04T14:39:14Z",
"due_on": null,
"closed_at": null
},
"draft": false,
"commits_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls/220/commits",
"review_comments_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls/220/comments",
"review_comment_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls/comments{/number}",
"comments_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/220/comments",
"statuses_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/statuses/5f1a2a2b0243f047537bf5af874a445ec9530c03",
"head": {
"label": "AArnott:npmUpdates",
"ref": "npmUpdates",
"sha": "5f1a2a2b0243f047537bf5af874a445ec9530c03",
"user": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 43795655,
"node_id": "MDEwOlJlcG9zaXRvcnk0Mzc5NTY1NQ==",
"name": "Nerdbank.Streams",
"full_name": "AArnott/Nerdbank.Streams",
"private": false,
"owner": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"html_url": "https://github.com/AArnott/Nerdbank.Streams",
"description": "Specialized .NET Streams and pipes for full duplex in-proc communication, web sockets, and multiplexing",
"fork": false,
"url": "https://api.github.com/repos/AArnott/Nerdbank.Streams",
"forks_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/forks",
"keys_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/teams",
"hooks_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/hooks",
"issue_events_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/events{/number}",
"events_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/events",
"assignees_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/assignees{/user}",
"branches_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/branches{/branch}",
"tags_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/tags",
"blobs_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/statuses/{sha}",
"languages_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/languages",
"stargazers_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/stargazers",
"contributors_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/contributors",
"subscribers_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/subscribers",
"subscription_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/subscription",
"commits_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/contents/{+path}",
"compare_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/merges",
"archive_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/downloads",
"issues_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues{/number}",
"pulls_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls{/number}",
"milestones_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/milestones{/number}",
"notifications_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/labels{/name}",
"releases_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/releases{/id}",
"deployments_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/deployments",
"created_at": "2015-10-07T04:48:20Z",
"updated_at": "2020-08-04T14:33:12Z",
"pushed_at": "2020-08-04T14:39:15Z",
"git_url": "git://github.com/AArnott/Nerdbank.Streams.git",
"ssh_url": "git@github.com:AArnott/Nerdbank.Streams.git",
"clone_url": "https://github.com/AArnott/Nerdbank.Streams.git",
"svn_url": "https://github.com/AArnott/Nerdbank.Streams",
"homepage": "",
"size": 1381,
"stargazers_count": 175,
"watchers_count": 175,
"language": "C#",
"has_issues": true,
"has_projects": false,
"has_downloads": true,
"has_wiki": false,
"has_pages": false,
"forks_count": 26,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 11,
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"forks": 26,
"open_issues": 11,
"watchers": 175,
"default_branch": "master",
"allow_squash_merge": false,
"allow_merge_commit": true,
"allow_rebase_merge": true,
"delete_branch_on_merge": true
}
},
"base": {
"label": "AArnott:master",
"ref": "master",
"sha": "643b0f722a97e54b165e2258758fccab1724da3d",
"user": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"repo": {
"id": 43795655,
"node_id": "MDEwOlJlcG9zaXRvcnk0Mzc5NTY1NQ==",
"name": "Nerdbank.Streams",
"full_name": "AArnott/Nerdbank.Streams",
"private": false,
"owner": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"html_url": "https://github.com/AArnott/Nerdbank.Streams",
"description": "Specialized .NET Streams and pipes for full duplex in-proc communication, web sockets, and multiplexing",
"fork": false,
"url": "https://api.github.com/repos/AArnott/Nerdbank.Streams",
"forks_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/forks",
"keys_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/teams",
"hooks_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/hooks",
"issue_events_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/events{/number}",
"events_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/events",
"assignees_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/assignees{/user}",
"branches_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/branches{/branch}",
"tags_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/tags",
"blobs_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/statuses/{sha}",
"languages_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/languages",
"stargazers_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/stargazers",
"contributors_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/contributors",
"subscribers_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/subscribers",
"subscription_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/subscription",
"commits_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/contents/{+path}",
"compare_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/merges",
"archive_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/downloads",
"issues_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues{/number}",
"pulls_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls{/number}",
"milestones_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/milestones{/number}",
"notifications_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/labels{/name}",
"releases_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/releases{/id}",
"deployments_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/deployments",
"created_at": "2015-10-07T04:48:20Z",
"updated_at": "2020-08-04T14:33:12Z",
"pushed_at": "2020-08-04T14:39:15Z",
"git_url": "git://github.com/AArnott/Nerdbank.Streams.git",
"ssh_url": "git@github.com:AArnott/Nerdbank.Streams.git",
"clone_url": "https://github.com/AArnott/Nerdbank.Streams.git",
"svn_url": "https://github.com/AArnott/Nerdbank.Streams",
"homepage": "",
"size": 1381,
"stargazers_count": 175,
"watchers_count": 175,
"language": "C#",
"has_issues": true,
"has_projects": false,
"has_downloads": true,
"has_wiki": false,
"has_pages": false,
"forks_count": 26,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 11,
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"forks": 26,
"open_issues": 11,
"watchers": 175,
"default_branch": "master",
"allow_squash_merge": false,
"allow_merge_commit": true,
"allow_rebase_merge": true,
"delete_branch_on_merge": true
}
},
"_links": {
"self": {
"href": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls/220"
},
"html": {
"href": "https://github.com/AArnott/Nerdbank.Streams/pull/220"
},
"issue": {
"href": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/220"
},
"comments": {
"href": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/220/comments"
},
"review_comments": {
"href": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls/220/comments"
},
"review_comment": {
"href": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls/comments{/number}"
},
"commits": {
"href": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls/220/commits"
},
"statuses": {
"href": "https://api.github.com/repos/AArnott/Nerdbank.Streams/statuses/5f1a2a2b0243f047537bf5af874a445ec9530c03"
}
},
"author_association": "OWNER",
"active_lock_reason": null,
"merged": false,
"mergeable": true,
"rebaseable": true,
"mergeable_state": "clean",
"merged_by": null,
"comments": 0,
"review_comments": 0,
"maintainer_can_modify": false,
"commits": 2,
"additions": 198,
"deletions": 144,
"changed_files": 2
},
"label": {
"id": 2248803519,
"node_id": "MDU6TGFiZWwyMjQ4ODAzNTE5",
"url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/labels/auto-merge",
"name": "auto-merge",
"color": "0e8a16",
"default": false,
"description": "Auto-completes a PR when reviews and checks pass"
},
"repository": {
"id": 43795655,
"node_id": "MDEwOlJlcG9zaXRvcnk0Mzc5NTY1NQ==",
"name": "Nerdbank.Streams",
"full_name": "AArnott/Nerdbank.Streams",
"private": false,
"owner": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"html_url": "https://github.com/AArnott/Nerdbank.Streams",
"description": "Specialized .NET Streams and pipes for full duplex in-proc communication, web sockets, and multiplexing",
"fork": false,
"url": "https://api.github.com/repos/AArnott/Nerdbank.Streams",
"forks_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/forks",
"keys_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/teams",
"hooks_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/hooks",
"issue_events_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/events{/number}",
"events_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/events",
"assignees_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/assignees{/user}",
"branches_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/branches{/branch}",
"tags_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/tags",
"blobs_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/statuses/{sha}",
"languages_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/languages",
"stargazers_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/stargazers",
"contributors_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/contributors",
"subscribers_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/subscribers",
"subscription_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/subscription",
"commits_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/contents/{+path}",
"compare_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/merges",
"archive_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/downloads",
"issues_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/issues{/number}",
"pulls_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/pulls{/number}",
"milestones_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/milestones{/number}",
"notifications_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/labels{/name}",
"releases_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/releases{/id}",
"deployments_url": "https://api.github.com/repos/AArnott/Nerdbank.Streams/deployments",
"created_at": "2015-10-07T04:48:20Z",
"updated_at": "2020-08-04T14:33:12Z",
"pushed_at": "2020-08-04T14:39:15Z",
"git_url": "git://github.com/AArnott/Nerdbank.Streams.git",
"ssh_url": "git@github.com:AArnott/Nerdbank.Streams.git",
"clone_url": "https://github.com/AArnott/Nerdbank.Streams.git",
"svn_url": "https://github.com/AArnott/Nerdbank.Streams",
"homepage": "",
"size": 1381,
"stargazers_count": 175,
"watchers_count": 175,
"language": "C#",
"has_issues": true,
"has_projects": false,
"has_downloads": true,
"has_wiki": false,
"has_pages": false,
"forks_count": 26,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 11,
"license": {
"key": "mit",
"name": "MIT License",
"spdx_id": "MIT",
"url": "https://api.github.com/licenses/mit",
"node_id": "MDc6TGljZW5zZTEz"
},
"forks": 26,
"open_issues": 11,
"watchers": 175,
"default_branch": "master"
},
"sender": {
"login": "AArnott",
"id": 3548,
"node_id": "MDQ6VXNlcjM1NDg=",
"avatar_url": "https://avatars2.githubusercontent.com/u/3548?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/AArnott",
"html_url": "https://github.com/AArnott",
"followers_url": "https://api.github.com/users/AArnott/followers",
"following_url": "https://api.github.com/users/AArnott/following{/other_user}",
"gists_url": "https://api.github.com/users/AArnott/gists{/gist_id}",
"starred_url": "https://api.github.com/users/AArnott/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/AArnott/subscriptions",
"organizations_url": "https://api.github.com/users/AArnott/orgs",
"repos_url": "https://api.github.com/users/AArnott/repos",
"events_url": "https://api.github.com/users/AArnott/events{/privacy}",
"received_events_url": "https://api.github.com/users/AArnott/received_events",
"type": "User",
"site_admin": false
},
"installation": {
"id": 10947850,
"node_id": "MDIzOkludGVncmF0aW9uSW5zdGFsbGF0aW9uMTA5NDc4NTA="
}
}
I sent the GitHub folks an email asking for their advice.
I think one minimal way we could solve it is to assume that checks exist and to not complete before the check_run result comes after a PR opens or is synchronized. If there were no branch checks, auto-complete becomes much less interesting anyway since folks are likely able to simply complete the PR without waiting and therefore don't need auto-approval.
Another workaround is that branch protection policies can be applied to forbid PRs merging before certain checks complete.
I got this from GitHub support. It sounds like there may be a way to at least partly resolve this:
Hi Andrew,
Thanks for pointing this out! I did inquire internally about this and I'm afraid there is no way to be 100% sure if the branches are not protected branches .
However, there are two cases i.e Statuses , and Checks . For statuses , there's no way to know this for sure since statuses are created only by integrators. For checks , you could fetch the list of check suites for the commit. If a repository has a GitHub App installed and that App requested permissions for Checks , then we assume that the App will create checks and for each commit, GitHub creates a new Check suite in a pending state. Then the integrator creates check runs for that check suite. So, fetching the list of check suites should give you the checks that are expected on a commit.
Note that both the API and UI will show you the same information (via the Checks API in the API) and both the API and UI allow you to merge a PR if it doesn't have protected branches, regardless of checks.
Let me know if this helps!
Regards Peter
When an auto-completing label is applied to a new PR before GitHub has added the Checks to it, the
labeled
notification our webhook gets indicates thatmergeable_state="clean"
, so we may immediately merge the PR rather than waiting for Checks to be added and then complete.This PR auto-merge'd before checks were complete: https://github.com/AArnott/pr-autocomplete-app/pull/26