\r\n \u003Clink rel=\"alternate icon\" type=\"image/png\" href=\"/favicons/favicon-light-default.png\" id=\"favicon-png\" />\r\n \u003Clink rel=\"icon\" type=\"image/svg+xml\" href=\"/favicons/favicon-light-default.svg\" id=\"favicon-svg\" />\r\n \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\r\n \u003Cmeta name=\"theme-color\" content=\"#65a30d\" />\r\n \u003Ctitle>Woodpecker\u003C/title>\r\n \u003Cscript type=\"\" src=\"/web-config.js\">\u003C/script>\r\n \u003Cscript type=\"module\" crossorigin src=\"/assets/index-4b7b57db.js\">\u003C/script>\r\n \u003Clink rel=\"stylesheet\" href=\"/assets/index-f123c06a.css\">\r\n \u003C/head>\r\n \u003Cbody>\r\n \u003Cdiv id=\"app\">\u003C/div>\r\n\r\n \u003C/body>\r\n\u003C/html>\r\n```\r\n\r\nThat is basically an \"empty\" page. Let's look at the response code:\r\n```\r\n$ curl -I http://localhost:8000/foo\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nThat should have returned 404.\r\n\r\nNow let's request a non-existent API endpoint:\r\n```\r\n$ curl -I http://localhost:8000/api/bar\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nSame thing.\r\n\r\nNow let's request a real API endpoint, for healthchecks:\r\n```\r\n$ curl http://localhost:8000/api/healthz\r\n\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"en\">\r\n # ...\r\n\u003C/html>\r\n\r\n$ curl -I http://localhost:8000/api/healthz\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nSame thing. Also, it should not return a page, only a REST response.\r\n\r\nClean up:\r\n```\r\n$ apk delete curl\r\n$ exit\r\n```\r\n\r\nSummary:\r\n- both existent and non-existent endpoints and pages respond with 200\r\n- that means the `/api/healthz` endpoint is not working: it's a \"proof of life\" rather than \"proof of health\"\r\n- and the health endpoint should only return a json REST response, not a page\r\n\r\n### System Info\r\n\r\n```shell\r\nversion next-45319b24-alpine\r\ndockerised\r\n```\r\n\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\r\n- [X] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\r\n- [X] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\r\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[3215,3216],{"name":3169,"color":3170},{"name":3202,"color":3203},1947,"All pages and API endpoints (including non-existent ones) return 200","2025-03-16T13:50:31Z","https://github.com/woodpecker-ci/woodpecker/issues/1947",0.78347373,{"description":3223,"labels":3224,"number":3227,"owner":3158,"repository":3159,"state":3160,"title":3228,"updated_at":3229,"url":3230,"score":3231},"### Clear and concise description of the problem\n\nWhenever a new secret variables is introduced into the project either the existing admin needs to add it as a secret to woodpecker or someone needs to add the developer as an admin to the WOODPECKER_ADMIN environment variable and restart the woodpecker instance.\n\n### Suggested solution\n\nWe could provide authenticated users, which have write permissions to the repository, with an ability to add, remove and edit secrets\n\n### Alternative\n\nAs an alternative we could provide admins with aт interface on web-ui to set other users as an admin. This web-ui also could be useful in case, when registrations are closed (WOODPECKER_OPEN=false), but you want to give someone access to the woodpecker (as far as I know right now it's only possible to do that using cli tool)\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [X] Check that there isn't already an [issue](https://github.com/woodpecker-ci/woodpecker/issues) that request the same feature to avoid creating a duplicate.",[3225,3226],{"name":3152,"color":3153},{"name":3155,"color":3156},951,"Allow users with write access to repo to edit secrets","2022-06-02T21:08:44Z","https://github.com/woodpecker-ci/woodpecker/issues/951",0.7837325,{"description":3233,"labels":3234,"number":3246,"owner":3158,"repository":3159,"state":3160,"title":3247,"updated_at":3248,"url":3249,"score":3250},"https://github.com/woodpecker-ci/woodpecker/tree/main/docs/docs/30-administration\r\n\r\nhttps://woodpecker-ci.org/docs/administration/forges/forgejo#registration\r\nhttps://woodpecker-ci.org/docs/administration/forges/gitea#registration\r\n\r\nonly mention user-oauth2-apps but if you are provider of both the forge and woodpecker itself in most cases you want the system-wiede-oauth2-app",[3235,3238,3241,3244],{"name":3236,"color":3237},"documentation","7D625D",{"name":3239,"color":3240},"forge/gitea","E96280",{"name":3242,"color":3243},"good first issue","76ea72",{"name":3245,"color":3240},"forge/forgejo",3818,"Update forgejo/gitea docs to mention system wide Oauth2 Apps","2024-06-22T16:16:36Z","https://github.com/woodpecker-ci/woodpecker/issues/3818",0.78429365,{"description":3252,"labels":3253,"number":3257,"owner":3158,"repository":3159,"state":3160,"title":3258,"updated_at":3259,"url":3260,"score":3261},"\u003C!-- PLEASE READ BEFORE DELETING\r\n\r\nBugs or Issues? Please do not open a GitHub issue until you have\r\ndiscussed and verified with community support:\r\n\r\n https://discourse.drone.io/\r\n\r\nFailing Builds? Please do not use GitHub issues for generic support\r\nquestions. Instead please use Stack Overflow:\r\n\r\n http://stackoverflow.com/questions/tagged/drone.io\r\n\r\n-->\r\n",[3254,3256],{"name":3255,"color":3240},"forge/github",{"name":3152,"color":3153},71,"Handle Github organizational webhooks to autoenable new repos","2024-07-15T18:36:47Z","https://github.com/woodpecker-ci/woodpecker/issues/71",0.7845927,{"description":3263,"labels":3264,"number":3270,"owner":3158,"repository":3159,"state":3271,"title":3272,"updated_at":3273,"url":3274,"score":3275},"1. provide sensible defaults\r\n2. configs should be intuitive and self explaining\r\n3. make sure to write generic func and split up big func into sub functions\r\n4. use packages for each topic ans if to big split asap in subtopics\r\n\r\n---\r\nhttps://github.com/woodpecker-ci/woodpecker/issues/1860#issuecomment-1590175406",[3265,3266,3269],{"name":3236,"color":3237},{"name":3267,"color":3268},"governance","A46EFE",{"name":3242,"color":3243},1884,"closed","Document key-priorieties for development","2023-08-08T07:28:13Z","https://github.com/woodpecker-ci/woodpecker/issues/1884",0.7494906,["Reactive",3277],{},["Set"],["ShallowReactive",3280],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$f_gMhymu00R8gHzFh0UwtoV6QJh_uAlb4Kstr92KDGKM":-1},"/woodpecker-ci/woodpecker/971"]