Long term I don't see this being a good idea to maintain manually. Maybe later we can just convert any list we get in the data forListMixin
. Either way - finding candidates wasgrep -r 'type: Array' lib/api
in the gitlab repo, and weeding out non-GET
params and endpoints not implemented by python-gitlab:
lib/api/resource_access_tokens.rb: requires :scopes, type: Array[String], desc:"The permissions of the token"lib/api/deploy_tokens.rb: requires :scopes, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, values: ::DeployToken::AVAILABLE_SCOPES.map(&:to_s),lib/api/deploy_tokens.rb: requires :scopes, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, values: ::DeployToken::AVAILABLE_SCOPES.map(&:to_s),lib/api/rubygem_packages.rb: optional :gems, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma delimited gem names'lib/api/releases.rb: optional :links, type: Arraydolib/api/releases.rb: optional :milestones, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'The titles of the related milestones', default: []lib/api/releases.rb: optional :milestones, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'The titles of the related milestones'lib/api/settings.rb: optional :asset_proxy_whitelist, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc:'Deprecated: Use :asset_proxy_allowlist instead. Assets that match these domain(s) will NOT be proxied. Wildcards allowed. Your GitLab installation URL is automatically whitelisted.'lib/api/settings.rb: optional :asset_proxy_allowlist, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc:'Assets that match these domain(s) will NOT be proxied. Wildcards allowed. Your GitLab installation URL is automatically allowed.'lib/api/settings.rb: optional :disabled_oauth_sign_in_sources, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc:'Disable certain OAuth sign-in sources'lib/api/settings.rb: optional :domain_denylist, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc:'Users with e-mail addresses that match these domain(s) will NOT be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com'lib/api/settings.rb: optional :domain_allowlist, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc:'ONLY users with e-mail addresses that match these domain(s) will be able to sign-up. Wildcards allowed. Use separate lines for multiple entries. Ex: domain.com, *.domain.com'lib/api/settings.rb: optional :import_sources, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce,lib/api/settings.rb: optional :restricted_visibility_levels, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc:'Selected levels cannot be used by non-admin users for groups, projects or snippets. If the public level is restricted, user profiles are only visible to logged in users.'lib/api/repositories.rb: requires :refs, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coercelib/api/milestone_responses.rb: optional :iids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'The IIDs of the milestones'lib/api/container_registry_event.rb: requires :events, type: Arraylib/api/commits.rb: requires :actions, type: Array, desc:'Actions to perform in commit'dolib/api/helpers/merge_requests_helpers.rb: optional :assignee_username, type: Array[String], check_assignees_count: true,lib/api/helpers/merge_requests_helpers.rb: type: Array[String],lib/api/helpers/projects_helpers.rb: optional :tag_list, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'The list of tags for a project'lib/api/helpers/snippets_helpers.rb: optional :files, type: Array, desc:'An array of files'dolib/api/helpers/snippets_helpers.rb: optional :files, type: Array, desc:'An array of files to update'dolib/api/members.rb: optional :user_ids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'Array of user ids to look up for membership'lib/api/members.rb: optional :user_ids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'Array of user ids to look up for membership'lib/api/projects.rb: optional :topic, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma-separated list of topics. Limit results to projects having all topics'lib/api/projects.rb: optional :skip_users, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'Filter out users with the specified IDs'lib/api/projects.rb: optional :skip_groups, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'Array of group ids to exclude from list'lib/api/suggestions.rb: requires :ids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:"An array of suggestion ID's"lib/api/ci/runner.rb: optional :tag_list, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc: %q(List of Runner's tags)lib/api/ci/runners.rb: optional :tag_list, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'The tags of the runners to show'lib/api/ci/runners.rb: optional :tag_list, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'The tags of the runners to show'lib/api/ci/runners.rb: optional :tag_list, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'The list of tagsfor a runner'lib/api/ci/runners.rb: optional :tag_list, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'The tags of the runners to show'lib/api/ci/runners.rb: optional :tag_list, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'The tags of the runners to show'lib/api/issues.rb: optional :labels, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma-separated list of label names'lib/api/issues.rb: optional :iids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'The IID array of issues'lib/api/issues.rb: optional :assignee_username, type: Array[String], check_assignees_count: true,lib/api/issues.rb: optional :labels, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma-separated list of label names'lib/api/issues.rb: optional :iids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'The IID array of issues'lib/api/issues.rb: optional :assignee_username, type: Array[String], check_assignees_count: true,lib/api/issues.rb: optional :assignee_ids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'The array of user IDs to assign issue'lib/api/issues.rb: optional :labels, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma-separated list of label names'lib/api/issues.rb: optional :add_labels, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma-separated list of label names'lib/api/issues.rb: optional :remove_labels, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma-separated list of label names'lib/api/groups.rb: optional :skip_groups, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'Array of group ids to exclude from list'lib/api/users.rb: optional :scopes, type: Array, desc:'The array of scopes of the impersonation token'lib/api/users.rb: requires :scopes, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, values: ::Gitlab::Auth.all_available_scopes.map(&:to_s),lib/api/feature_flags.rb: optional :scopes, type: Array dolib/api/feature_flags.rb: optional :strategies, type: Array dolib/api/feature_flags.rb: optional :scopes, type: Array dolib/api/feature_flags.rb: optional :strategies, type: Array dolib/api/feature_flags.rb: optional :scopes, type: Array dolib/api/merge_requests.rb: optional :assignee_ids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'Comma-separated list of assignee ids'lib/api/merge_requests.rb: optional :reviewer_ids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'Comma-separated list of reviewer ids'lib/api/merge_requests.rb: optional :labels, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma-separated list of label names'lib/api/merge_requests.rb: optional :add_labels, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma-separated list of label names'lib/api/merge_requests.rb: optional :remove_labels, type: Array[String], coerce_with: Validations::Types::CommaSeparatedToArray.coerce, desc:'Comma-separated list of label names'lib/api/merge_requests.rb: optional :iids, type: Array[Integer], coerce_with: ::API::Validations::Types::CommaSeparatedToIntegerArray.coerce, desc:'The IID array of merge requests'lib/api/merge_requests.rb: requires :commits, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, allow_blank: false, desc:'List of context commits sha'lib/api/merge_requests.rb: requires :commits, type: Array[String], coerce_with: ::API::Validations::Types::CommaSeparatedToArray.coerce, allow_blank: false, desc:'List of context commits sha'
Uh oh!
There was an error while loading.Please reload this page.
Well, this was tedious 😁 Follow-up to#1413.
Long term I don't see this being a good idea to maintain manually. Maybe later we can just convert any list we get in the data for
ListMixin
. Either way - finding candidates wasgrep -r 'type: Array' lib/api
in the gitlab repo, and weeding out non-GET
params and endpoints not implemented by python-gitlab:Closes#1256
Closes#1419