• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kobotoolbox / kpi / 17162771449
81%
master: 76%

Build:
Build:
LAST BUILD BRANCH: beccagraber/dev-1452-new_action
DEFAULT BRANCH: master
Ran 22 Aug 2025 06:49PM UTC
Jobs 2
Files 860
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 Aug 2025 06:14PM UTC coverage: 81.094% (-0.3%) from 81.41%
17162771449

push

github

web-flow
docs(api): set up API documentation with drf-spectacular and Swagger UI (#5746)

### 📣 Summary
Integrated drf-spectacular and Swagger UI to auto-generate OpenAPI
documentation and added developer documentation to guide implementation
for each endpoint.


### 📖 Description
This PR introduces API documentation support using drf-spectacular for
OpenAPI schema generation and Swagger UI for live documentation
browsing. The setup enables automatic schema generation for KPI’s v2 API
and lays the foundation for documenting all endpoints consistently.

Enabled Swagger UI at `/api/v2/docs/` and schema access at
`/api/v2/schema/`.

Added
[README](https://github.com/kobotoolbox/kpi/blob/6d285ad83/docs/README.md)
on how to document a ViewSet properly using `@extend_schema` and related
helpers.


### 🗒️ Endpoints checklist

### Access Logs
- [x] /api/v2/access-logs/
- [x] /api/v2/access-logs/export/
- [x] /api/v2/access-logs/me/
- [x] /api/v2/access-logs/me/export/

### Asset Snapshots
- [x] /api/v2/asset_snapshots/
- [x] /api/v2/asset_snapshots/{uid}/
- [x] /api/v2/asset_snapshots/{uid}/preview/
- [x] /api/v2/asset_snapshots/{uid}/xform/
- [x] /api/v2/asset_snapshots/{uid}/xml_with_disclaimer/
   #### OpenRosa for edits
   - [x] /api/v2/asset_snapshots/{uid}/formList
   - [x] /api/v2/asset_snapshots/{uid}/manifest
   - [x] /api/v2/asset_snapshots/{uid}/submission

### Asset Subscriptions
- [x] /api/v2/asset_subscriptions/
- [x] /api/v2/asset_subscriptions/{uid}/

### Asset Usage
- [x] /api/v2/asset_usage/

### Assets
- [x] /api/v2/assets/
- [x] /api/v2/assets/{parent_lookup_asset}/counts/
- [x] /api/v2/assets/{parent_lookup_asset}/data/
- [x]
/api/v2/assets/{parent_lookup_asset}/data/{parent_lookup_data}/attachments/
- [x]
/api/v2/assets/{parent_lookup_asset}/data/{parent_lookup_data}/attachments/{pk}/
- [x]
/api/v2/assets/{parent_lookup_asset}/data/{parent_lookup_data}/attachments/{pk}/{suffix}/
- [x] /api/v2/assets/{parent_lookup_a... (continued)

6900 of 10895 branches covered (63.33%)

2276 of 2542 new or added lines in 214 files covered. (89.54%)

19 existing lines in 5 files now uncovered.

26616 of 32821 relevant lines covered (81.09%)

1.6 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
1
95.16
0.33% kobo/apps/hook/models/hook.py
1
87.5
kobo/apps/openrosa/schema_extensions/v2/submission/extensions.py
1
83.33
kpi/schema_extensions/v2/asset_attachments/extensions.py
1
83.33
kpi/schema_extensions/v2/asset_subscriptions/extensions.py
1
83.33
kpi/schema_extensions/v2/tos/extensions.py
1
94.12
-5.88% kpi/utils/viewset_mixins.py
2
81.82
kobo/apps/audit_log/schema_extensions/v2/access_logs/extensions.py
2
81.82
kobo/apps/hook/schema_extensions/v2/hooks/logs/extensions.py
2
83.33
kobo/apps/languages/schema_extensions/v2/languages/extensions.py
2
84.62
kpi/schema_extensions/v2/imports/extensions.py
2
81.82
kpi/schema_extensions/v2/users/extensions.py
2
85.71
-6.59% kpi/serializers/v2/reports.py
2
81.82
kpi/utils/schema_extensions/extensions.py
2
88.24
kpi/utils/schema_extensions/url_builder.py
3
81.25
kobo/apps/audit_log/schema_extensions/v2/audit_logs/extensions.py
3
81.25
kobo/apps/audit_log/schema_extensions/v2/history/extensions.py
3
88.24
-0.26% kobo/apps/openrosa/apps/api/viewsets/xform_list_api.py
3
81.25
kobo/apps/project_ownership/schema_extensions/v2/project_ownership/transfers/extensions.py
3
84.27
0.0% kpi/models/import_export_task.py
3
78.57
kpi/schema_extensions/v2/asset_usage/extensions.py
3
80.0
kpi/schema_extensions/v2/permissions/extensions.py
3
81.25
kpi/schema_extensions/v2/service_usage/extensions.py
3
80.0
kpi/schema_extensions/v2/tags/extensions.py
3
83.33
kpi/utils/schema_extensions/markdown.py
4
89.19
1.31% kobo/apps/accounts/serializers.py
5
79.17
kobo/apps/hook/schema_extensions/v2/hooks/extensions.py
5
58.33
kobo/apps/openrosa/schema_extensions/v2/formlist/extensions.py
5
58.33
kobo/apps/openrosa/schema_extensions/v2/manifest/extensions.py
5
81.48
kobo/apps/project_ownership/schema_extensions/v2/project_ownership/invites/extensions.py
5
82.76
kpi/schema_extensions/v2/members/extensions.py
5
79.17
kpi/schema_extensions/v2/paired_data/extensions.py
5
79.17
kpi/utils/schema_extensions/examples.py
6
78.57
kpi/schema_extensions/v2/asset_permission_assignments/extensions.py
6
79.31
kpi/schema_extensions/v2/export_settings/extensions.py
6
81.25
kpi/schema_extensions/v2/invites/extensions.py
6
79.31
kpi/schema_extensions/v2/me/extensions.py
6
79.31
kpi/schema_extensions/v2/versions/extensions.py
7
78.79
kpi/schema_extensions/v2/data/extensions.py
7
78.79
kpi/schema_extensions/v2/export_tasks/extensions.py
7
78.79
kpi/schema_extensions/v2/files/extensions.py
7
86.79
kpi/utils/schema_extensions/fields.py
8
78.38
kpi/schema_extensions/v2/asset_snapshots/extensions.py
9
68.97
kpi/schema_extensions/v2/openrosa/extensions.py
9
52.63
kpi/views/v2/swagger_ui.py
10
77.78
kpi/schema_extensions/v2/organizations/extensions.py
11
77.08
kobo/apps/project_views/schema_extensions/v2/extensions.py
21
32.26
kpi/utils/spectacular_processing.py
49
75.74
kpi/schema_extensions/v2/assets/extensions.py

Uncovered Existing Lines

Lines Coverage ∆ File
1
95.16
0.33% kobo/apps/hook/models/hook.py
1
88.48
0.53% kpi/views/v2/data.py
2
74.55
5.66% kpi/views/v2/user.py
6
40.63
-9.38% kobo/apps/subsequences/utils/deprecation.py
9
34.67
-10.54% kpi/utils/two_database_configuration_checker.py
Jobs
ID Job ID Ran Files Coverage
1 17162771449.1 22 Aug 2025 06:49PM UTC 860
78.78
2 17162771449.2 22 Aug 2025 06:51PM UTC 860
81.08
Source Files on build 17162771449
  • Tree
  • List 860
  • Changed 92
  • Source Changed 0
  • Coverage Changed 92
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 9f4a3944 on github
  • Prev Build on main (#17159619175)
  • Next Build on main (#17164713081)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc