Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Jira Kanban mode #16

Merged
merged 18 commits into from
Mar 6, 2023
Merged

Conversation

froznsm
Copy link
Contributor

@froznsm froznsm commented Feb 14, 2023

Adds #7.

Some additional changes worth mentioning:

  • renamed updateCurrentSprint to update
  • added variations of a few helper functions

Thorough testing is needed, but it works like my hacked together version now.

All feedback and change requests are welcome :)

@bcwilsondotcom
Copy link
Contributor

Would love to see this get merged

@BoxThatBeat
Copy link
Owner

BoxThatBeat commented Feb 22, 2023

Hey @froznsm this is great stuff! I did some testing and found some bugs and I am working on some improvements. I wanted your opinion on a potential change. To reduce the complexity of having to manually add the column names of the board, I was thinking we could get the board config from the API and just by default get all tasks from that board and then just take the last column as the "final" by default. Then provide an optional comma-separated list of custom "final" columns. This does limit the user since they can't decide which columns to import but I believe that is still better. What do you think?

@BoxThatBeat
Copy link
Owner

Feel free to email me at aaron.buitenwerf@carleton.ca if that is easier than discussing here.

@BoxThatBeat
Copy link
Owner

Some changes I've made so far:

  • Any notes that were final before they were made in Obsidian would not get created and put in the final folder -fixed
  • Added the Kanban board creation. Even if it's something not all users wish to use, there is always the option to turn it off in settings.
  • Added a trim on the comma-separated lists so that if there are spaces after the commas, it will remove them
  • Changed where we get status from in the response: status.statusCategory.name to status.name (bug)

@BoxThatBeat
Copy link
Owner

So my proposed next change would be this:

  • Make a simple request to get all issues assigned to the user on the board (no check for status)
  • Have a comma separated list of final states, and simply filter those from the returned list (less API requests)
  • If that list of final states is empty, take the last column of the configuration by default

@froznsm
Copy link
Contributor Author

froznsm commented Feb 23, 2023

Thanks for the improvements, fixes and suggestions @BoxThatBeat!

Some changes I've made so far:

  • Any notes that were final before they were made in Obsidian would not get created and put in the final folder -fixed
  • Added the Kanban board creation. Even if it's something not all users wish to use, there is always the option to turn it off in settings.
  • Added a trim on the comma-separated lists so that if there are spaces after the commas, it will remove them
  • Changed where we get status from in the response: status.statusCategory.name to status.name (bug)

Good stuff!

So my proposed next change would be this:

  • Make a simple request to get all issues assigned to the user on the board (no check for status)
  • Have a comma separated list of final states, and simply filter those from the returned list (less API requests)
  • If that list of final states is empty, take the last column of the configuration by default

This approach could certainly work and is more flexible than what I did, so I guess for future proofing this would be better. 👍 from me.

@BoxThatBeat
Copy link
Owner

Alright I'll try that out and see if it works well! By the way, what is the use case to have multiple "final" state statuses? @froznsm

@froznsm
Copy link
Contributor Author

froznsm commented Feb 23, 2023

The ones we use at work are Done and Won't do. Sometimes an issue can get passed around, be estimated, stay in impeded, whatever and it might be decided that it is not worth it and will be moved to Won't do. The distinction of final states really serves documentation purposes. The obsidian note that might have been created during this time should still be moved to the final folder.

@BoxThatBeat
Copy link
Owner

Hmm makes sense!

@BoxThatBeat
Copy link
Owner

Hey @froznsm! I made quite a few changes to how this all works and I think it is in a good state. Could you pull the changes and test it out in your use case and let me know how it goes before I merge this? The major change I made was removing all new settings except the toggle between modes. It now determines which files should be in the "completed" folder (renamed from final) by checking for the existence of a field called "resolution" which is Jira's marker for a finished issue. All columns that should mark tasks as complete should have a check mark beside them:
image

You can assign columns this "resolution" designation in settings or with simple Kanban boards it is the "done" state in the workflow.

@froznsm
Copy link
Contributor Author

froznsm commented Mar 1, 2023

@BoxThatBeat I have tested the changes and they do work, as in there are not obvious bugs. Good work!

One unfortunate side-effect of your implementation is however, that notes are created for backlog items as well (at least with our board config). I would prefer to only have notes for tickets that currently are in progress, which is why I implemented the setting to make this part configurable. I don't mind it much, so if you feel this way is better, you can merge.

@BoxThatBeat
Copy link
Owner

@froznsm Thanks! Ya I did notice that when I did testing. I wonder if I could just add a boolean setting for whether to include the backlog items or not. I assume the name of the backlog would never change and thus could just be string compared to get rid of it?

@froznsm
Copy link
Contributor Author

froznsm commented Mar 1, 2023

Great idea! A toggle for backlog items would solve my issues and probably work in almost all cases.

@BoxThatBeat
Copy link
Owner

@froznsm Could you try out the new toggle for excluding the backlog I just added? If it works on your system I'll merge it!

@BoxThatBeat
Copy link
Owner

@froznsm Do you plan on testing or should I just merge it?

@froznsm
Copy link
Contributor Author

froznsm commented Mar 6, 2023

sorry for the delay, I just tested it and it works well. Fell free to merge

Copy link
Owner

@BoxThatBeat BoxThatBeat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works great!

@BoxThatBeat BoxThatBeat merged commit 9423b9f into BoxThatBeat:master Mar 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants