\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).",[2873,2876],{"name":2874,"color":2875},"bug","d73a4a",{"name":2857,"color":2858},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.7137239,{"description":2883,"labels":2884,"number":2895,"owner":2863,"repository":2864,"state":2865,"title":2896,"updated_at":2897,"url":2898,"score":2899},"### Clear and concise description of the problem\r\n\r\nas of https://github.com/woodpecker-ci/woodpecker/pull/2691\r\n\r\n~~blocked by https://github.com/swaggo/swag/issues/386~~ -> https://github.com/woodpecker-ci/woodpecker/pull/3897\r\n\r\n### Suggested solution\r\n\r\nauto-generate client from swagger docs so we don't have to do it manually\r\n\r\n### Alternative\r\n\r\n_No response_\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Checked that the feature isn't part of the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\r\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/main/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 request the same feature to avoid creating a duplicate.",[2885,2886,2889,2892],{"name":2860,"color":2861},{"name":2887,"color":2888},"refactor","4f8cc9",{"name":2890,"color":2891},"blocked","AF9796",{"name":2893,"color":2894},"lib","bfdadc",3053,"Generate sdk from swagger","2024-07-13T12:58:23Z","https://github.com/woodpecker-ci/woodpecker/issues/3053",0.7263229,{"description":2901,"labels":2902,"number":2907,"owner":2863,"repository":2864,"state":2865,"title":2908,"updated_at":2909,"url":2910,"score":2911},"we might need to figure out how to compile pipelines based on that ...\r\n\r\nI would suggest that this filter does only apply if root.platform or root.lables.platform is set ... so that you can do something like this:\r\n\r\n```yaml\r\nmatrix:\r\n PLATFORMS:\r\n - linux/amd64\r\n - linux/arm\r\n\r\nplatform: ${PLATFORMS}\r\n\r\nsteps:\r\n hello:\r\n image: golang\r\n commands:\r\n - echo hello woodpecker\r\n - sleep 3s\r\n - echo build things ...\r\n\r\n arm-only:\r\n image: bash\r\n commands: echo from arm only\r\n when:\r\n platform: linux/arm\r\n```",[2903,2904],{"name":2874,"color":2875},{"name":2905,"color":2906},"pipeline-config","1BE540",1870,"when.platform does filter based on server not agent platform string","2023-08-20T16:41:33Z","https://github.com/woodpecker-ci/woodpecker/issues/1870",0.74305636,{"description":2913,"labels":2914,"number":2918,"owner":2863,"repository":2864,"state":2919,"title":2920,"updated_at":2921,"url":2922,"score":2923},"### Component\r\n\r\nserver, cli\r\n\r\n### Describe the bug\r\n\r\nThis is not strictly a bug, but a design flaw. I first asked on the [discord server](https://discord.com/channels/838698813463724034/838698813463724037/1125415904134574080).\r\n\r\nSuppose I want to lock down my woodpecker server - I don't want random users from my gitea server to be able to log in. So I set `WOODPECKER_OPEN=false`. The docs state that in that case I need to create users manually, using the CLI.\r\n\r\nThe problem is the CLI needs an auth token, to be able to communicate with the server. But to generate such a token I must log in to the server, which I can't do. A chicken and egg problem! :baby_chick: :egg:\r\n\r\n### System Info\r\n\r\n```shell\r\nI am using 'next'\r\n```\r\n\r\n\r\n### Additional context\r\n\r\nIdea: have the CLI inside the server container, and allow it to communicate without an auth token.\r\n\r\nIdea: proposed by @6543:\r\n> gitea use an \"internal token\" for this tasks... we could do similar\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).",[2915],{"name":2916,"color":2917},"feature","180DBE",1923,"closed","Internal token for CLI / API administration","2023-08-20T16:09:02Z","https://github.com/woodpecker-ci/woodpecker/issues/1923",0.68837714,{"description":2925,"labels":2926,"number":2928,"owner":2863,"repository":2864,"state":2919,"title":2929,"updated_at":2930,"url":2931,"score":2932},"### Clear and concise description of the problem\n\nThe Curve storage team is experimenting with this feature recently, and I think it could be very useful.\r\n\r\n\n\n### Suggested solution\n\nThere are already related implementations on GitHub.\r\n[ChatGPT-CodeReview](https://github.com/anc95/ChatGPT-CodeReview)\n\n### Alternative\n\n_No response_\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Checked that the feature isn't part of the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\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.",[2927],{"name":2916,"color":2917},1673,"Can you provide a code review feature based on ChatGPT?","2023-03-23T02:07:56Z","https://github.com/woodpecker-ci/woodpecker/issues/1673",0.7015167,{"description":2934,"labels":2935,"number":2937,"owner":2863,"repository":2864,"state":2919,"title":2938,"updated_at":2939,"url":2940,"score":2941},"### Component\n\nserver\n\n### Describe the bug\n\nUsing the configuration from the [docs](https://woodpecker-ci.github.io/docs/administration/database#configure-mysql), I'm unable to start woodpecker, using MariaDB. \r\n\r\nOther containers on the same network can reach the database container without problems.\n\n### System Info\n\n```shell\ndevops_woodpecker_ci:\r\n image: woodpeckerci/woodpecker-server:${WOODPECKER_TAG}\r\n restart: unless-stopped\r\n ports:\r\n - ${WOODPECKER_PORT}:8000\r\n - 9000\r\n networks:\r\n - devops_network\r\n environment:\r\n - WOODPECKER_DATABASE_DRIVER=mysql\r\n - WOODPECKER_DATABASE_DATASOURCE=DBUSER:DBPASSWORD@tcp(DBHOST:3306)/DATABASE?parseTime=true\r\n - WOODPECKER_OPEN=true\r\n - WOODPECKER_HOST=${WOODPECKER_URL}\r\n - WOODPECKER_GITEA=true\r\n - WOODPECKER_GITEA_URL=${GITEA_URL}\r\n - WOODPECKER_SECRET=${WOODPECKER_SECRET}\r\n depends_on:\r\n - devops_woodpecker_db\n```\n\n\n### Additional context\n\n```shell\nLogs:\r\ntime=\"2021-10-10T10:59:20Z\" level=error msg=\"unable to open database file: no such file or directory\",\r\ntime=\"2021-10-10T10:59:57Z\" level=fatal msg=\"database ping attempts failed\"\n```\n\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.github.io/docs/intro).\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.\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy).",[2936],{"name":2905,"color":2906},428,"Unable to connect to MariaDb","2021-10-10T17:55:36Z","https://github.com/woodpecker-ci/woodpecker/issues/428",0.7115902,{"description":2943,"labels":2944,"number":2949,"owner":2863,"repository":2864,"state":2919,"title":2950,"updated_at":2951,"url":2952,"score":2953},"### Component\n\nweb-ui\n\n### Describe the bug\n\nopen a pipeline with its direct link, e.g. https://ci.woodpecker-ci.org/repos/3780/pipeline/11014 (or reload existing)\r\n\r\nthe \"Warnings\" tab has different positions, but it's not between workflows/configs:\r\n\r\n\r\nIt's working if opening from the list.\r\n\r\nExpected: \r\n\r\n\n\n### System Info\n\n```shell\nci.woodpecker-ci.org\n```\n\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/main/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 reports the same bug to avoid creating a duplicate.\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]\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).",[2945,2946],{"name":2874,"color":2875},{"name":2947,"color":2948},"ui","46DEA2",3021,"Opening ui directly: tabs have wrong order","2025-01-20T14:21:07Z","https://github.com/woodpecker-ci/woodpecker/issues/3021",0.71180266,{"description":2955,"labels":2956,"number":2961,"owner":2863,"repository":2864,"state":2919,"title":2962,"updated_at":2963,"url":2964,"score":2965},"### Clear and concise description of the problem\n\nWhen I send notify, I want to include the pipeline name, e.g. the miniapp & app-server for below build\r\n\r\n\u003Cimg width=\"648\" alt=\"image\" src=\"https://user-images.githubusercontent.com/1777211/227702720-f1eac3e2-e404-4895-bff7-0d59d0308308.png\">\r\n\n\n### Suggested solution\n\nhow about `CI_PIPELINE_NAME`\n\n### Alternative\n\n_No response_\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Checked that the feature isn't part of the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\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.",[2957,2958],{"name":2916,"color":2917},{"name":2959,"color":2960},"good first issue","76ea72",1681,"env for pipeline name","2023-04-08T11:15:30Z","https://github.com/woodpecker-ci/woodpecker/issues/1681",0.71256185,{"description":2967,"labels":2968,"number":2970,"owner":2863,"repository":2864,"state":2919,"title":2971,"updated_at":2972,"url":2973,"score":2974},"### Component\n\nserver\n\n### Describe the bug\n\nThe repair function is recreating the webhoook using the `WOODPECKER_HOST` instead of `WOODPECKER_WEBHOOK_HOST`.\n\n### System Info\n\n```shell\n1.0-90310de6f1\n```\n\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/main/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 reports the same bug to avoid creating a duplicate.\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]\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).",[2969],{"name":2874,"color":2875},2371,"Repair not using value from WOODPECKER_WEBHOOK_HOST","2023-09-13T06:42:17Z","https://github.com/woodpecker-ci/woodpecker/issues/2371",0.713397,["Reactive",2976],{},["Set"],["ShallowReactive",2979],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$foClaS3jX5RytaLN-GFc2RZ8iLYjnA5PV2DEIkablKc8":-1},"/woodpecker-ci/woodpecker/186"]