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

Support for Jira API v3 #395

Open
preroq opened this issue Aug 13, 2021 · 3 comments · May be fixed by #601
Open

Support for Jira API v3 #395

preroq opened this issue Aug 13, 2021 · 3 comments · May be fixed by #601
Labels
needs triage Ticket that needs triage (a proper look for classification)

Comments

@preroq
Copy link

preroq commented Aug 13, 2021

Is your feature request related to a problem? Please describe.

I am developing a project dependent on the go-jira and I would like to start by using v3 Jira APIs (https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/)

Currently, (almost) all API calls are based on the v2 Jira API version. I can (and have) use the NewRequest/Do pattern described in the examples, however this is kludgy. I would prefer to use direct methods to obtain the results in the same manner that v2 API is currently supported. Also, since the v3 structures are not supported then I would be required to re-implement the structures in my project.

Describe the solution you'd like

I would like to have built-in support for v3 APIs. Preferably so that both v2 and v3 are supported by the same version of the library.

Describe alternatives you've considered

As mentioned in the description I can request the v3 APIs directly through NewRequest/Do and write my own deserializer for the changed structures but this is suboptimal as I am probably duplicating work that others require as well :)

Additional context

Looking at the OpenAPI specification of the v3 APIs there are not that many changes, although that may depend on your point of view. For the most part, the v2 and v3 just have different endpoints (replacing 2 with 3, surprisingly :) ), but otherwise they return almost the same structures.

The major difference is the ADF (Atlassian Document Format) which impacts how some fields are constructed. Instead of strings some APIs return values describing documents in specific JSON format. Please see the above link to the v3 API for the details. Additionally, note that while testing I have also seen some differences with parameters' support between the v2 and v3 APIs (specifically, the difference between project and project/search) but, while sometimes confusing, this can be addressed by samples and documentation.

@github-actions
Copy link

Hi! Thank you for taking the time to create your first issue! Really cool to see you here for the first time. Please give us a bit of time to review it.

@preroq
Copy link
Author

preroq commented Aug 13, 2021

Please note that I would be happy to provide the PR for this. I think it will be quite involved and complex and would prefer to sync-up with you, the maintainers, if you already have plans on how to address the problem. Alternatively, if there is already some work in progress to address this, I would be happy to lend a hand.

@andygrunwald andygrunwald added the needs triage Ticket that needs triage (a proper look for classification) label Aug 20, 2022
@andygrunwald
Copy link
Owner

Hey,

I am very sorry that this issue has been open for a long time with no final solution. We work on this project in our spare time, and sometimes, other priorities take over. This is the typical open source dilemma.

However, there is news: We are kicking off v2 of this library 🚀

To provide visibility, we created the Road to v2 Milestone and calling for your feedback in #489

The development will take some time; however, I hope you can benefit from the changes.
If you seek priority development for your issue + you like to sponsor it, please contact me.

What does this mean for my issue?

We will work on this issue indirectly.
This means that during the development phase, we aim to tackle it.
Maybe in a different way like it is currently handled.
Please understand that this will take a while because we are running this in our spare time.

Final words

Thanks for using this library.
If there is anything else you would like to tell us, let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs triage Ticket that needs triage (a proper look for classification)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants