feat!: full-access Gitea MCP server (1.0.0): full API coverage, stdio + streamable HTTP, admin and per-user OAuth #71
No files matched your search
@@ -313,7 +313,8 @@ against a live Gitea 28.1.0, for the per-tool outcome.
|
|||||||
- Some operations depend on instance state and answer 404 or an error until it exists: the
|
- Some operations depend on instance state and answer 404 or an error until it exists: the
|
||||||
commit signing keys (`gitea_misc_get_signing_key`, `gitea_repo_signing_key` and their SSH
|
commit signing keys (`gitea_misc_get_signing_key`, `gitea_repo_signing_key` and their SSH
|
||||||
variants) when the instance has none, user badges (Gitea cannot create badges through the
|
variants) when the instance has none, user badges (Gitea cannot create badges through the
|
||||||
API), unadopted repositories, and similar. The coverage report lists them with the reason.
|
API), unadopted repositories, run artifacts, git notes and the GPG key verification, which
|
||||||
|
need data the instance does not have yet. The coverage report lists them with the reason.
|
||||||
- Tools that depend on a runner, such as workflow runs and jobs, only return data once an
|
- Tools that depend on a runner, such as workflow runs and jobs, only return data once an
|
||||||
Actions runner is registered.
|
Actions runner is registered.
|
||||||
|
|
||||||
|
|||||||
@@ -10,21 +10,21 @@ Target: Gitea 28.1.0. Every tool of the server (538) is called at least once thr
|
|||||||
|
|
||||||
| Domain | Tools | 2xx | Documented non-2xx | Allowances | Not covered |
|
| Domain | Tools | 2xx | Documented non-2xx | Allowances | Not covered |
|
||||||
| --- | --- | --- | --- | --- | --- |
|
| --- | --- | --- | --- | --- | --- |
|
||||||
| actions | 70 | 52 | 18 | 0 | 0 |
|
| actions | 70 | 65 | 5 | 0 | 0 |
|
||||||
| admin | 33 | 27 | 4 | 2 | 0 |
|
| admin | 33 | 30 | 1 | 2 | 0 |
|
||||||
| hook | 20 | 20 | 0 | 0 | 0 |
|
| hook | 20 | 20 | 0 | 0 | 0 |
|
||||||
| issue | 73 | 73 | 0 | 0 | 0 |
|
| issue | 73 | 73 | 0 | 0 | 0 |
|
||||||
| misc | 20 | 18 | 0 | 2 | 0 |
|
| misc | 20 | 18 | 0 | 2 | 0 |
|
||||||
| notification | 7 | 7 | 0 | 0 | 0 |
|
| notification | 7 | 7 | 0 | 0 | 0 |
|
||||||
| org | 45 | 45 | 0 | 0 | 0 |
|
| org | 45 | 45 | 0 | 0 | 0 |
|
||||||
| package | 9 | 9 | 0 | 0 | 0 |
|
| package | 9 | 9 | 0 | 0 | 0 |
|
||||||
| pull | 26 | 25 | 1 | 0 | 0 |
|
| pull | 26 | 26 | 0 | 0 | 0 |
|
||||||
| release | 13 | 13 | 0 | 0 | 0 |
|
| release | 13 | 13 | 0 | 0 | 0 |
|
||||||
| repo | 124 | 118 | 4 | 2 | 0 |
|
| repo | 124 | 121 | 1 | 2 | 0 |
|
||||||
| team | 15 | 15 | 0 | 0 | 0 |
|
| team | 15 | 15 | 0 | 0 | 0 |
|
||||||
| user | 77 | 71 | 3 | 3 | 0 |
|
| user | 77 | 73 | 1 | 3 | 0 |
|
||||||
| wiki | 6 | 6 | 0 | 0 | 0 |
|
| wiki | 6 | 6 | 0 | 0 | 0 |
|
||||||
| total | 538 | 499 | 30 | 9 | 0 |
|
| total | 538 | 521 | 8 | 9 | 0 |
|
||||||
|
|
||||||
Excluded from the generic sweep and covered by a dedicated test:
|
Excluded from the generic sweep and covered by a dedicated test:
|
||||||
|
|
||||||
@@ -32,32 +32,19 @@ Excluded from the generic sweep and covered by a dedicated test:
|
|||||||
|
|
||||||
## actions
|
## actions
|
||||||
|
|
||||||
Tools with a 2xx (52):
|
Tools with a 2xx (65):
|
||||||
|
|
||||||
`gitea_actions_cancel_workflow_run`, `gitea_actions_create_org_variable`, `gitea_actions_create_repo_variable`, `gitea_actions_create_user_variable`, `gitea_actions_delete_org_secret`, `gitea_actions_delete_org_variable`, `gitea_actions_delete_repo_secret`, `gitea_actions_delete_repo_variable`, `gitea_actions_delete_user_secret`, `gitea_actions_delete_user_variable`, `gitea_actions_disable_workflow`, `gitea_actions_dispatch_workflow`, `gitea_actions_download_run_job_logs`, `gitea_actions_enable_workflow`, `gitea_actions_get_artifacts`, `gitea_actions_get_artifacts_of_run`, `gitea_actions_get_org_runners`, `gitea_actions_get_org_variable`, `gitea_actions_get_org_variables_list`, `gitea_actions_get_org_workflow_jobs`, `gitea_actions_get_org_workflow_runs`, `gitea_actions_get_repo_runners`, `gitea_actions_get_repo_variable`, `gitea_actions_get_repo_variables_list`, `gitea_actions_get_user_runners`, `gitea_actions_get_user_variable`, `gitea_actions_get_user_variables_list`, `gitea_actions_get_user_workflow_jobs`, `gitea_actions_get_user_workflow_runs`, `gitea_actions_get_workflow`, `gitea_actions_get_workflow_job`, `gitea_actions_get_workflow_run`, `gitea_actions_get_workflow_run_attempt`, `gitea_actions_get_workflow_runs`, `gitea_actions_list_action_tasks`, `gitea_actions_list_repository_workflows`, `gitea_actions_list_workflow_jobs`, `gitea_actions_list_workflow_run_attempt_jobs`, `gitea_actions_list_workflow_run_jobs`, `gitea_actions_list_workflow_runs`, `gitea_actions_org_create_runner_registration_token`, `gitea_actions_org_list_secrets`, `gitea_actions_repo_create_runner_registration_token`, `gitea_actions_repo_list_secrets`, `gitea_actions_rerun_failed_workflow_run`, `gitea_actions_update_org_secret`, `gitea_actions_update_org_variable`, `gitea_actions_update_repo_secret`, `gitea_actions_update_repo_variable`, `gitea_actions_update_user_secret`, `gitea_actions_update_user_variable`, `gitea_actions_user_create_runner_registration_token`
|
`gitea_actions_cancel_workflow_run`, `gitea_actions_create_org_variable`, `gitea_actions_create_repo_variable`, `gitea_actions_create_user_variable`, `gitea_actions_delete_action_run`, `gitea_actions_delete_org_runner`, `gitea_actions_delete_org_secret`, `gitea_actions_delete_org_variable`, `gitea_actions_delete_repo_runner`, `gitea_actions_delete_repo_secret`, `gitea_actions_delete_repo_variable`, `gitea_actions_delete_user_runner`, `gitea_actions_delete_user_secret`, `gitea_actions_delete_user_variable`, `gitea_actions_disable_workflow`, `gitea_actions_dispatch_workflow`, `gitea_actions_download_run_job_logs`, `gitea_actions_enable_workflow`, `gitea_actions_get_artifacts`, `gitea_actions_get_artifacts_of_run`, `gitea_actions_get_org_runner`, `gitea_actions_get_org_runners`, `gitea_actions_get_org_variable`, `gitea_actions_get_org_variables_list`, `gitea_actions_get_org_workflow_jobs`, `gitea_actions_get_org_workflow_runs`, `gitea_actions_get_repo_runner`, `gitea_actions_get_repo_runners`, `gitea_actions_get_repo_variable`, `gitea_actions_get_repo_variables_list`, `gitea_actions_get_user_runner`, `gitea_actions_get_user_runners`, `gitea_actions_get_user_variable`, `gitea_actions_get_user_variables_list`, `gitea_actions_get_user_workflow_jobs`, `gitea_actions_get_user_workflow_runs`, `gitea_actions_get_workflow`, `gitea_actions_get_workflow_job`, `gitea_actions_get_workflow_run`, `gitea_actions_get_workflow_run_attempt`, `gitea_actions_get_workflow_run_logs`, `gitea_actions_get_workflow_runs`, `gitea_actions_list_action_tasks`, `gitea_actions_list_repository_workflows`, `gitea_actions_list_workflow_jobs`, `gitea_actions_list_workflow_run_attempt_jobs`, `gitea_actions_list_workflow_run_jobs`, `gitea_actions_list_workflow_runs`, `gitea_actions_org_create_runner_registration_token`, `gitea_actions_org_list_secrets`, `gitea_actions_repo_create_runner_registration_token`, `gitea_actions_repo_list_secrets`, `gitea_actions_rerun_failed_workflow_run`, `gitea_actions_rerun_workflow_job`, `gitea_actions_rerun_workflow_run`, `gitea_actions_update_org_runner`, `gitea_actions_update_org_secret`, `gitea_actions_update_org_variable`, `gitea_actions_update_repo_runner`, `gitea_actions_update_repo_secret`, `gitea_actions_update_repo_variable`, `gitea_actions_update_user_runner`, `gitea_actions_update_user_secret`, `gitea_actions_update_user_variable`, `gitea_actions_user_create_runner_registration_token`
|
||||||
|
|
||||||
Tools with a documented non-2xx status (18):
|
Tools with a documented non-2xx status (5):
|
||||||
|
|
||||||
| Tool | Status |
|
| Tool | Status |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `gitea_actions_approve_workflow_run` | 409 |
|
| `gitea_actions_approve_workflow_run` | 409 |
|
||||||
| `gitea_actions_delete_action_run` | 400 |
|
|
||||||
| `gitea_actions_delete_artifact` | 404 |
|
| `gitea_actions_delete_artifact` | 404 |
|
||||||
| `gitea_actions_delete_org_runner` | 404 |
|
|
||||||
| `gitea_actions_delete_repo_runner` | 404 |
|
|
||||||
| `gitea_actions_delete_user_runner` | 404 |
|
|
||||||
| `gitea_actions_download_artifact` | 404 |
|
| `gitea_actions_download_artifact` | 404 |
|
||||||
| `gitea_actions_force_cancel_workflow_run` | 409 |
|
| `gitea_actions_force_cancel_workflow_run` | 409 |
|
||||||
| `gitea_actions_get_artifact` | 404 |
|
| `gitea_actions_get_artifact` | 404 |
|
||||||
| `gitea_actions_get_org_runner` | 404 |
|
|
||||||
| `gitea_actions_get_repo_runner` | 404 |
|
|
||||||
| `gitea_actions_get_user_runner` | 404 |
|
|
||||||
| `gitea_actions_get_workflow_run_logs` | 404 |
|
|
||||||
| `gitea_actions_rerun_workflow_job` | 404 |
|
|
||||||
| `gitea_actions_rerun_workflow_run` | 400 |
|
|
||||||
| `gitea_actions_update_org_runner` | 404 |
|
|
||||||
| `gitea_actions_update_repo_runner` | 404 |
|
|
||||||
| `gitea_actions_update_user_runner` | 404 |
|
|
||||||
|
|
||||||
Allowances (0):
|
Allowances (0):
|
||||||
|
|
||||||
@@ -65,18 +52,15 @@ none
|
|||||||
|
|
||||||
## admin
|
## admin
|
||||||
|
|
||||||
Tools with a 2xx (27):
|
Tools with a 2xx (30):
|
||||||
|
|
||||||
`gitea_admin_create_hook`, `gitea_admin_create_org`, `gitea_admin_create_public_key`, `gitea_admin_create_repo`, `gitea_admin_create_runner_registration_token`, `gitea_admin_create_user`, `gitea_admin_cron_list`, `gitea_admin_cron_run`, `gitea_admin_delete_hook`, `gitea_admin_delete_user`, `gitea_admin_delete_user_badges`, `gitea_admin_delete_user_public_key`, `gitea_admin_edit_hook`, `gitea_admin_edit_user`, `gitea_admin_get_all_emails`, `gitea_admin_get_all_orgs`, `gitea_admin_get_hook`, `gitea_admin_get_runners`, `gitea_admin_list_hooks`, `gitea_admin_list_packages`, `gitea_admin_list_user_badges`, `gitea_admin_list_workflow_jobs`, `gitea_admin_list_workflow_runs`, `gitea_admin_rename_user`, `gitea_admin_search_emails`, `gitea_admin_search_users`, `gitea_admin_unadopted_list`
|
`gitea_admin_create_hook`, `gitea_admin_create_org`, `gitea_admin_create_public_key`, `gitea_admin_create_repo`, `gitea_admin_create_runner_registration_token`, `gitea_admin_create_user`, `gitea_admin_cron_list`, `gitea_admin_cron_run`, `gitea_admin_delete_hook`, `gitea_admin_delete_runner`, `gitea_admin_delete_user`, `gitea_admin_delete_user_badges`, `gitea_admin_delete_user_public_key`, `gitea_admin_edit_hook`, `gitea_admin_edit_user`, `gitea_admin_get_all_emails`, `gitea_admin_get_all_orgs`, `gitea_admin_get_hook`, `gitea_admin_get_runner`, `gitea_admin_get_runners`, `gitea_admin_list_hooks`, `gitea_admin_list_packages`, `gitea_admin_list_user_badges`, `gitea_admin_list_workflow_jobs`, `gitea_admin_list_workflow_runs`, `gitea_admin_rename_user`, `gitea_admin_search_emails`, `gitea_admin_search_users`, `gitea_admin_unadopted_list`, `gitea_admin_update_runner`
|
||||||
|
|
||||||
Tools with a documented non-2xx status (4):
|
Tools with a documented non-2xx status (1):
|
||||||
|
|
||||||
| Tool | Status |
|
| Tool | Status |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `gitea_admin_adopt_repository` | 404 |
|
| `gitea_admin_adopt_repository` | 404 |
|
||||||
| `gitea_admin_delete_runner` | 404 |
|
|
||||||
| `gitea_admin_get_runner` | 404 |
|
|
||||||
| `gitea_admin_update_runner` | 404 |
|
|
||||||
|
|
||||||
Allowances (2):
|
Allowances (2):
|
||||||
|
|
||||||
@@ -174,15 +158,13 @@ none
|
|||||||
|
|
||||||
## pull
|
## pull
|
||||||
|
|
||||||
Tools with a 2xx (25):
|
Tools with a 2xx (26):
|
||||||
|
|
||||||
`gitea_pull_create_pull_request`, `gitea_pull_create_pull_review`, `gitea_pull_create_pull_review_comment_reply`, `gitea_pull_create_pull_review_requests`, `gitea_pull_delete_pull_review`, `gitea_pull_delete_pull_review_requests`, `gitea_pull_dismiss_pull_review`, `gitea_pull_download_pull_diff_or_patch`, `gitea_pull_edit_pull_request`, `gitea_pull_get_pull_request`, `gitea_pull_get_pull_request_by_base_head`, `gitea_pull_get_pull_request_commits`, `gitea_pull_get_pull_request_files`, `gitea_pull_get_pull_review`, `gitea_pull_get_pull_review_comments`, `gitea_pull_list_pinned_pull_requests`, `gitea_pull_list_pull_requests`, `gitea_pull_list_pull_reviews`, `gitea_pull_merge_pull_request`, `gitea_pull_pull_request_is_merged`, `gitea_pull_resolve_pull_review_comment`, `gitea_pull_submit_pull_review`, `gitea_pull_undismiss_pull_review`, `gitea_pull_unresolve_pull_review_comment`, `gitea_pull_update_pull_request`
|
`gitea_pull_cancel_scheduled_auto_merge`, `gitea_pull_create_pull_request`, `gitea_pull_create_pull_review`, `gitea_pull_create_pull_review_comment_reply`, `gitea_pull_create_pull_review_requests`, `gitea_pull_delete_pull_review`, `gitea_pull_delete_pull_review_requests`, `gitea_pull_dismiss_pull_review`, `gitea_pull_download_pull_diff_or_patch`, `gitea_pull_edit_pull_request`, `gitea_pull_get_pull_request`, `gitea_pull_get_pull_request_by_base_head`, `gitea_pull_get_pull_request_commits`, `gitea_pull_get_pull_request_files`, `gitea_pull_get_pull_review`, `gitea_pull_get_pull_review_comments`, `gitea_pull_list_pinned_pull_requests`, `gitea_pull_list_pull_requests`, `gitea_pull_list_pull_reviews`, `gitea_pull_merge_pull_request`, `gitea_pull_pull_request_is_merged`, `gitea_pull_resolve_pull_review_comment`, `gitea_pull_submit_pull_review`, `gitea_pull_undismiss_pull_review`, `gitea_pull_unresolve_pull_review_comment`, `gitea_pull_update_pull_request`
|
||||||
|
|
||||||
Tools with a documented non-2xx status (1):
|
Tools with a documented non-2xx status (0):
|
||||||
|
|
||||||
| Tool | Status |
|
none
|
||||||
| --- | --- |
|
|
||||||
| `gitea_pull_cancel_scheduled_auto_merge` | 404 |
|
|
||||||
|
|
||||||
Allowances (0):
|
Allowances (0):
|
||||||
|
|
||||||
@@ -204,18 +186,15 @@ none
|
|||||||
|
|
||||||
## repo
|
## repo
|
||||||
|
|
||||||
Tools with a 2xx (118):
|
Tools with a 2xx (121):
|
||||||
|
|
||||||
`gitea_repo_add_collaborator`, `gitea_repo_add_issue_to_project_column`, `gitea_repo_add_push_mirror`, `gitea_repo_add_team`, `gitea_repo_add_topic`, `gitea_repo_apply_diff_patch`, `gitea_repo_change_files`, `gitea_repo_check_assignee`, `gitea_repo_check_collaborator`, `gitea_repo_check_subscription`, `gitea_repo_check_team`, `gitea_repo_compare_diff`, `gitea_repo_create_branch`, `gitea_repo_create_branch_protection`, `gitea_repo_create_deploy_token`, `gitea_repo_create_file`, `gitea_repo_create_fork`, `gitea_repo_create_key`, `gitea_repo_create_project`, `gitea_repo_create_project_column`, `gitea_repo_create_status`, `gitea_repo_create_tag`, `gitea_repo_create_tag_protection`, `gitea_repo_delete`, `gitea_repo_delete_avatar`, `gitea_repo_delete_branch`, `gitea_repo_delete_branch_protection`, `gitea_repo_delete_collaborator`, `gitea_repo_delete_file`, `gitea_repo_delete_key`, `gitea_repo_delete_project`, `gitea_repo_delete_project_column`, `gitea_repo_delete_push_mirror`, `gitea_repo_delete_subscription`, `gitea_repo_delete_tag`, `gitea_repo_delete_tag_protection`, `gitea_repo_delete_team`, `gitea_repo_delete_topic`, `gitea_repo_download_commit_diff_or_patch`, `gitea_repo_edit`, `gitea_repo_edit_branch_protection`, `gitea_repo_edit_project`, `gitea_repo_edit_project_column`, `gitea_repo_edit_tag_protection`, `gitea_repo_generate_repo`, `gitea_repo_get`, `gitea_repo_get_all_commits`, `gitea_repo_get_annotated_tag`, `gitea_repo_get_archive`, `gitea_repo_get_assignees`, `gitea_repo_get_blob`, `gitea_repo_get_branch`, `gitea_repo_get_branch_protection`, `gitea_repo_get_by_id`, `gitea_repo_get_combined_status_by_ref`, `gitea_repo_get_contents`, `gitea_repo_get_contents_ext`, `gitea_repo_get_contents_list`, `gitea_repo_get_editor_config`, `gitea_repo_get_file_contents`, `gitea_repo_get_file_contents_post`, `gitea_repo_get_issue_config`, `gitea_repo_get_issue_templates`, `gitea_repo_get_key`, `gitea_repo_get_languages`, `gitea_repo_get_licenses`, `gitea_repo_get_project`, `gitea_repo_get_project_column`, `gitea_repo_get_push_mirror_by_remote_name`, `gitea_repo_get_raw_file`, `gitea_repo_get_raw_file_or_lfs`, `gitea_repo_get_repo_permissions`, `gitea_repo_get_reviewers`, `gitea_repo_get_single_commit`, `gitea_repo_get_tag`, `gitea_repo_get_tag_protection`, `gitea_repo_get_tree`, `gitea_repo_list_activity_feeds`, `gitea_repo_list_all_git_refs`, `gitea_repo_list_branch_protection`, `gitea_repo_list_branches`, `gitea_repo_list_collaborators`, `gitea_repo_list_forks`, `gitea_repo_list_git_refs`, `gitea_repo_list_keys`, `gitea_repo_list_project_column_issues`, `gitea_repo_list_project_columns`, `gitea_repo_list_projects`, `gitea_repo_list_push_mirrors`, `gitea_repo_list_stargazers`, `gitea_repo_list_statuses`, `gitea_repo_list_statuses_by_ref`, `gitea_repo_list_subscribers`, `gitea_repo_list_tag_protection`, `gitea_repo_list_tags`, `gitea_repo_list_teams`, `gitea_repo_list_topics`, `gitea_repo_list_user_tracked_times`, `gitea_repo_merge_upstream`, `gitea_repo_migrate`, `gitea_repo_mirror_sync`, `gitea_repo_move_project_columns`, `gitea_repo_move_project_issue`, `gitea_repo_new_pin_allowed`, `gitea_repo_push_mirror_sync`, `gitea_repo_put_subscription`, `gitea_repo_remove_issue_from_project_column`, `gitea_repo_rename_branch`, `gitea_repo_search`, `gitea_repo_set_default_project_column`, `gitea_repo_tracked_times`, `gitea_repo_transfer`, `gitea_repo_update_avatar`, `gitea_repo_update_branch`, `gitea_repo_update_branch_protection_priorities`, `gitea_repo_update_file`, `gitea_repo_update_topics`, `gitea_repo_validate_issue_config`
|
`gitea_repo_accept_repo_transfer`, `gitea_repo_add_collaborator`, `gitea_repo_add_issue_to_project_column`, `gitea_repo_add_push_mirror`, `gitea_repo_add_team`, `gitea_repo_add_topic`, `gitea_repo_apply_diff_patch`, `gitea_repo_change_files`, `gitea_repo_check_assignee`, `gitea_repo_check_collaborator`, `gitea_repo_check_subscription`, `gitea_repo_check_team`, `gitea_repo_compare_diff`, `gitea_repo_create_branch`, `gitea_repo_create_branch_protection`, `gitea_repo_create_deploy_token`, `gitea_repo_create_file`, `gitea_repo_create_fork`, `gitea_repo_create_key`, `gitea_repo_create_project`, `gitea_repo_create_project_column`, `gitea_repo_create_status`, `gitea_repo_create_tag`, `gitea_repo_create_tag_protection`, `gitea_repo_delete`, `gitea_repo_delete_avatar`, `gitea_repo_delete_branch`, `gitea_repo_delete_branch_protection`, `gitea_repo_delete_collaborator`, `gitea_repo_delete_file`, `gitea_repo_delete_key`, `gitea_repo_delete_project`, `gitea_repo_delete_project_column`, `gitea_repo_delete_push_mirror`, `gitea_repo_delete_subscription`, `gitea_repo_delete_tag`, `gitea_repo_delete_tag_protection`, `gitea_repo_delete_team`, `gitea_repo_delete_topic`, `gitea_repo_download_commit_diff_or_patch`, `gitea_repo_edit`, `gitea_repo_edit_branch_protection`, `gitea_repo_edit_project`, `gitea_repo_edit_project_column`, `gitea_repo_edit_tag_protection`, `gitea_repo_generate_repo`, `gitea_repo_get`, `gitea_repo_get_all_commits`, `gitea_repo_get_annotated_tag`, `gitea_repo_get_archive`, `gitea_repo_get_assignees`, `gitea_repo_get_blob`, `gitea_repo_get_branch`, `gitea_repo_get_branch_protection`, `gitea_repo_get_by_id`, `gitea_repo_get_combined_status_by_ref`, `gitea_repo_get_commit_pull_request`, `gitea_repo_get_contents`, `gitea_repo_get_contents_ext`, `gitea_repo_get_contents_list`, `gitea_repo_get_editor_config`, `gitea_repo_get_file_contents`, `gitea_repo_get_file_contents_post`, `gitea_repo_get_issue_config`, `gitea_repo_get_issue_templates`, `gitea_repo_get_key`, `gitea_repo_get_languages`, `gitea_repo_get_licenses`, `gitea_repo_get_project`, `gitea_repo_get_project_column`, `gitea_repo_get_push_mirror_by_remote_name`, `gitea_repo_get_raw_file`, `gitea_repo_get_raw_file_or_lfs`, `gitea_repo_get_repo_permissions`, `gitea_repo_get_reviewers`, `gitea_repo_get_single_commit`, `gitea_repo_get_tag`, `gitea_repo_get_tag_protection`, `gitea_repo_get_tree`, `gitea_repo_list_activity_feeds`, `gitea_repo_list_all_git_refs`, `gitea_repo_list_branch_protection`, `gitea_repo_list_branches`, `gitea_repo_list_collaborators`, `gitea_repo_list_forks`, `gitea_repo_list_git_refs`, `gitea_repo_list_keys`, `gitea_repo_list_project_column_issues`, `gitea_repo_list_project_columns`, `gitea_repo_list_projects`, `gitea_repo_list_push_mirrors`, `gitea_repo_list_stargazers`, `gitea_repo_list_statuses`, `gitea_repo_list_statuses_by_ref`, `gitea_repo_list_subscribers`, `gitea_repo_list_tag_protection`, `gitea_repo_list_tags`, `gitea_repo_list_teams`, `gitea_repo_list_topics`, `gitea_repo_list_user_tracked_times`, `gitea_repo_merge_upstream`, `gitea_repo_migrate`, `gitea_repo_mirror_sync`, `gitea_repo_move_project_columns`, `gitea_repo_move_project_issue`, `gitea_repo_new_pin_allowed`, `gitea_repo_push_mirror_sync`, `gitea_repo_put_subscription`, `gitea_repo_reject_repo_transfer`, `gitea_repo_remove_issue_from_project_column`, `gitea_repo_rename_branch`, `gitea_repo_search`, `gitea_repo_set_default_project_column`, `gitea_repo_tracked_times`, `gitea_repo_transfer`, `gitea_repo_update_avatar`, `gitea_repo_update_branch`, `gitea_repo_update_branch_protection_priorities`, `gitea_repo_update_file`, `gitea_repo_update_topics`, `gitea_repo_validate_issue_config`
|
||||||
|
|
||||||
Tools with a documented non-2xx status (4):
|
Tools with a documented non-2xx status (1):
|
||||||
|
|
||||||
| Tool | Status |
|
| Tool | Status |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `gitea_repo_accept_repo_transfer` | 404 |
|
|
||||||
| `gitea_repo_get_commit_pull_request` | 404 |
|
|
||||||
| `gitea_repo_get_note` | 404 |
|
| `gitea_repo_get_note` | 404 |
|
||||||
| `gitea_repo_reject_repo_transfer` | 404 |
|
|
||||||
|
|
||||||
Allowances (2):
|
Allowances (2):
|
||||||
|
|
||||||
@@ -240,16 +219,14 @@ none
|
|||||||
|
|
||||||
## user
|
## user
|
||||||
|
|
||||||
Tools with a 2xx (71):
|
Tools with a 2xx (73):
|
||||||
|
|
||||||
`gitea_user_add_email`, `gitea_user_block_user`, `gitea_user_check_following`, `gitea_user_check_user_block`, `gitea_user_create_oauth2_application`, `gitea_user_current_add_issue_to_project_column`, `gitea_user_current_check_following`, `gitea_user_current_check_starring`, `gitea_user_current_create_project`, `gitea_user_current_create_project_column`, `gitea_user_current_create_repo`, `gitea_user_current_delete_follow`, `gitea_user_current_delete_gpg_key`, `gitea_user_current_delete_key`, `gitea_user_current_delete_project`, `gitea_user_current_delete_project_column`, `gitea_user_current_delete_star`, `gitea_user_current_edit_project`, `gitea_user_current_edit_project_column`, `gitea_user_current_get_key`, `gitea_user_current_get_project`, `gitea_user_current_get_project_column`, `gitea_user_current_list_followers`, `gitea_user_current_list_following`, `gitea_user_current_list_gpg_keys`, `gitea_user_current_list_keys`, `gitea_user_current_list_orgs`, `gitea_user_current_list_project_column_issues`, `gitea_user_current_list_project_columns`, `gitea_user_current_list_projects`, `gitea_user_current_list_repos`, `gitea_user_current_list_starred`, `gitea_user_current_list_subscriptions`, `gitea_user_current_move_project_columns`, `gitea_user_current_move_project_issue`, `gitea_user_current_post_key`, `gitea_user_current_put_follow`, `gitea_user_current_put_star`, `gitea_user_current_remove_issue_from_project_column`, `gitea_user_current_set_default_project_column`, `gitea_user_current_tracked_times`, `gitea_user_delete_avatar`, `gitea_user_delete_email`, `gitea_user_delete_oauth2_application`, `gitea_user_get`, `gitea_user_get_current`, `gitea_user_get_heatmap_data`, `gitea_user_get_oauth2_application`, `gitea_user_get_org_permissions`, `gitea_user_get_settings`, `gitea_user_get_stopwatches`, `gitea_user_get_verification_token`, `gitea_user_list_activity_feeds`, `gitea_user_list_blocks`, `gitea_user_list_emails`, `gitea_user_list_followers`, `gitea_user_list_following`, `gitea_user_list_gpg_keys`, `gitea_user_list_keys`, `gitea_user_list_oauth2_applications`, `gitea_user_list_orgs`, `gitea_user_list_projects`, `gitea_user_list_repos`, `gitea_user_list_starred`, `gitea_user_list_subscriptions`, `gitea_user_list_teams`, `gitea_user_search`, `gitea_user_unblock_user`, `gitea_user_update_avatar`, `gitea_user_update_oauth2_application`, `gitea_user_update_settings`
|
`gitea_user_add_email`, `gitea_user_block_user`, `gitea_user_check_following`, `gitea_user_check_user_block`, `gitea_user_create_oauth2_application`, `gitea_user_current_add_issue_to_project_column`, `gitea_user_current_check_following`, `gitea_user_current_check_starring`, `gitea_user_current_create_project`, `gitea_user_current_create_project_column`, `gitea_user_current_create_repo`, `gitea_user_current_delete_follow`, `gitea_user_current_delete_gpg_key`, `gitea_user_current_delete_key`, `gitea_user_current_delete_project`, `gitea_user_current_delete_project_column`, `gitea_user_current_delete_star`, `gitea_user_current_edit_project`, `gitea_user_current_edit_project_column`, `gitea_user_current_get_gpg_key`, `gitea_user_current_get_key`, `gitea_user_current_get_project`, `gitea_user_current_get_project_column`, `gitea_user_current_list_followers`, `gitea_user_current_list_following`, `gitea_user_current_list_gpg_keys`, `gitea_user_current_list_keys`, `gitea_user_current_list_orgs`, `gitea_user_current_list_project_column_issues`, `gitea_user_current_list_project_columns`, `gitea_user_current_list_projects`, `gitea_user_current_list_repos`, `gitea_user_current_list_starred`, `gitea_user_current_list_subscriptions`, `gitea_user_current_move_project_columns`, `gitea_user_current_move_project_issue`, `gitea_user_current_post_gpg_key`, `gitea_user_current_post_key`, `gitea_user_current_put_follow`, `gitea_user_current_put_star`, `gitea_user_current_remove_issue_from_project_column`, `gitea_user_current_set_default_project_column`, `gitea_user_current_tracked_times`, `gitea_user_delete_avatar`, `gitea_user_delete_email`, `gitea_user_delete_oauth2_application`, `gitea_user_get`, `gitea_user_get_current`, `gitea_user_get_heatmap_data`, `gitea_user_get_oauth2_application`, `gitea_user_get_org_permissions`, `gitea_user_get_settings`, `gitea_user_get_stopwatches`, `gitea_user_get_verification_token`, `gitea_user_list_activity_feeds`, `gitea_user_list_blocks`, `gitea_user_list_emails`, `gitea_user_list_followers`, `gitea_user_list_following`, `gitea_user_list_gpg_keys`, `gitea_user_list_keys`, `gitea_user_list_oauth2_applications`, `gitea_user_list_orgs`, `gitea_user_list_projects`, `gitea_user_list_repos`, `gitea_user_list_starred`, `gitea_user_list_subscriptions`, `gitea_user_list_teams`, `gitea_user_search`, `gitea_user_unblock_user`, `gitea_user_update_avatar`, `gitea_user_update_oauth2_application`, `gitea_user_update_settings`
|
||||||
|
|
||||||
Tools with a documented non-2xx status (3):
|
Tools with a documented non-2xx status (1):
|
||||||
|
|
||||||
| Tool | Status |
|
| Tool | Status |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `gitea_user_current_get_gpg_key` | 404 |
|
|
||||||
| `gitea_user_current_post_gpg_key` | 422 |
|
|
||||||
| `gitea_user_verify_gpg_key` | 422 |
|
| `gitea_user_verify_gpg_key` | 422 |
|
||||||
|
|
||||||
Allowances (3):
|
Allowances (3):
|
||||||
|
|||||||
@@ -67,7 +67,14 @@ log and the executor are all exercised. State lives in `tmp_path`.
|
|||||||
Order: read-only first, then creates, updates and deletes (leaf resources first). A call
|
Order: read-only first, then creates, updates and deletes (leaf resources first). A call
|
||||||
passes with a 2xx, a status the swagger documents for that operation, or an entry of
|
passes with a 2xx, a status the swagger documents for that operation, or an entry of
|
||||||
`ALLOWANCES` (each with a reason). All failing tools are listed at once.
|
`ALLOWANCES` (each with a reason). All failing tools are listed at once.
|
||||||
`test_sweep_isolated.py` covers the tools the sweep must not call.
|
`sweep_baseline.json` pins the outcome class of every tool (`2xx`, or the exact status of
|
||||||
|
a documented non-2xx or allowance). A downgrade (2xx to anything else, or a different
|
||||||
|
status) fails the run and all of them are reported together, so an argument or path
|
||||||
|
regression cannot hide behind a documented 404. An upgrade only prints a note to refresh
|
||||||
|
the file. Regenerate it with `AEGIS_IT_WRITE_BASELINE=1` (only for an intended change,
|
||||||
|
and review the diff). `test_sweep_isolated.py` covers the tools the sweep must not call.
|
||||||
|
- `test_failure_paths.py`: write tools Gitea refuses (missing repository, invalid color,
|
||||||
|
duplicate repository, stale file sha) keep their status and error kind and are audited.
|
||||||
- `test_per_user_oauth.py`: the HTTP app with per-user OAuth, driven in process with a
|
- `test_per_user_oauth.py`: the HTTP app with per-user OAuth, driven in process with a
|
||||||
seeded OAuth store; calls run as the signed-in user, admin tools and private repositories
|
seeded OAuth store; calls run as the signed-in user, admin tools and private repositories
|
||||||
of others are refused by Gitea, the static bearer still runs as admin.
|
of others are refused by Gitea, the static bearer still runs as admin.
|
||||||
@@ -85,6 +92,14 @@ network, registered with a token from `gitea_actions_repo_create_runner_registra
|
|||||||
label `aegis-host:host`. Jobs run inside the runner container itself: no Docker socket, no
|
label `aegis-host:host`. Jobs run inside the runner container itself: no Docker socket, no
|
||||||
bind mounts. The runner reaches Gitea by container name, so it works in both network modes.
|
bind mounts. The runner reaches Gitea by container name, so it works in both network modes.
|
||||||
It is removed with the rest of the run. If it cannot start or come online, the test is
|
It is removed with the rest of the run. If it cannot start or come online, the test is
|
||||||
marked xfail with the reason; a failure after the run completed is a real failure.
|
marked xfail with the reason, unless `CI` or `AEGIS_IT_REQUIRE_RUNNER=1` is set (the CI job
|
||||||
|
sets it), in which case it fails: a pipeline must not silently skip the Actions scenario. A
|
||||||
|
failure after the run completed is always a real failure.
|
||||||
|
|
||||||
|
With the runner the scenario also exercises the completed run: the runner get, update and
|
||||||
|
delete tools at repository scope, the logs archive, rerun of the run and of one job, and
|
||||||
|
deleting the run. `test_runner_management_at_every_scope` registers one more runner for the
|
||||||
|
organization, the user and the instance (each serving its own label) and manages it through
|
||||||
|
the matching tools.
|
||||||
|
|
||||||
Runtime: about two minutes locally (Gitea start 15 s, sweep 40 s, runner 10 s).
|
Runtime: about two minutes locally (Gitea start 15 s, sweep 40 s, runner 10 s).
|
||||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user