I created a private mirror on a test instance, and setting the branch protection ruleset failed because only GitHub Pro organizations can have rulesets on private repositories. But the error wasn't surfaced anywhere in the UI and I had to dig thru logs to find out what happened.
There should be an informational message on the UI that indicates a problem occured while creating the mirror
{
"meta": {
"runtime": "Nodejs",
"runtimeVersion": "v22.5.1",
"hostname": "7eb1a3d020f1",
"name": "bot",
"date": "2024-09-27T05:38:34.488Z",
"logLevelId": 5,
"logLevelName": "ERROR",
"path": {
"fullFilePath": "/app/.next/server/pages/api/webhooks.js:146:5621",
"fileName": "webhooks.js",
"fileNameWithLine": "webhooks.js:146",
"fileColumn": "5621",
"fileLine": "146",
"filePath": "/.nex t/server/pages/api/webhooks.js",
"filePathWithLine": "/.next/server/pages/api/webhooks.js:146",
"method": "c"
}
},
"message": "Failed to create branch protection for default branch",
"data": {
"error": {
"name": "HttpError",
"statu s": 403,
"response": {
"url": "https://api.github.com/repos/ORGNAME/PRIVATE-MIRROR-NAME/branches/main/protection",
"status": 403,
"headers": {
"access-control-allow-origin": "*",
"access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset",
"content-encoding": "gzip",
"content-security-policy": "default-src 'none'",
"content-type": "application/json; charset=utf-8",
"date": "Fri, 27 Sep 2024 05:38:34 GMT",
"referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin",
"server": "github.com",
"strict-transport-security": "max-age=31536000; includeSubdomains; preload",
"transfer-encoding": "chunked",
"vary": "Accept-Encoding, Accept, X-Requested-With",
"x-accepted-github-permissions": "administration=write",
"x-content-type-options": "nosniff",
"x-frame-options": "deny",
"x-github-api-version-selected": "2022-11-28",
"x-github-media- type": "github.v3; format=json",
"x-github-request-id": "2A80:17D99D:F5B9ED:1CF4CBE:66F644D9",
"x-ratelimit-limit": "5000",
"x-ratelimit-remaining": "4989",
"x-ratelimit-reset": "1727419085",
"x-ratelimit-resource": "core",
"x-r atelimit-used": "11",
"x-xss-protection": "0"
},
"data": {
"message": "Upgrade to GitHub Pro or make this repository public to enable this feature.",
"documentation_url": "https://docs.github.com/rest/branches/branch-protection#update-branch-protection",
"status": "403"
}
},
"request": {
"method": "PUT",
"url": "https://api.github.com/repos/ORGNAME/PRIVATE-MIRROR-NAME/branches/main/protection",
"headers": {
"accept": "application/vnd.github.v3+json",
"user-agent": "probot/13.3.6 octokit-core.js/5.0.2 Node.js/22",
"x-github-delivery": "ba45f0f0-7c92-11ef-9833-a4f3eed6d2c0",
"authorization": "token [REDACTED]",
"content-type": "application/json; charset=utf-8"
}
}
}
}
}
"body":"{\ "enforce_admins\":true,\"required_pull_request_reviews\":{\"dismiss_stale_reviews\":true,\"require_code_owner_reviews\":false,\"required_approving_review_count\":1,\"dismissal_restrictions\":{\"users\":[],\"teams\":[ ]}},\"required_status_checks\":null,\"restrictions\":null}","request":{}
Describe the bug
I created a private mirror on a test instance, and setting the branch protection ruleset failed because only GitHub Pro organizations can have rulesets on private repositories. But the error wasn't surfaced anywhere in the UI and I had to dig thru logs to find out what happened.
To Reproduce
Expected behavior
There should be an informational message on the UI that indicates a problem occured while creating the mirror
Screenshots
No response
Additional context
{ "meta": { "runtime": "Nodejs", "runtimeVersion": "v22.5.1", "hostname": "7eb1a3d020f1", "name": "bot", "date": "2024-09-27T05:38:34.488Z", "logLevelId": 5, "logLevelName": "ERROR", "path": { "fullFilePath": "/app/.next/server/pages/api/webhooks.js:146:5621", "fileName": "webhooks.js", "fileNameWithLine": "webhooks.js:146", "fileColumn": "5621", "fileLine": "146", "filePath": "/.nex t/server/pages/api/webhooks.js", "filePathWithLine": "/.next/server/pages/api/webhooks.js:146", "method": "c" } }, "message": "Failed to create branch protection for default branch", "data": { "error": { "name": "HttpError", "statu s": 403, "response": { "url": "https://api.github.com/repos/ORGNAME/PRIVATE-MIRROR-NAME/branches/main/protection", "status": 403, "headers": { "access-control-allow-origin": "*", "access-control-expose-headers": "ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset", "content-encoding": "gzip", "content-security-policy": "default-src 'none'", "content-type": "application/json; charset=utf-8", "date": "Fri, 27 Sep 2024 05:38:34 GMT", "referrer-policy": "origin-when-cross-origin, strict-origin-when-cross-origin", "server": "github.com", "strict-transport-security": "max-age=31536000; includeSubdomains; preload", "transfer-encoding": "chunked", "vary": "Accept-Encoding, Accept, X-Requested-With", "x-accepted-github-permissions": "administration=write", "x-content-type-options": "nosniff", "x-frame-options": "deny", "x-github-api-version-selected": "2022-11-28", "x-github-media- type": "github.v3; format=json", "x-github-request-id": "2A80:17D99D:F5B9ED:1CF4CBE:66F644D9", "x-ratelimit-limit": "5000", "x-ratelimit-remaining": "4989", "x-ratelimit-reset": "1727419085", "x-ratelimit-resource": "core", "x-r atelimit-used": "11", "x-xss-protection": "0" }, "data": { "message": "Upgrade to GitHub Pro or make this repository public to enable this feature.", "documentation_url": "https://docs.github.com/rest/branches/branch-protection#update-branch-protection", "status": "403" } }, "request": { "method": "PUT", "url": "https://api.github.com/repos/ORGNAME/PRIVATE-MIRROR-NAME/branches/main/protection", "headers": { "accept": "application/vnd.github.v3+json", "user-agent": "probot/13.3.6 octokit-core.js/5.0.2 Node.js/22", "x-github-delivery": "ba45f0f0-7c92-11ef-9833-a4f3eed6d2c0", "authorization": "token [REDACTED]", "content-type": "application/json; charset=utf-8" } } } } } "body":"{\ "enforce_admins\":true,\"required_pull_request_reviews\":{\"dismiss_stale_reviews\":true,\"require_code_owner_reviews\":false,\"required_approving_review_count\":1,\"dismissal_restrictions\":{\"users\":[],\"teams\":[ ]}},\"required_status_checks\":null,\"restrictions\":null}","request":{}