[Bug][Asana] Story, subtask and tag collectors stop at 100 per task; task and user collectors restart on a full last page
Mantenedores costumam responder em até 2 dias
Avaliação
Esta issue ainda não foi avaliada.
Descrição
Search before asking
- I had searched in the issues and found no similar issues.
What happened
The Asana collectors don't page through list endpoints correctly.
-
collectStory,collectSubtaskandcollectTag(plugins/asana/tasks/{story,subtask,tag}_collector.go) sendlimit=100but have noPageSizeand noGetNextPageCustomData, so theApiCollectormakes one request per task and never sendsoffset. Only the first 100 stories, subtasks and tags of each task are collected. Stories include system events (assignments, section moves, due date changes), so busy tasks go past 100. -
collectTaskandcollectUserdo page withoffset, but theirGetNextPageCustomDatareturnsnil, nilwhennext_pageis null:
if resp.NextPage != nil && resp.NextPage.Offset != "" {
return resp.NextPage.Offset, nil
}
return nil, nil
nil, nil doesn't end the collection. The collector sets CustomData to nil and requests the next page, and the query then has no offset, so it asks for page 1 again. When the last page is full (100 items) and Asana returns "next_page": null, the collector keeps re-collecting the project from the start and saving the same raw rows again.
From the Asana docs (https://developers.asana.com/docs/pagination): limit must be between 1 and 100, and "If there are no more pages available, next_page will be null and no offset will be provided."
What do you expect to happen
All five collectors follow next_page.offset and stop when next_page is null.
How to reproduce
- Stories: collect a project with a task that has more than 100 stories.
_raw_asana_storieshas 100 rows for that task. - Tasks: the
GetNextPageCustomDataabove returnsnil, nilfor a full page with"next_page": null, andfetchPagesSequentiallyinhelpers/pluginhelper/api/api_collector.goonly stops on a short page orErrFinishCollect.
Anything else
Proposed fix (I have a PR ready): a shared getNextAsanaPageOffset that returns api.ErrFinishCollect when next_page is null, and a setAsanaPageQuery that sets limit and offset, used by the task, user, story, subtask and tag collectors.
Version
main
Are you willing to submit PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct
- Linguagem predominante
- Go
- Estrelas
- 3.2k
- Forks
- 840
- Merge médio
- 1d 21h
- PRs com merge (30d)
- 104
Preparar o ambiente
Inicia o contêiner de desenvolvimento do projeto no navegador, com a sua própria conta do GitHub.
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de apache/devlake
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 60/100
Mantenedores costumam responder em até 2 dias
-
[Bug][CircleCI] collectPipelines panics with a nil pointer dereference when the sync policy has no timeAfterTalvez já em andamento @ShivamSharma43 assumiu hoje. Aberta
apache/devlake#9367 · 1 responsável ·
Mantenedores costumam responder em até 2 dias
-
[Bug][GitHub] Extract Issues succeeds without extracting when the issue regexes or milestones can't be loadedTalvez já em andamento @ShivamSharma43 assumiu há 1 dia. Aberta
apache/devlake#9358 · 1 responsável ·
Mantenedores costumam responder em até 2 dias
-
[Bug][Linear] Config UI cannot associate a scope config with Linear team scopesTalvez já em andamento @VictorColomb assumiu há 1 dia. Abertatype/bug
apache/devlake#9355 · 1 responsável ·
Mantenedores costumam responder em até 2 dias
-
[Bug][JIRA Service API TOKEN] Jira API Gateway: saved service-account token truncated by varchar(255), causing Base64 errors and HTTP 500Talvez livre de novo Um pull request para esta issue foi fechado sem ser mesclado. Abertatype/bug
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
apache/devlake#9328 · 1 comentário ·
Mantenedores costumam responder em até 2 dias
Todas as issues de apache/devlake
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
GitHub webhook is not subscribed to release events, so `event: release` never triggersTalvez já em andamento @qsun assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
woodpecker-ci/woodpecker#7542 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
zilliztech/milvus-backup#1386 ·
Mantenedores costumam responder em até 1 dia
-
Pipelined flush no longer observes kill signals after #2042: flush backoffer is built with nil varsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Mantenedores costumam responder em até 1 dia