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

kobotoolbox / kpi / 22870999549
82%
master: 76%

Build:
Build:
LAST BUILD BRANCH: dev-1532-django-model-admin-for-extra-project-metadata-fields
DEFAULT BRANCH: master
Ran 09 Mar 2026 07:33PM UTC
Jobs 10
Files 896
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

09 Mar 2026 07:14PM UTC coverage: 81.062% (-1.1%) from 82.12%
22870999549

push

github

noliveleger
fix: format

7392 of 11631 branches covered (63.55%)

28602 of 35284 relevant lines covered (81.06%)

5.81 hits per line

Uncovered Existing Lines

Lines Coverage ∆ File
1
94.12
-5.88% kobo/apps/audit_log/middleware.py
1
80.0
-20.0% kobo/apps/hook/templatetags/strings.py
1
88.89
-11.11% kobo/apps/long_running_migrations/admin.py
1
0.0
-100.0% kobo/apps/openrosa/apps/logger/constants.py
1
63.33
-1.67% kobo/apps/openrosa/apps/main/models/user_profile.py
1
75.0
-25.0% kobo/apps/openrosa/libs/utils/storage.py
1
84.27
-1.12% kobo/apps/reports/report_data.py
1
87.5
-12.5% kobo/apps/service_health/middleware.py
1
64.71
-5.88% kpi/admin.py
1
93.02
-2.33% kpi/backends.py
1
96.67
-3.33% kpi/fields/kpi_uid.py
1
82.61
-4.35% kpi/fields/relative_prefix_hyperlinked_related.py
1
75.0
-8.33% kpi/mixins/validation_password_permission.py
1
62.5
-12.5% kpi/utils/datetime.py
1
93.94
-1.01% kpi/utils/django_orm_helper.py
1
50.0
-50.0% kpi/utils/export_task.py
1
64.62
-1.54% kpi/utils/hash.py
1
78.57
-0.89% kpi/utils/models.py
1
98.06
22.33% kpi/utils/usage_calculator.py
1
92.31
-7.69% kpi/versioning.py
1
90.0
-2.5% kpi/views/v1/import_task.py
1
93.33
-6.67% kpi/views/v2/asset_usage.py
2
84.62
-15.38% kobo/apps/accounts/templatetags/customize_email_content.py
2
71.43
-28.57% kobo/apps/accounts/templatetags/url_creation.py
2
45.45
-18.18% kobo/apps/accounts/utils.py
2
60.0
-40.0% kobo/apps/audit_log/filters.py
2
70.0
-20.0% kobo/apps/constance_backends/utils.py
2
90.32
-6.45% kobo/apps/data_collectors/models.py
2
66.67
-33.33% kobo/apps/external_integrations/signals.py
2
85.71
-9.52% kobo/apps/help/views.py
2
87.5
-12.5% kobo/apps/hook/serializers/v2/hook_log.py
2
61.54
-15.38% kobo/apps/openrosa/libs/utils/gravatar.py
2
58.06
-6.45% kobo/apps/organizations/admin/organization_owner.py
2
42.86
-28.57% kobo/apps/subsequences/utils/time.py
2
82.14
-7.14% kobo/urls.py
2
60.26
-2.56% kpi/deployment_backends/kc_access/utils.py
2
85.71
-9.52% kpi/fields/writable_json.py
2
80.0
-20.0% kpi/mixins/mfa.py
2
96.3
-3.7% kpi/mixins/xls_exportable.py
2
92.73
-3.64% kpi/signals.py
2
75.0
-12.5% kpi/utils/drf_exceptions.py
2
88.24
-11.76% kpi/views/v2/service_usage.py
3
49.15
-5.08% hub/admin/password_validation.py
3
91.67
-3.57% kobo/apps/audit_log/base_views.py
3
91.67
-8.33% kobo/apps/audit_log/serializers.py
3
85.71
-6.12% kobo/apps/openrosa/apps/logger/exceptions.py
3
80.0
-20.0% kobo/apps/openrosa/apps/viewer/signals.py
3
50.0
-37.5% kobo/apps/openrosa/libs/mixins/anonymous_user_public_forms_mixin.py
3
46.67
-20.0% kobo/apps/openrosa/libs/serializers/tag_list_serializer.py
3
42.86
-4.29% kobo/apps/project_ownership/admin.py
3
85.71
-8.57% kobo/apps/project_views/models/assignment.py
3
75.0
-25.0% kobo/apps/superuser_stats/admin.py
3
86.27
-5.88% kpi/context_processors.py
3
85.12
-2.48% kpi/exceptions.py
3
95.1
-2.94% kpi/models/asset_file.py
3
78.57
-10.71% kpi/utils/submission.py
3
30.67
-4.0% kpi/utils/two_database_configuration_checker.py
3
86.67
-10.0% kpi/views/v2/asset_version.py
3
75.0
-25.0% kpi/views/v2/open_rosa.py
4
47.4
-2.31% hub/admin/extend_user.py
4
84.31
-7.84% hub/models/extra_user_detail.py
4
69.23
-30.77% kobo/apps/accounts/mfa/permissions.py
4
84.38
-12.5% kobo/apps/accounts/models.py
4
60.0
-40.0% kobo/apps/accounts/tos.py
4
88.89
-11.11% kobo/apps/accounts/views.py
4
66.67
-33.33% kobo/apps/audit_log/permissions.py
4
85.71
-9.52% kobo/apps/help/models.py
4
17.65
-23.53% kobo/apps/help/permissions.py
4
59.32
-6.78% kobo/apps/hook/views/v2/hook.py
4
79.17
-16.67% kobo/apps/kobo_scim/serializers.py
4
45.45
-36.36% kobo/apps/openrosa/koboform/__init__.py
4
72.22
-22.22% kobo/apps/subsequences/actions/automatic_google_transcription.py
4
72.22
-22.22% kobo/apps/subsequences/actions/automatic_google_translation.py
4
83.33
-16.67% kobo/apps/trackers/models.py
4
68.18
-18.18% kobo/apps/trash_bin/tasks/account.py
4
37.5
-5.0% kobo/apps/trash_bin/tasks/attachment.py
4
80.95
-19.05% kobo/apps/trash_bin/utils/signals.py
4
85.34
-3.45% kpi/models/asset_snapshot.py
4
80.17
-3.45% kpi/paginators.py
4
20.0
-80.0% kpi/utils/placeholders.py
5
78.26
-21.74% kobo/apps/languages/models/translation.py
5
37.5
-62.5% kobo/apps/markdownx_uploader/tasks.py
5
72.22
-27.78% kobo/apps/openrosa/apps/logger/models/daily_xform_submission_counter.py
5
75.0
-25.0% kobo/apps/openrosa/apps/logger/models/monthly_xform_submission_counter.py
5
0.0
-38.46% kobo/apps/openrosa/apps/main/context_processors.py
5
50.0
-50.0% kobo/apps/openrosa/libs/mixins/openrosa_headers_mixin.py
5
66.67
-33.33% kobo/apps/openrosa/libs/serializers/note_serializer.py
5
58.51
28.72% kobo/apps/stripe/utils/billing_dates.py
5
65.22
-21.74% kobo/apps/trash_bin/tasks/project.py
5
82.35
-14.71% kobo/apps/user_reports/views.py
5
76.0
-20.0% kpi/views/v2/asset_counts.py
5
61.54
-38.46% kpi/views/v2/logout.py
6
76.6
-12.77% kobo/apps/kobo_auth/models.py
6
44.44
-33.33% kobo/apps/kobo_scim/pagination.py
6
84.62
-15.38% kobo/apps/languages/serializers/language.py
6
70.0
-30.0% kobo/apps/languages/serializers/transcription.py
6
66.67
-28.57% kobo/apps/openrosa/apps/api/viewsets/connect_viewset.py
6
68.42
-31.58% kobo/apps/subsequences/schemas.py
6
58.46
-4.62% kobo/apps/trash_bin/admin.py
6
62.96
-22.22% kobo/apps/trash_bin/models/account.py
6
0.0
-100.0% kobo/conftest.py
6
80.0
-20.0% kpi/serializers/v2/tag.py
6
86.67
-3.99% kpi/utils/object_permission.py
6
76.47
-17.65% kpi/utils/rename_xls_sheet.py
6
64.29
-14.29% kpi/utils/urls.py
7
0.0
-87.5% kobo/apps/hook/services/service_xml.py
7
72.0
-28.0% kobo/apps/languages/models/transcription.py
7
66.67
-33.33% kobo/apps/languages/serializers/translation.py
7
31.25
-43.75% kobo/apps/openrosa/libs/utils/string.py
7
81.08
-18.92% kobo/apps/project_views/serializers.py
7
75.0
-25.0% kobo/apps/subsequences/utils/supplement_data.py
7
50.0
-31.82% kobo/apps/trash_bin/mixins/admin.py
7
53.33
-46.67% kobo/apps/trash_bin/utils/attachment.py
7
87.14
-10.0% kpi/utils/cache.py
7
74.07
-25.93% kpi/views/v2/attachment_delete.py
7
75.86
-24.14% kpi/views/v2/tag.py
8
90.8
-9.2% kobo/apps/audit_log/signals.py
8
64.0
-32.0% kobo/apps/openrosa/libs/permissions.py
8
0.0
-100.0% kobo/apps/service_health/test_service_health_minimal.py
8
77.78
-8.08% kpi/password_validation.py
9
72.97
-24.32% kobo/apps/accounts/adapter.py
9
70.0
-30.0% kobo/apps/audit_log/tasks.py
9
73.68
-23.68% kobo/apps/data_collectors/signals.py
9
35.71
-64.29% kobo/apps/hook/utils/services.py
9
30.56
-8.33% kobo/apps/openrosa/apps/api/tools.py
9
62.07
-31.03% kobo/apps/openrosa/apps/api/viewsets/metadata_viewset.py
9
42.5
-11.25% kobo/apps/subsequences/integrations/google/base.py
9
79.21
-4.46% kpi/filters.py
10
25.0
-62.5% kobo/apps/accounts/mixins.py
10
64.52
-32.26% kobo/apps/languages/serializers/base.py
10
58.33
-41.67% kobo/apps/openrosa/apps/api/viewsets/note_viewset.py
10
60.53
-26.32% kobo/apps/organizations/utils.py
10
80.28
-14.08% kobo/apps/project_ownership/models/invite.py
10
42.5
-25.0% kobo/apps/subsequences/prompts.py
10
75.0
-25.0% kobo/apps/subsequences/views.py
10
33.33
-37.04% kpi/mixins/audio_transcoding.py
11
65.31
-22.45% kobo/apps/hook/models/hook_log.py
11
62.5
-34.38% kobo/apps/openrosa/apps/api/viewsets/attachment_viewset.py
11
70.18
-19.3% kpi/utils/mailer.py
12
76.02
-6.12% kobo/apps/openrosa/apps/logger/models/instance.py
12
48.0
-48.0% kobo/apps/openrosa/apps/logger/utils/attachment.py
12
44.9
-24.49% kobo/apps/openrosa/apps/logger/utils/counters.py
12
70.0
-30.0% kobo/apps/openrosa/libs/serializers/user_profile_serializer.py
12
30.12
-14.46% kpi/utils/storage.py
13
35.14
-35.14% hub/models/per_user_setting.py
13
57.5
-32.5% kobo/apps/accounts/serializers.py
13
33.33
-61.9% kobo/apps/accounts/signals.py
13
39.13
-56.52% kobo/apps/kobo_scim/authentication.py
13
61.11
-36.11% kobo/apps/organizations/tasks.py
13
51.28
-33.33% kobo/apps/trash_bin/tasks/__init__.py
13
40.0
-43.33% kpi/serializers/v2/asset_counts.py
13
75.12
-6.34% kpi/utils/mongo_helper.py
14
54.76
-33.33% hub/models/configuration_file.py
14
0.0
-100.0% kobo/apps/long_running_migrations/jobs/0017_remove_organizations_of_deleted_users.py
14
75.66
-7.41% kobo/apps/openrosa/apps/logger/models/xform.py
14
44.0
-56.0% kobo/apps/openrosa/libs/utils/model_tools.py
14
45.95
-37.84% kobo/apps/user_reports/seralizers.py
15
83.74
-12.2% kobo/apps/accounts/forms.py
15
61.11
-20.83% kobo/apps/accounts/mfa/models.py
15
63.27
-30.61% kobo/apps/hook/views/v2/hook_log.py
15
48.48
-45.45% kobo/apps/mass_emails/admin.py
15
59.8
-14.71% kobo/apps/mass_emails/models.py
15
31.71
-36.59% kobo/apps/openrosa/apps/logger/xform_fs.py
15
41.94
-48.39% kobo/apps/openrosa/libs/authentication.py
15
34.78
-65.22% kobo/apps/openrosa/libs/models/signals.py
16
0.0
-100.0% kobo/apps/service_health/test_service_health.py
16
31.0
-16.0% kobo/apps/subsequences/integrations/google/google_translate.py
17
0.0
-100.0% kobo/apps/accounts/mfa/forms.py
17
67.74
-27.42% kobo/apps/hook/models/hook.py
17
81.18
-6.67% kobo/apps/openrosa/apps/logger/xform_instance_parser.py
17
42.5
-42.5% kpi/views/__init__.py
18
66.04
-33.96% kpi/views/v2/export_task.py
19
45.71
-54.29% kobo/apps/languages/views/language.py
19
16.0
-76.0% kobo/apps/openrosa/apps/api/utils/xml.py
19
26.0
-38.0% kobo/apps/service_health/views.py
19
47.73
-43.18% kobo/apps/trash_bin/models/attachment.py
19
94.32
-0.51% kpi/mixins/object_permission.py
19
92.35
-1.09% kpi/models/asset.py
19
38.24
-55.88% kpi/parsers.py
19
57.78
-42.22% kpi/views/current_user.py
19
51.06
-40.43% kpi/views/v2/import_task.py
20
56.25
-41.67% kobo/apps/hook/serializers/v2/hook.py
20
30.3
-60.61% kobo/apps/long_running_migrations/app.py
20
32.56
-23.26% kobo/apps/mass_emails/user_queries.py
20
16.22
-54.05% kobo/apps/openrosa/apps/logger/utils/database_query.py
20
29.67
-21.98% kobo/apps/openrosa/libs/utils/user_auth.py
21
0.0
-100.0% kobo/apps/long_running_migrations/tasks.py
21
57.45
-22.34% kobo/apps/openrosa/libs/utils/middleware.py
21
87.79
-9.86% kpi/permissions.py
21
38.33
-35.0% kpi/serializers/v2/asset_export_settings.py
23
28.57
-54.76% kobo/apps/accounts/mfa/flows.py
23
27.4
-31.51% kobo/apps/trackers/utils.py
23
81.22
-3.89% kpi/models/import_export_task.py
23
40.48
-54.76% kpi/serializers/v2/deployment.py
24
0.0
-100.0% kobo/apps/hook/services/service_json.py
24
59.72
-33.33% kobo/apps/project_ownership/serializers/invite.py
24
71.43
-28.57% kpi/serializers/v2/service_usage.py
25
51.46
-24.27% kobo/apps/project_views/views.py
25
41.86
-58.14% kobo/apps/subsequences/serializers.py
25
31.11
-55.56% kpi/serializers/v2/data.py
26
35.71
-61.9% kobo/apps/openrosa/libs/mixins/labels_mixin.py
26
27.78
-72.22% kobo/apps/openrosa/libs/utils/decorators.py
26
62.82
-33.33% kpi/authentication.py
26
27.5
-65.0% kpi/serializers/v2/attachment_delete.py
26
55.56
-19.26% kpi/views/v2/asset_snapshot.py
27
49.06
-50.94% kobo/apps/openrosa/libs/serializers/attachment_serializer.py
27
45.16
-43.55% kpi/views/v2/attachment.py
28
41.27
-44.44% kobo/apps/openrosa/libs/serializers/data_serializer.py
29
51.85
-35.8% hub/utils/i18n.py
29
39.44
-40.85% kobo/apps/help/serializers.py
29
30.14
-19.86% kobo/apps/openrosa/libs/utils/viewer_tools.py
29
63.16
-30.53% kpi/views/v2/asset_permission_assignment.py
30
31.91
-61.27% kobo/apps/accounts/mfa/serializers.py
30
46.88
-31.25% kobo/apps/data_collectors/admin.py
30
0.0
-75.0% kobo/apps/openrosa/apps/django_digest_backends/cache.py
30
26.83
-73.17% kobo/apps/subsequences/tasks.py
30
66.93
-23.62% kpi/models/paired_data.py
31
72.03
-26.27% kobo/apps/audit_log/views.py
31
34.0
-62.0% kobo/apps/data_collectors/authentication.py
31
40.48
-18.45% kobo/apps/openrosa/apps/main/models/meta_data.py
31
26.42
-58.49% kobo/apps/trash_bin/utils/project.py
32
50.75
-47.76% kpi/views/v2/asset_export_settings.py
33
49.51
-32.04% kobo/apps/openrosa/apps/viewer/models/export.py
33
40.85
-46.48% kobo/apps/organizations/admin/organization.py
35
51.22
-42.68% kobo/apps/accounts/mfa/views.py
35
77.61
-17.41% kobo/apps/project_ownership/models/transfer.py
36
0.0
-97.3% kobo/apps/accounts/mfa/adapter.py
36
38.24
-52.94% kobo/apps/long_running_migrations/models.py
36
24.49
-73.47% kobo/apps/openrosa/apps/logger/import_tools.py
36
55.29
-42.35% kobo/apps/openrosa/libs/renderers/renderers.py
37
32.97
-40.66% kobo/apps/openrosa/libs/serializers/metadata_serializer.py
37
61.21
-22.42% kobo/apps/organizations/models.py
38
37.14
-54.29% kobo/apps/organizations/permissions.py
39
23.08
-30.0% kobo/apps/openrosa/apps/viewer/tasks.py
40
0.0
-40.82% kobo/apps/openrosa/apps/viewer/xls_writer.py
40
39.81
-38.83% kpi/views/v2/paired_data.py
41
32.81
-64.06% kobo/apps/trash_bin/utils/account.py
42
0.0
-79.25% kobo/apps/user_reports/tasks.py
43
46.1
-15.99% kobo/apps/openrosa/apps/viewer/models/data_dictionary.py
43
23.29
-58.9% kobo/apps/openrosa/libs/utils/image_tools.py
44
32.84
-65.67% kobo/apps/kobo_scim/views.py
44
59.54
-33.59% kobo/apps/openrosa/apps/logger/signals.py
44
56.92
-33.85% kobo/apps/trash_bin/utils/trash.py
45
55.46
-37.82% kobo/apps/openrosa/apps/logger/models/attachment.py
45
41.57
-50.56% kpi/views/environment.py
46
55.83
-38.33% kobo/apps/openrosa/libs/serializers/xform_serializer.py
46
70.97
-11.41% kpi/deployment_backends/base_backend.py
48
37.96
-44.44% kobo/apps/openrosa/apps/logger/utils/instance.py
48
50.7
-22.33% kpi/renderers.py
49
28.57
-43.75% kobo/apps/openrosa/apps/logger/views.py
50
0.0
-47.17% kobo/apps/openrosa/apps/logger/tasks.py
51
57.87
-20.08% kobo/apps/openrosa/apps/viewer/models/parsed_instance.py
52
34.81
-32.91% kobo/apps/openrosa/apps/api/viewsets/xform_viewset.py
54
18.67
-72.0% kobo/apps/data_collectors/utils.py
54
27.96
-58.06% kobo/apps/hook/tasks.py
56
46.62
-42.11% kobo/apps/subsequences/models.py
57
58.62
-39.31% kobo/apps/organizations/views.py
58
0.0
-90.63% kobo/apps/openrosa/libs/data/query.py
58
55.49
-33.53% kpi/serializers/current_user.py
59
0.0
-95.16% kobo/apps/long_running_migrations/jobs/0015_fix_duplicate_organizations.py
59
46.96
-51.3% kobo/apps/openrosa/apps/api/viewsets/xform_submission_api.py
60
34.67
-40.0% kobo/apps/project_ownership/utils.py
62
27.87
-50.82% kobo/apps/project_ownership/tasks.py
64
22.35
-75.29% kobo/apps/subsequences/actions/mixins.py
65
41.03
-41.67% kobo/apps/organizations/admin/organization_user.py
66
32.23
-54.55% kobo/apps/openrosa/apps/api/viewsets/data_viewset.py
66
31.62
-56.41% kpi/serializers/v2/export_task.py
66
26.85
-61.11% kpi/serializers/v2/paired_data.py
70
60.29
-33.49% kpi/utils/xml.py
71
33.62
-61.21% kobo/apps/openrosa/libs/filters.py
74
44.59
-47.13% kobo/apps/openrosa/apps/api/viewsets/xform_list_api.py
81
33.11
-53.64% kobo/apps/openrosa/apps/api/viewsets/briefcase_api.py
81
70.54
-7.6% kpi/views/v2/asset.py
83
60.2
-28.23% kpi/views/v2/data.py
86
28.67
-60.14% kobo/apps/openrosa/apps/viewer/views.py
87
0.0
-87.88% kobo/apps/openrosa/libs/utils/backup_tools.py
88
18.8
-75.21% kobo/apps/subsequences/actions/qual.py
92
0.0
-80.0% kobo/apps/hook/models/service_definition_interface.py
93
33.96
-58.49% kobo/apps/openrosa/apps/api/permissions.py
104
41.28
-44.26% kobo/apps/subsequences/actions/base.py
114
32.96
-63.69% kobo/apps/subsequences/actions/automatic_bedrock_qual.py
126
22.09
-73.26% kobo/apps/subsequences/utils/versioning.py
132
66.42
-32.35% kobo/apps/audit_log/models.py
150
40.73
-54.55% kobo/apps/organizations/serializers.py
150
39.47
-51.08% kpi/serializers/v2/asset_permission_assignment.py
160
70.61
-23.2% kpi/serializers/v2/asset.py
178
46.79
-29.32% kpi/deployment_backends/openrosa_backend.py
188
0.0
-93.53% kobo/apps/mass_emails/tasks.py
206
0.0
-86.19% kobo/apps/openrosa/libs/utils/briefcase_client.py
215
18.97
-52.96% kobo/apps/openrosa/libs/utils/export_tools.py
221
44.65
-41.46% kobo/apps/openrosa/libs/utils/logger_tools.py
321
0.0
-90.68% kobo/apps/openrosa/apps/viewer/pandas_mongo_bridge.py
Jobs
ID Job ID Ran Files Coverage
1 22870999549.1 09 Mar 2026 07:33PM UTC 892
53.2
2 22870999549.2 09 Mar 2026 07:33PM UTC 892
54.76
3 22870999549.3 09 Mar 2026 07:34PM UTC 894
54.45
4 22870999549.4 09 Mar 2026 07:34PM UTC 894
56.03
5 22870999549.5 09 Mar 2026 07:34PM UTC 892
53.24
6 22870999549.6 09 Mar 2026 07:35PM UTC 894
65.93
7 22870999549.7 09 Mar 2026 07:35PM UTC 892
60.34
8 22870999549.8 09 Mar 2026 07:36PM UTC 894
54.61
9 22870999549.9 09 Mar 2026 07:36PM UTC 894
61.5
10 22870999549.10 09 Mar 2026 07:37PM UTC 896
68.22
Source Files on build 22870999549
  • Tree
  • List 896
  • Changed 33
  • Source Changed 0
  • Coverage Changed 33
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • c2686e96 on github
  • Prev Build on main (#22861727720)
  • Next Build on main (#22903551641)
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

© 2026 Coveralls, Inc