-
Notifications
You must be signed in to change notification settings - Fork 177
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
[backends] How to keep a track of APIs #642
Comments
After giving it a bit a thought two possible ways can be there:
|
I also explored a third alternative to provide a solution to this issue. It will help with automating a few tasks. However, a few associated problems make it not a good approach in my opinion. I would still like to state the solution as some reviews may make it feasible.
Problem: The above approaches involves the problem of maintaining these sample user accounts. If we keep the credentials open it may create obvious problems. If the credentials are not open it will be utilized only by certain project maintainer and thus will not have use of being open source. Additionally, there is a chance of the user tokens getting expired. |
Any comments from the community are much appreciated as all the ideas are still in an early stage :) |
This seems to be a great idea, API changes are not that frequent but having a changelog will be helpful in the long run. |
Thank you for you comments @imnitishng. Lets wait for others to reply. Maybe we can collaborate together if this idea goes forwards :) |
Sorry @animeshk08 I'm late on this discussion. I'll try to answer tomorrow |
Hi @animeshk08 , The first 2 ideas look good, I understand that they are based on a (semi)manual approach to update the file and changelog. I have some questions:
The 3rd idea looks interesting, I understand that it's based on a (semi)automatic approach. I have some questions:
|
Hi @valeriocos. Sorry for the delayed reply. Thank you for raising such good questions.
The current approach involves a manual way of visiting the API docs after a regular time period. The idea of having a crawler seems interesting. I think it may have some problems as many APIs do not have a good release doc. Also, the release doc may not have clear keywords that may be needed. It would have been effective if we were focusing on a small number of backends, however, the backends are continuously increasing in GrimoireLab. Let me look at the release doc of the API if a good number of them are consistent we can use this to complement the changelog file.
That's a great idea. I have not yet had a look at previous works. Let me do some digging and get back to you we will surely find some related work.
The current approach does not solve this problem. I was unaware of such changes. Let me think if there is some workaround for this. Also in your experience how often does this happen?
As I have mentioned header related changes are not yet covered in this approach. In case there is a change in the auth format it will be not be accepted by the endpoint. This should raise an error(correct me if I am wrong does the endpoint continue the support for the token even after the change in the release). We can handle this error separately. The significance of the script is to help in catching these errors. Though I think the server logs are already doing that. I would like to add that the script is meant to catch changes that are missed in the docs(either the doc is not maintained or the change has been overlooked). Hence looking at the API docs once in a while and subscribing to the releases mail/newsletter still remains an effective solution for this issue. Thank you for all your questions. I understand there are a few issues with the approaches currently. I will look for related approaches and get back to you with a better/more solid proposal for this idea :) |
Thank you @animeshk08
It doesn't often happen. I remember only 2 cases in the last year: |
This issue is opened as GrimoireLab does not have a way to keep track of the changes which happen to the APIs used to fetch the data from various data sources. Although this does not present itself as a big issue as most of the APIs are quite stable and changes do not take place much often. However, some APIs are still in there
beta
phase(e.g. Gitter) and may evolve in the future.A bit of discussion about this was made here: #636
EDIT: Another reason for opening this issue is that a lot of the APIs may add additional fields which may help us in getting more data from there data sources. However, this would not come in light unless the documentation is checked.
The text was updated successfully, but these errors were encountered: