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 Service Connection #59

Merged
merged 15 commits into from
Jan 24, 2024
Merged

Jira Service Connection #59

merged 15 commits into from
Jan 24, 2024

Conversation

mfleader
Copy link
Collaborator

@mfleader mfleader commented Nov 28, 2023

Type of change

  • New feature

Description

Add a connector and http endpoint for Jira so to facilitate the use of Jira data and statistics in a dashboard view.

Related Tickets & Documents

  • Related Issue #
  • Closes #

Checklist before requesting a review

  • I have performed a self-review of my code.
  • If it is a core feature, I have added thorough tests.

Testing

  • Please describe the System Under Test.
  • Please provide detailed steps to perform tests related to this code change.
  • How were the fix/results from this change verified? Please provide relevant screenshots or results.

@mfleader mfleader marked this pull request as ready for review November 29, 2023 15:48
Copy link
Member

@chentex chentex left a comment

Choose a reason for hiding this comment

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

LGTM

@athiruma
Copy link
Collaborator

athiruma commented Dec 5, 2023

Why do we need to create this endpoint when Jira already has an API endpoint?
If we need to use it within other endpoints or mappers, we can create a class to access the Jira APIs

@mfleader
Copy link
Collaborator Author

mfleader commented Dec 5, 2023

@athiruma fair question.

I see it as a trade off between writing and maintaining our own Jira API types and data hooks in JavaScript or TypeScript (or working with another community project like jira.js or jira-client), or adding an endpoint that uses the Atlassian supported Python API to Jira.

Atlassian's Python API was the only project that supported the only authentication method I have available, a secret personal access token, so it was the quickest solution.

@mfleader
Copy link
Collaborator Author

mfleader commented Dec 5, 2023

Somewhat in line with @chentex said, I think as we determine what needs to be queried on the Jira API for the dashboard the trade-off of this endpoint's existence should be re-evaluated.

At the moment, I do not know what the UI needs from Jira, so this is a flexible solution.

@vishnuchalla
Copy link
Collaborator

Just curious, why do we need this JIRA connection? Just trying to understand the purpose of it.

Copy link
Member

@chentex chentex left a comment

Choose a reason for hiding this comment

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

Since I see most of us have doubts about this I propose the following steps:

1. @mfleader has already provided a Jira Service that could be used by any teams if they need to query something from Jira to their custom pages, that is a win and is done in a way any team could use it eventually.
2. Remove the enpoint, my reasoning:
1. We do not have plans on displaying raw Jira data in the dashboard.
2. If at some point it is needed to display something, I am sure that data would need to be formatted to a state that the UI could take and display it in a custom UI component, so probably the team doing that would use a specific new endpoint for that part and use the already provided Jira service to query their data and then clean it up to display it.

Please let me know if you agree with this @mfleader @athiruma @vishnuchalla

Copy link

github-actions bot commented Jan 6, 2024

This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@github-actions github-actions bot added the Stale label Jan 6, 2024
@mfleader
Copy link
Collaborator Author

mfleader commented Jan 8, 2024

Since I see most of us have doubts about this I propose the following steps:

  1. @mfleader has already provided a Jira Service that could be used by any teams if they need to query something from Jira to their custom pages, that is a win and is done in a way any team could use it eventually.

  2. Remove the enpoint, my reasoning:

    1. We do not have plans on displaying raw Jira data in the dashboard.
    2. If at some point it is needed to display something, I am sure that data would need to be formatted to a state that the UI could take and display it in a custom UI component, so probably the team doing that would use a specific new endpoint for that part and use the already provided Jira service to query their data and then clean it up to display it.

Please let me know if you agree with this @mfleader @athiruma @vishnuchalla

By already provided Jira service, do you mean the underlying Jira service that this endpoint is using?

From the conversations outside of this PR, it sounds like folks do want some sort of Jira endpoint here.

I think my point about using Atlassian's supported Python API still stands.

@github-actions github-actions bot removed the Stale label Jan 8, 2024
Copy link
Member

@chentex chentex left a comment

Choose a reason for hiding this comment

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

Since the time of my suggestions seems that now there is a need for the endpoint, so scratch all of that,
Seems that the consensus is to provide a JQL to the endpoint to get the needed fields.
i added some comments to reorganize the PR, to merge it after.

backend/app/api/v1/endpoints/cpt/jira.py Outdated Show resolved Hide resolved
backend/app/api/api.py Outdated Show resolved Hide resolved
backend/app/services/jira_svc.py Show resolved Hide resolved
backend/skeleton.toml Outdated Show resolved Hide resolved
@mfleader mfleader requested a review from chentex January 22, 2024 17:22
Copy link
Member

@chentex chentex left a comment

Choose a reason for hiding this comment

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

/lgtm thanks for the changes @mfleader

Copy link
Contributor

@dustinblack dustinblack left a comment

Choose a reason for hiding this comment

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

LGTM

@chentex chentex merged commit ad5ab60 into cloud-bulldozer:main Jan 24, 2024
@chentex
Copy link
Member

chentex commented Jan 24, 2024

Thanks for the contribution @mfleader !

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.

5 participants