Summary
kbagent data-app list reports "No data apps found." for a project that has 139 data apps. It appears to read only the first (default, 100-item) page of the Data Science GET /apps response and then filter for keboola.data-apps. In projects with many workspaces (keboola.sandboxes), that first page can contain no data apps at all.
Environment
- kbagent v0.95.0 (latest release, installed from the release wheel), Windows 11
- Stack:
connection.us-east4.gcp.keboola.com, project 133
- Auth: static, non-master Storage token
Reproduction
kbagent --json data-app list
# {"status": "ok", "data": {"apps": [], "errors": []}}
The Storage side shows the apps exist:
kbagent --json config list --component-id keboola.data-apps
# 139 configs
Querying the Data Science API directly with the same token:
| Request |
Items returned |
keboola.data-apps among them |
GET /apps (no params) |
100 |
0 |
GET /apps?limit=500&offset=N, paged to the end |
1,114 |
139 (975 are keboola.sandboxes) |
The first data app sits at position 258 of the unfiltered list, so a single default-size page yields zero data apps.
Expected
data-app list returns all 139 data apps, either by paging GET /apps with limit/offset until a short page, or by passing a server-side filter for the data-apps component if the API supports one.
Impact
- Users conclude a project has no apps (or that their token lacks access), when it does.
data-app detail / deploy / start / stop need the numeric Data Science app id, which users normally discover through data-app list, so those commands become hard to use in large projects.
- Any agent relying on
data-app list to decide whether a prod app already exists could wrongly create a duplicate app.
Summary
kbagent data-app listreports "No data apps found." for a project that has 139 data apps. It appears to read only the first (default, 100-item) page of the Data ScienceGET /appsresponse and then filter forkeboola.data-apps. In projects with many workspaces (keboola.sandboxes), that first page can contain no data apps at all.Environment
connection.us-east4.gcp.keboola.com, project 133Reproduction
The Storage side shows the apps exist:
Querying the Data Science API directly with the same token:
keboola.data-appsamong themGET /apps(no params)GET /apps?limit=500&offset=N, paged to the endkeboola.sandboxes)The first data app sits at position 258 of the unfiltered list, so a single default-size page yields zero data apps.
Expected
data-app listreturns all 139 data apps, either by pagingGET /appswithlimit/offsetuntil a short page, or by passing a server-side filter for the data-apps component if the API supports one.Impact
data-app detail / deploy / start / stopneed the numeric Data Science app id, which users normally discover throughdata-app list, so those commands become hard to use in large projects.data-app listto decide whether a prod app already exists could wrongly create a duplicate app.