Fancy pants task management (GitLab and Jira) CLI/TUI in Rust
Find a file
2024-04-18 08:41:30 -05:00
.cargo A good place? 2024-03-19 12:07:37 -05:00
.vscode A good place? 2024-03-19 12:07:37 -05:00
src Config file path 2024-04-18 08:41:30 -05:00
.envrc Initial commit 2024-03-18 22:46:41 -05:00
.gitignore Cleanup some client structure 2024-03-19 16:47:50 -05:00
Cargo.lock Maybe I can mutex now 2024-04-18 08:21:43 -05:00
Cargo.toml Maybe I can mutex now 2024-04-18 08:21:43 -05:00
flake.lock Initial commit 2024-03-18 22:46:41 -05:00
flake.nix Logs to file 2024-04-16 15:15:40 -05:00
readme.md Logs to file 2024-04-16 15:15:40 -05:00

Task Management

Currently, at my job, I have a number of layers of red tape to work through just to actually make commits.

  • I must have a Jira ticket to work against. This is almost never provided to me and is something I make myself.
  • I must have a GitLab branch name that matches the Jira ticket.
  • I must progress the Jira ticket separately from the GitLab branch.

My goal is to unify these without having to page through these applications which often breaks flow. Here's how I'm hoping to structure this:

  • I run a command indicating a new task that I am working on.
    • Something like task new 'fix slack token being logged'
    • Perhaps also prompts me with a fuzzy finder for a project as well?
  • This gives me a ticket ID
    • If I provided a project as well, it should checkout a new branch with the correct branch name for that project branching off the latest default branch from the origin
    • Perhaps it also moves my current working directory into the project
    • Perhaps it even further opens my text editor
  • I make commits and push them up
    • Each project needs to have hooks setup in the git config with GitLab that create a draft MR
  • I need those commits to be reviewed, so I need a way to ask for reviews
    • Something like task request-review $ID?
    • Marks the review as "ready" (not a "draft")
    • This then has different flows depending on the project, but primarily would mean sending a message in Slack with the format !review $LINK_TO_MR - $SUMMARY_OF_CHANGE
  • Once the MR is ready to merge, I need to be notified as I want to merge and deploy it
    • The code review bot does notify in the review thread. Perhaps I can listen for this?
    • I need to merge the MR
    • If the project requires it, I need to manually confirm that I want to deploy to production
    • Once my change has been deployed, I need to close the related Jira ticket

My goal is to codify this process as generically as possible and make way for project-specific details as well so that I can minimize my personal overhead as I go through this process and possibly even across the organization.

It would also be nice to manage tasks across the team, dumping the state of my Jira board and diffing that over intervals of time would be useful to see how tasks progress over time.