ShivamSharma43 opened a new issue, #9320: URL: https://github.com/apache/devlake/issues/9320
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/devlake/issues?q=is%3Aissue) and found no similar issues. ### What happened `GET /plugins/tempo/connections/{connectionId}/teams` (`GetTeams` in `backend/plugins/tempo/api/connection.go`) always fails with `failed to unmarshal teams response`. It decodes the `GET /4/teams` response into `[]models.TempoTeamResponse`, but Tempo v4 returns a page object (`PageableTeam`: `self`, `metadata`, `results`), not an array. On `main` (84e3707), decoding such a body with `api.UnmarshalResponse` into `[]models.TempoTeamResponse` fails with `error decoding response from https://api.tempo.io/4/teams: raw response: {"self":...,"metadata":{...},"results":[...]}`. Even if it decoded, it would only return the first page (Tempo's default `limit` is 50). The remote scope search (`searchTempoRemoteTeams` in `api/remote.go`, behind `search-remote-scopes`) has the same single-request issue. It sends one `GET /4/teams?name=...` without `offset`/`limit`, so it only looks at the first 50 teams the API returns. Its own `page`/`pageSize` paging then works on that list, so if more than 50 teams match, the later ones can't be found. ### What do you expect to happen `GET /plugins/tempo/connections/{id}/teams` returns every team of the Tempo instance, and the remote scope search looks at every matching team. Both should follow `metadata.next` like `listTempoRemoteTeams` and the collectors do since #9307. ### How to reproduce 1. Create a Tempo connection. 2. `curl http://localhost:8080/plugins/tempo/connections/1/teams`: the request fails with `failed to unmarshal teams response`. ### Anything else Proposed fix (I have a PR ready): add a `listAllTempoTeams` helper in `api/remote.go` that pages through `GET /4/teams` with `offset`/`limit` until `metadata.next` is absent. Use it in `GetTeams` and in `searchTempoRemoteTeams`, and add unit tests with a fake API client. ### Version main ### Are you willing to submit PR? - [X] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
