openSUSE / trollolo

Trello command line client
GNU General Public License v3.0
40 stars 29 forks source link

Remove card priority when cleaning Sprint #137

Open Ana06 opened 6 years ago

Ana06 commented 6 years ago

When executing cleanup-sprint the cards are moving to the backlog with the priority. It would be great to remove it automatically.

Ana@linux-nt5w:~> trollolo cleanup-sprint --board-id=Fs7boVwI --target-board-id=kCXtUSYN
'/home/Ana/burndown-data-01.yaml' not found. Skipping automatic burndown generation.
moving card "(5) P4: Document BsRequest" to list "Ready for planning"
moving card "(3) P1: Edit sections image and description" to list "Ready for planning"
moving card "(3) P6: UI request diff truncate hint missing" to list "Ready for planning"
moving card "(8) P2: Studio Express Workflow" to list "Ready for planning"
cornelius commented 6 years ago

Often it's helpful to still have the priorities there after the cleanup so you can for example reestimate them and put them back into the backlog in the same order as before. So I would suggest to add this as an option --remove-priorities to the command.

Ana06 commented 6 years ago

I would do it the other way around, removing them automatically and have a command to keep priorities. 🤔

cornelius commented 6 years ago

My rationale for requiring the user to explicitly call the option for removing the priority is that this is a destructive operation and that defaults should be non-destructive. There is no way to get the priorities back once they are removed so when the user has to add the option to remove them there are no surprises which can't be undone.

This has to be balanced with ease of use, though. The common case should usually be the default. I'm not clear what would be the common case here. We have two data points, your team which would remove them and my team which would probably keep them.

Another alternative would be to make the operation non-destructive for example by providing an undo feature. This probably would be overengineering in this case. But maybe there is a lightweight variant such as writing a log of the operations from where you can see what has been removed and you could restore it manually if needed.