Parameters for manual pipelines#4861
Conversation
Introduced backend API endpoints, database operations, and web UI components for creating, updating, listing, and deleting manual pipeline parameters. This update includes tests for datastore functions, integration with the Vue.js web interface, and mock implementation for parameter-related methods.
Refactor boolean value management by introducing a dedicated `booleanValue` ref to enhance reactivity and avoid direct prop mutations. Adjust watchers and logic to ensure consistent conversion between boolean and string representations.
|
Whoa, thank you very much for your work! This closes #3326, right? I'm personally not sure if it would be better to define these in the yaml files, but I also see some problems with this, e.g. it would be per-workflow then and we have to pre-fetch the yamls to get the parameters. And just from a very short overview of your code: You don't need a migration to sync the model, that's handled inside already. |
|
@qwerty287 yes, I looked at #3326 and I really wanted something similar to GitHub workflow inputs. but for that to work we would need to have woodpecker pipeline workflows fully loaded and parsed ahead of running a manual pipeline. that made me rethink the approach. And I found the least invasive and more elegant way to simply plug into existing Additional pipeline variables in the manual pipeline window. |
| repo.DELETE("/logs/:number", session.MustPush, api.DeletePipelineLogs) | ||
|
|
||
| // requires push permissions | ||
| repo.GET("/parameters", api.GetParameterList) |
There was a problem hiding this comment.
Shouldn't the parameters list also require push privs?
|
@arthurpro Sorry for the delay. Could you resolve the merge conflicts and look at the open feedback? |
|
@xoxys sure, I will take a look at that during this week |
|
closing as of #5632 |
The Parameters feature introduces a flexible and dynamic way to manage environment variables for manual pipelines.
Key Features:
This PR is open for suggestions and improvements.