• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

kobotoolbox / kpi / 30438343270
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: hugo/dev-1218-backend-error-details
DEFAULT BRANCH: master
Ran 29 Jul 2026 09:12AM UTC
Jobs 1
Files 890
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

29 Jul 2026 09:07AM UTC coverage: 49.358% (-32.6%) from 81.975%
30438343270

Pull #7338

github

web-flow
Merge a913eea8f into ce779a410
Pull Request #7338: fix(api): return generic messages instead of raw exception text DEV-2489

4461 of 12714 branches covered (35.09%)

3 of 8 new or added lines in 3 files covered. (37.5%)

3933 existing lines in 134 files now uncovered.

18569 of 37621 relevant lines covered (49.36%)

0.49 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
30.22
0.52% kobo/apps/subsequences/serializers.py
2
57.14
-23.81% kpi/fields/writable_json.py
1
51.61
0.53% kobo/apps/accounts/mfa/views.py

Coverage Regressions

Lines Coverage ∆ File
667
5.22
-74.11% kpi/utils/query_parser/canopy_autogenerated_parser/__init__.py
319
26.46
-47.68% kpi/models/import_export_task.py
192
34.68
-29.86% kpi/serializers/v2/asset.py
188
59.1
-32.58% kpi/models/asset.py
123
28.65
-33.24% kpi/views/v2/asset.py
117
25.28
-65.73% kpi/utils/query_parser/query_parser.py
97
30.58
-47.09% kobo/apps/project_ownership/models/transfer.py
87
39.5
-43.5% kpi/utils/xml.py
83
70.3
-22.62% kpi/mixins/object_permission.py
70
23.4
-74.47% kpi/utils/xlsform_preprocessors/kobomatrix_handler.py
67
25.35
-31.46% kpi/filters.py
64
12.36
-71.91% kobo/apps/reports/report_data.py
63
32.52
-51.22% kobo/apps/accounts/forms.py
60
37.56
-9.88% kpi/deployment_backends/openrosa_backend.py
58
31.46
-65.17% kpi/deployment_backends/mock_backend.py
54
35.34
-40.6% kpi/paginators.py
52
12.68
-73.24% kpi/utils/sluggify.py
50
54.57
-12.35% kpi/deployment_backends/base_backend.py
49
28.28
-49.49% kpi/password_validation.py
46
43.91
-10.57% kobo/apps/audit_log/models.py
44
37.07
-37.93% kpi/models/asset_snapshot.py
43
33.91
-37.39% kpi/utils/autoname.py
39
35.2
-31.2% kpi/models/paired_data.py
38
34.52
-45.24% kobo/apps/audit_log/base_views.py
37
51.27
-18.78% kpi/mixins/formpack_xlsform_utils.py
37
38.83
-35.92% kpi/utils/usage_calculator.py
35
18.75
-72.92% kpi/utils/xlsform_preprocessors/koborank_handler.py
34
37.14
-48.57% kpi/utils/cache.py
32
53.92
-31.37% kpi/models/asset_file.py
31
62.63
-31.31% kpi/utils/django_orm_helper.py
29
21.95
-70.73% kpi/utils/xlsform_preprocessors/koboscore_handler.py
27
0.0
-72.97% kobo/apps/accounts/adapter.py
27
15.52
-15.52% kobo/apps/project_ownership/utils.py
27
33.96
-50.94% kpi/fields/file.py
26
77.37
-13.68% kobo/apps/openrosa/apps/api/viewsets/xform_list_api.py
24
40.0
-53.33% kpi/fields/jsonschema_form_field.py
24
54.84
-38.71% kpi/utils/kobo_to_xlsform.py
23
30.77
-29.49% kpi/deployment_backends/kc_access/utils.py
23
51.06
-48.94% kpi/views/v2/authorized_application_user.py
22
44.0
-44.0% kobo/apps/data_collectors/authentication.py
22
79.66
-18.64% kobo/apps/openrosa/apps/api/viewsets/xform_submission_api.py
22
31.58
-38.6% kpi/utils/mailer.py
21
65.45
-9.55% kpi/permissions.py
21
42.79
-9.77% kpi/renderers.py
21
50.0
-45.65% kpi/serializers/v2/asset_version.py
21
54.55
-38.18% kpi/signals.py
21
23.08
-53.85% kpi/utils/asset_translation_utils.py
21
40.58
-30.43% kpi/utils/data_exports.py
21
26.47
-61.76% kpi/utils/export_cleanup.py
21
66.83
-10.24% kpi/utils/mongo_helper.py
20
52.38
-31.75% hub/models/extra_user_detail.py
20
0.0
-68.97% kobo/apps/audit_log/tasks.py
18
37.84
-48.65% kpi/serializers/v2/create_user.py
18
37.93
-62.07% kpi/views/token.py
17
46.99
-10.24% kobo/apps/organizations/views.py
17
17.86
-60.71% kpi/utils/submission.py
16
60.0
-11.43% kobo/apps/audit_log/signals.py
15
79.31
-17.24% kpi/utils/asset_content_analyzer.py
13
37.14
-18.57% hub/utils/i18n.py
13
26.09
-56.52% kpi/fields/relative_prefix_hyperlinked_related.py
13
47.13
-14.94% kpi/tasks.py
12
42.11
-31.58% kobo/apps/data_collectors/signals.py
12
43.06
-16.67% kobo/apps/project_ownership/serializers/invite.py
12
22.73
-54.55% kpi/utils/bugfix.py
11
54.55
-6.67% kobo/apps/organizations/models.py
11
69.44
-30.56% kpi/models/asset_user_partial_permission.py
11
23.31
-3.09% kpi/serializers/v2/asset_permission_assignment.py
11
55.56
-40.74% kpi/utils/xlsform_preprocessors/base_handlers.py
10
60.71
-35.71% kobo/apps/audit_log/utils.py
10
40.0
-40.0% kobo/apps/openrosa/apps/api/utils/xml.py
10
83.81
-1.67% kobo/apps/openrosa/libs/utils/logger_tools.py
10
66.2
-14.08% kobo/apps/project_ownership/models/invite.py
10
14.8
-5.1% kobo/apps/subsequences/utils/versioning.py
10
72.92
-20.83% kpi/models/asset_version.py
10
35.29
-58.82% kpi/utils/strings.py
10
38.1
-23.81% kpi/utils/urls.py
9
47.62
-21.43% kobo/apps/markdownx_uploader/models.py
9
35.29
-52.94% kpi/serializers/v1/authorized_application_user.py
9
0.0
-90.0% kpi/utils/fuzzy_int.py
7
67.74
-22.58% kobo/apps/data_collectors/models.py
7
61.76
-20.59% kobo/apps/storage_backends/base.py
7
21.6
-5.6% kobo/apps/stripe/utils/subscription_limits.py
7
32.14
-25.0% kobo/apps/subsequences/utils/supplement_data.py
7
57.14
-33.33% kpi/fields/paginated_api.py
7
53.33
-46.67% kpi/maintenance_tasks.py
7
70.37
-25.93% kpi/models/extra_project_metadata_field.py
7
72.38
-6.67% kpi/utils/object_permission.py
7
71.43
-20.0% kpi/utils/project_views.py
6
89.02
-7.32% kobo/apps/openrosa/libs/serializers/xform_serializer.py
6
37.5
-37.5% kobo/apps/openrosa/libs/utils/string.py
6
62.5
-37.5% kobo/apps/organizations/signals.py
6
43.75
-37.5% kobo/apps/project_ownership/filters.py
6
72.09
-13.95% kobo/apps/project_ownership/serializers/transfer.py
6
0.0
-100.0% kobo/apps/project_views/tasks.py
6
74.51
-11.76% kpi/context_processors.py
6
42.86
-42.86% kpi/mixins/asset.py
6
53.85
-46.15% kpi/utils/files.py
6
22.32
-5.36% kpi/utils/models.py
5
89.41
-5.88% kobo/apps/openrosa/libs/renderers/renderers.py
5
30.0
-7.14% kobo/apps/organizations/permissions.py
5
47.22
-13.89% kobo/apps/organizations/tasks.py
5
57.14
-23.81% kpi/fields/writable_json.py
5
75.0
-20.83% kpi/models/authorized_application.py
5
29.41
-14.71% kpi/utils/rename_xls_sheet.py
5
36.14
-6.02% kpi/utils/storage.py
4
53.85
-30.77% kobo/apps/accounts/templatetags/customize_email_content.py
4
77.5
-10.0% kobo/apps/kobo_auth/signals.py
4
62.11
-4.21% kobo/apps/openrosa/libs/utils/middleware.py
4
50.0
-10.53% kobo/apps/organizations/utils.py
4
89.47
-7.02% kpi/deployment_backends/mixin.py
4
33.33
-66.67% kpi/utils/chunked_delete.py
4
80.0
-20.0% kpi/views/v1_api_gone.py
3
67.5
-7.5% kobo/apps/openrosa/apps/django_digest_backends/cache.py
3
89.19
-8.11% kobo/apps/project_views/models/project_view.py
3
76.47
-17.65% kpi/utils/pyxform_compatibility.py
3
61.54
-23.08% kpi/versioning.py
2
81.54
-1.03% kobo/apps/openrosa/apps/logger/models/instance.py
2
87.8
-4.88% kobo/apps/openrosa/libs/filters.py
2
91.3
-8.7% kobo/apps/project_ownership/views/invite.py
2
30.22
0.52% kobo/apps/subsequences/serializers.py
2
83.33
-6.67% kobo/urls.py
2
86.32
-1.71% kpi/exceptions.py
2
64.52
-6.45% kpi/mixins/standardize_searchable_field.py
2
96.3
-3.7% kpi/mixins/xls_exportable.py
2
90.0
-10.0% kpi/utils/absolute_paths.py
2
47.06
-2.94% kpi/utils/hash.py
1
44.44
-5.56% kobo/apps/accounts/templatetags/get_provider_appname.py
1
92.52
-0.93% kobo/apps/openrosa/apps/api/viewsets/briefcase_api.py
1
86.11
-2.78% kobo/apps/openrosa/apps/logger/fields.py
1
87.11
-0.39% kobo/apps/openrosa/apps/logger/xform_instance_parser.py
1
67.95
-1.28% kpi/authentication.py
1
57.89
-2.63% kpi/db_routers.py
1
72.73
-4.55% kpi/urls/__init__.py
1
75.0
-6.25% kpi/utils/drf_exceptions.py
Jobs
ID Job ID Ran Files Coverage
1 30438343270.1 29 Jul 2026 09:12AM UTC 890
49.36
Source Files on build 30438343270
  • Tree
  • List 890
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Pull Request #7338
  • PR Base - main (#30434883855)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc