pycontribs / jira

Python Jira library. Development chat available on https://matrix.to/#/#pycontribs:matrix.org
https://jira.readthedocs.io
BSD 2-Clause "Simplified" License
1.95k stars 863 forks source link

ISSUE-1836: Add `Dashboard` Support #1837

Closed jpavlav closed 6 months ago

jpavlav commented 6 months ago

Addresses ISSUE-1836

1836

The impetus for these changes is a project I'm working on at work. We want to create a dynamically updating dashboard that helps prioritize maintenance operations. I realize this is a large PR, and one large commit, but I feel like the work in it's entirety makes sense when looked at together. Additionally, there are some changes that were just formatting, in the case where spacing or anything along those lines have changed, that was auto-formatting and accepted by the linting tox -e lint.

jira/client.py


jira/resources.py

jira/utils/init.py

^^ Regarding these convenience decorators, it makes it really apparent to developers which calls are for the cloud and/or experimental.

Finally I wrote tests to cover these changes. These tests worked for me locally against my docker jira server instance. However, most of them didn't run, because the test checks the environment to find out where it is running.

For the cloud tests, I signed up for a trial account for jira cloud and ran them against my instance. They all panned out okay and cleaned up after themselves appropriately.

jpavlav commented 6 months ago

Thanks for taking a look! I'll make another commit with some updates addressing your feedback.

jpavlav commented 6 months ago

@adehad I think I've got it now. I added the paths to the new resources. Added some more data points for the parameterized test_generic_resource that cover the new additions to that resource map dict. I also peppered the dashboard tests themselves with isinstance assertions where I thought it made sense. The cloud tests are still passing locally for me so figured πŸ‘ . Let me know if there is anything else I need to address please πŸ˜„