\n\nAnd here is the outcome on BitBucket:\n\u003Cimg width=\"479\" height=\"182\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/11c2a65d-cbf2-4162-9805-3d035bdac04e\" />\n\n\n### Steps to reproduce\n\n1. Run Woodpecker with BitBucket Cloud forge\n2. Create a pipeline that uses a matrix\n3. Let the pipeline finish on Woodpecker\n4. Observe the build statuses on the commit in BitBucket\n\n### Expected behavior\n\nBoth pipelines should show completed.\n\n### System Info\n\n```shell\nWoodpecker version: v3.8.0\n```\n\n### Additional context\n\n_No response_\n\n### Validations\n\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/versions]",[3187,3188],{"name":3157,"color":3158},{"name":3189,"color":3190},"forge/bitbucket","E96280",5338,"closed","Build status not completing on matrix pipelines with BitBucket","2025-08-10T17:51:17Z","https://github.com/woodpecker-ci/woodpecker/issues/5338",0.7142875,{"description":3198,"labels":3199,"number":3204,"owner":3146,"repository":3147,"state":3192,"title":3205,"updated_at":3206,"url":3207,"score":3208},"### Component\n\nserver\n\n### Describe the bug\n\nConsider following `.woodpecker.yml`:\r\n```yaml\r\nvariables:\r\n - &my_testing_var1 'first value'\r\n\r\nmatrix:\r\n MY_MATRIX_ENV:\r\n - aaa\r\n - bbb\r\n\r\nsteps:\r\n - name: test-env\r\n image: busybox\r\n environment:\r\n MY_TESTING_VAR1: *my_testing_var1\r\n MY_TESTING_VAR2: \"second value\"\r\n commands:\r\n - |\r\n echo \"$${MY_MATRIX_ENV:?}\"\r\n echo \"$${MY_TESTING_VAR1:?}\"\r\n echo \"$${MY_TESTING_VAR2:?}\"\r\n```\r\n\r\nExpected output (e.g. with `MY_MATRIX_ENV=aaa`):\r\n```\r\naaa\r\nfirst value\r\nsecond value\r\n```\r\n\r\nActual output (e.g. with `MY_MATRIX_ENV=aaa`):\r\n```\r\naaa\r\nsh: MY_TESTING_VAR1: parameter not set or null\r\n```\r\n\r\nHowever, I've detected that it sets provided variables in following manner:\r\n```sh\r\nPLUGIN_MY_TESTING_VAR1=\"first value\"\r\nPLUGIN_MY_TESTING_VAR2=\"second value\"\r\n```\n\n### System Info\n\n```shell\ndocker.io/woodpeckerci/woodpecker-server:next-5b0430ab4a\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\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]",[3200,3201],{"name":3157,"color":3158},{"name":3202,"color":3203},"regression","7E192B",3436,"matrix workflows set up environment in wrong way","2024-02-25T09:12:41Z","https://github.com/woodpecker-ci/woodpecker/issues/3436",0.72628856,{"description":3210,"labels":3211,"number":3213,"owner":3146,"repository":3147,"state":3192,"title":3214,"updated_at":3215,"url":3216,"score":3217},"### Clear and concise description of the problem\n\nAs a user of Woodpecker I want to be able to have one place in my repository where my list of supported compiler versions is written down, and have a woodpecker workflow to generate a matrix of jobs based on it. \r\n\r\nI developed the [get-tested](https://github.com/Kleidukos/get-tested) tool for the Haskell ecosystem because we have a way to declare the tested versions of the compiler as metadata of the package file. \r\n\r\n\u003Cdetails>\r\n\u003Csummary>See\u003C/summary>\r\n\r\nhttps://flora.pm/packages/@haskell/text\r\n\r\n\r\n\u003C/details>\r\n\r\nThis enables us to keep this list of tested compiler versions in one place, thus avoiding de-synchronisation problems between what we declare as tested and what is actually tested.\n\n### Suggested solution\n\nMuch like how GitHub does it, a well-defined JSON object format could be generated by one job on which another depends and reads from. This JSON object would mimick the YAML format:\r\n\r\n```\r\nmatrix={\"include\":[{\"ghc\":\"9.10.1\",\"os\":\"ubuntu-latest\"}]}\r\n```\r\n\r\nWith ideally the addition of an `exclude` property that would prevent a combination of values from being run.\r\n\r\nMain inspiration is https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs\n\n### Alternative\n\nMaintaining multiple lists of supported compiler versions (one for package metadata, one for CI), which is prone to error and de-synchronisation. \n\n### Additional context\n\nThe link of the first checkbox (https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use) returns a 404.\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 [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.",[3212],{"name":3168,"color":3169},3873,"Dynamically-defined matrix workflows","2024-07-06T08:14:14Z","https://github.com/woodpecker-ci/woodpecker/issues/3873",0.7330793,{"description":3219,"labels":3220,"number":3228,"owner":3146,"repository":3147,"state":3192,"title":3229,"updated_at":3230,"url":3231,"score":3232},"### Clear and concise description of the problem\n\nWhen triggering a manual pipeline run in the web UI, I often forget to apply env vars with the `+ Add variable` button, as I interpret it as adding _another_ variable.\r\n\r\n\r\n\n\n### Suggested solution\n\n- Apply all variables with non-empty variable names\r\n- Add a new input line once the variable name is not empty\r\n- Keep the variables editable\r\n- Remove the `+ Add variable` button\r\n\r\nExample from GitLab:\r\n\r\n\r\n\n\n### Alternative\n\n_No response_\n\n### Additional context\n\nMight also be useful if my issue #3291 gets implemented\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 [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.",[3221,3224,3225],{"name":3222,"color":3223},"ui","46DEA2",{"name":3140,"color":3141},{"name":3226,"color":3227},"ux","fef2c0",3292,"UI/UX: Apply Non-Empty Environment Variables","2024-02-08T23:46:09Z","https://github.com/woodpecker-ci/woodpecker/issues/3292",0.74318224,{"description":3234,"labels":3235,"number":3237,"owner":3146,"repository":3147,"state":3192,"title":3238,"updated_at":3239,"url":3240,"score":3241},"### Clear and concise description of the problem\n\nI'm wishing for an way to grant individual pipeline executions access to external resources based on their identity (repo name, branch, git-commit, pipeline name, trigger by, ...). External resources includes things such as container registries.\nSigning and generating attestations for artifacts with [Sigstore's `cosign`](https://www.sigstore.dev/), which is growing need due to EU legislation such as NIS2, requires a away to identity the build pipeline to issues signing certificates.\n\n### Suggested solution\n\nThe core idea is to take inspiration from [Github Actions where tokens are issues to pipelines on-demand](https://docs.github.com/en/actions/security-for-github-actions/security-guides/automatic-token-authentication), and implement an OAuth2 provider into Woodpecker that issues token to pipelines with specialized fields and claims identifying the specific pipeline execution.\n\n### Alternative\n\nAdding secrets to pipelines via the existing secrets mechanism can give us some of the functionality, but lacks the fine-grained access that can be given by issuing tokens with exact information about a specific pipeline execution. It is also vulnerable to secret leakage since the secret have a life-time far greater that an single execution.\n\n### Additional context\n\nA lot of legislation is arriving that demands greater and greater cyber security and supply-chain security. Figuring out how we can best support `cosign` with Woodpecker can become important for future use of Woodpecker in commercial settings. And personally I'm very interested in being able to produce [SLSA](https://slsa.dev/) level 3 compliant software artifacts.\n\n### Validations\n\n- [x] Checked that the feature isn't part of the `next` version already [https://woodpecker-ci.org/versions]\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.",[3236],{"name":3168,"color":3169},4837,"Workload identities for pipelines","2025-02-25T09:05:13Z","https://github.com/woodpecker-ci/woodpecker/issues/4837",0.7517142,{"description":3243,"labels":3244,"number":3246,"owner":3146,"repository":3147,"state":3192,"title":3247,"updated_at":3248,"url":3249,"score":3250},"### Component\n\nserver, agent\n\n### Describe the bug\n\nThe pipeline ID of the `CI_PIPELINE_URL` environment variable is always zero and not the actual pipeline ID. I don't know if the bug is in the server or in the agent.\n\n### System Info\n\n```shell\nVersion 2.0.0. Agent and server running on the same host and started manually.\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).",[3245],{"name":3157,"color":3158},2906,"$CI_PIPELINE_URL always \u003Cbase_url>/repos/\u003Crepo_id>/pipeline/0","2023-12-04T15:47:20Z","https://github.com/woodpecker-ci/woodpecker/issues/2906",0.753128,["Reactive",3252],{},["Set"],["ShallowReactive",3255],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fd-B9UhikUzJ4q_SOyPsH5cQphgeustDVsiFfDnjD46s":-1},"/woodpecker-ci/woodpecker/2819"]