- Notifications
You must be signed in to change notification settings - Fork673
Open
Description
Description of the problem, including code/CLI snippet
If you have a~/.python-gitlab.cfg
but don't specify a default under the global section you get different--help
output.
This setup is useful if you work with multiple GitLab instances and prefer to be explicit every time in invoke a command.
For examplegitlab -g dev project ...
, vsgitlab -g prod project ...
This is one of the causes of the test failures on#2702
Expected Behavior
--help should be independent of any GitLab instance.
Actual Behavior
With no default
# cat ~/.python-gitlab.cfg[global]ssl_verify = truetimeout = 60per_page = 100[dev]url = https://dev.example.comprivate_token = abcdefghijklmnopapi_version = 4[prod]url = https://prod.example.comprivate_token = abcdefghijklmnopapi_version = 4## gitlab --helpusage: gitlab [--version] [-v] [-d] [-c CONFIG_FILE] [-g GITLAB] [-o {json,legacy,yaml}] [-f FIELDS] [--server-url SERVER_URL] [--ssl-verify SSL_VERIFY] [--timeout TIMEOUT] [--api-version API_VERSION] [--per-page PER_PAGE] [--pagination PAGINATION] [--order-by ORDER_BY] [--user-agent USER_AGENT] [--private-token PRIVATE_TOKEN | --oauth-token OAUTH_TOKEN | --job-token JOB_TOKEN]GitLab API Command Line Interfaceoptions: --version Display the version. -v, --verbose, --fancy Verbose mode (legacy format only) [env var: GITLAB_VERBOSE] -d, --debug Debug mode (display HTTP requests) [env var: GITLAB_DEBUG] -c CONFIG_FILE, --config-file CONFIG_FILE Configuration file to use. Can be used multiple times. [env var: PYTHON_GITLAB_CFG] -g GITLAB, --gitlab GITLAB Which configuration section should be used. If not defined, the default selection will be used. -o {json,legacy,yaml}, --output {json,legacy,yaml} Output format (v4 only): json|legacy|yaml -f FIELDS, --fields FIELDS Fields to display in the output (comma separated). Not used with legacy output --server-url SERVER_URL GitLab server URL [env var: GITLAB_URL] --ssl-verify SSL_VERIFY Whether SSL certificates should be validated. [env var: GITLAB_SSL_VERIFY] --timeout TIMEOUT Timeout to use for requests to the GitLab server. [env var: GITLAB_TIMEOUT] --api-version API_VERSION GitLab API version [env var: GITLAB_API_VERSION] --per-page PER_PAGE Number of entries to return per page in the response. [env var: GITLAB_PER_PAGE] --pagination PAGINATION Whether to use keyset or offset pagination [env var: GITLAB_PAGINATION] --order-by ORDER_BY Set order_by globally [env var: GITLAB_ORDER_BY] --user-agent USER_AGENT The user agent to send to GitLab with the HTTP request. [env var: GITLAB_USER_AGENT] --private-token PRIVATE_TOKEN GitLab private access token [env var: GITLAB_PRIVATE_TOKEN] --oauth-token OAUTH_TOKEN GitLab OAuth token [env var: GITLAB_OAUTH_TOKEN] --job-token JOB_TOKEN GitLab CI job token [env var: CI_JOB_TOKEN]#
With a default
# cat ~/.python-gitlab.cfg[global]ssl_verify = truetimeout = 60per_page = 100default = dev[dev]url = https://dev.example.comprivate_token = abcdefghijklmnopapi_version = 4[prod]url = https://prod.example.comprivate_token = abcdefghijklmnopapi_version = 4## gitlab --helpusage: gitlab [-h] [--version] [-v] [-d] [-c CONFIG_FILE] [-g GITLAB] [-o {json,legacy,yaml}] [-f FIELDS] [--server-url SERVER_URL] [--ssl-verify SSL_VERIFY] [--timeout TIMEOUT] [--api-version API_VERSION] [--per-page PER_PAGE] [--pagination PAGINATION] [--order-by ORDER_BY] [--user-agent USER_AGENT] [--private-token PRIVATE_TOKEN | --oauth-token OAUTH_TOKEN | --job-token JOB_TOKEN] application application-appearance application-settings application-statistics audit-event broadcast-message bulk-import bulk-import-all-entity bulk-import-entity ci-lint current-user current-user-email current-user-gpg-key current-user-key current-user-status deploy-key deploy-token dockerfile event feature generic-package geo-node gitignore gitlabciyml group group-access-request group-access-token group-audit-event group-badge group-billable-member group-billable-member-membership group-board group-board-list group-cluster group-custom-attribute group-deploy-token group-descendant-group group-epic group-epic-award-emoji group-epic-discussion-note group-epic-issue group-epic-note group-epic-note-award-emoji group-epic-resource-label-event group-export group-hook group-import group-invitation group-issue group-issues-statistics group-iteration group-ldap-group-link group-label group-member group-member-all group-merge-request group-milestone group-notification-settings group-package group-project group-push-rules group-runner group-saml-group-link group-subgroup group-variable group-wiki hook issue issues-statistics key ldap-group license merge-request namespace notification-settings pages-domain personal-access-token project project-access-request project-access-token project-additional-statistics project-approval project-approval-rule project-artifact project-audit-event project-badge project-board project-board-list project-branch project-ci-lint project-cluster project-commit project-commit-comment project-commit-discussion project-commit-discussion-note project-commit-status project-custom-attribute project-deploy-token project-deployment project-deployment-merge-request project-environment project-event project-export project-file project-fork project-hook project-import project-integration project-invitation project-issue project-issue-award-emoji project-issue-discussion project-issue-discussion-note project-issue-link project-issue-note project-issue-note-award-emoji project-issue-resource-iteration-event project-issue-resource-label-event project-issue-resource-milestone-event project-issue-resource-state-event project-issue-resource-weight-event project-issues-statistics project-job project-key project-label project-member project-member-all project-merge-request project-merge-request-approval project-merge-request-approval-rule project-merge-request-approval-state project-merge-request-award-emoji project-merge-request-diff project-merge-request-discussion project-merge-request-discussion-note project-merge-request-note project-merge-request-note-award-emoji project-merge-request-pipeline project-merge-request-resource-label-event project-merge-request-resource-milestone-event project-merge-request-resource-state-event project-merge-train project-milestone project-note project-notification-settings project-package project-package-file project-pages-domain project-pipeline project-pipeline-bridge project-pipeline-job project-pipeline-schedule project-pipeline-schedule-pipeline project-pipeline-schedule-variable project-pipeline-test-report project-pipeline-test-report-summary project-pipeline-variable project-protected-branch project-protected-environment project-protected-tag project-push-rules project-registry-repository project-registry-tag project-release project-release-link project-remote-mirror project-resource-group project-resource-group-upcoming-job project-runner project-secure-file project-service project-snippet project-snippet-award-emoji project-snippet-discussion project-snippet-discussion-note project-snippet-note project-snippet-note-award-emoji project-storage project-tag project-trigger project-user project-variable project-wiki registry-repository runner runner-all runner-job shared-project snippet starred-project todo topic user user-activities user-custom-attribute user-email user-event user-gpg-key user-impersonation-token user-key user-membership user-personal-access-token user-project user-status variable ...GitLab API Command Line Interfaceoptions: -h, --help show this help message and exit --version Display the version. -v, --verbose, --fancy Verbose mode (legacy format only) [env var: GITLAB_VERBOSE] -d, --debug Debug mode (display HTTP requests) [env var: GITLAB_DEBUG] -c CONFIG_FILE, --config-file CONFIG_FILE Configuration file to use. Can be used multiple times. [env var: PYTHON_GITLAB_CFG] -g GITLAB, --gitlab GITLAB Which configuration section should be used. If not defined, the default selection will be used. -o {json,legacy,yaml}, --output {json,legacy,yaml} Output format (v4 only): json|legacy|yaml -f FIELDS, --fields FIELDS Fields to display in the output (comma separated). Not used with legacy output --server-url SERVER_URL GitLab server URL [env var: GITLAB_URL] --ssl-verify SSL_VERIFY Whether SSL certificates should be validated. [env var: GITLAB_SSL_VERIFY] --timeout TIMEOUT Timeout to use for requests to the GitLab server. [env var: GITLAB_TIMEOUT] --api-version API_VERSION GitLab API version [env var: GITLAB_API_VERSION] --per-page PER_PAGE Number of entries to return per page in the response. [env var: GITLAB_PER_PAGE] --pagination PAGINATION Whether to use keyset or offset pagination [env var: GITLAB_PAGINATION] --order-by ORDER_BY Set order_by globally [env var: GITLAB_ORDER_BY] --user-agent USER_AGENT The user agent to send to GitLab with the HTTP request. [env var: GITLAB_USER_AGENT] --private-token PRIVATE_TOKEN GitLab private access token [env var: GITLAB_PRIVATE_TOKEN] --oauth-token OAUTH_TOKEN GitLab OAuth token [env var: GITLAB_OAUTH_TOKEN] --job-token JOB_TOKEN GitLab CI job token [env var: CI_JOB_TOKEN]resource: application application-appearance application-settings application-statistics audit-event broadcast-message bulk-import bulk-import-all-entity bulk-import-entity ci-lint current-user current-user-email current-user-gpg-key current-user-key current-user-status deploy-key deploy-token dockerfile event feature generic-package geo-node gitignore gitlabciyml group group-access-request group-access-token group-audit-event group-badge group-billable-member group-billable-member-membership group-board group-board-list group-cluster group-custom-attribute group-deploy-token group-descendant-group group-epic group-epic-award-emoji group-epic-discussion-note group-epic-issue group-epic-note group-epic-note-award-emoji group-epic-resource-label-event group-export group-hook group-import group-invitation group-issue group-issues-statistics group-iteration group-ldap-group-link group-label group-member group-member-all group-merge-request group-milestone group-notification-settings group-package group-project group-push-rules group-runner group-saml-group-link group-subgroup group-variable group-wiki hook issue issues-statistics key ldap-group license merge-request namespace notification-settings pages-domain personal-access-token project project-access-request project-access-token project-additional-statistics project-approval project-approval-rule project-artifact project-audit-event project-badge project-board project-board-list project-branch project-ci-lint project-cluster project-commit project-commit-comment project-commit-discussion project-commit-discussion-note project-commit-status project-custom-attribute project-deploy-token project-deployment project-deployment-merge-request project-environment project-event project-export project-file project-fork project-hook project-import project-integration project-invitation project-issue project-issue-award-emoji project-issue-discussion project-issue-discussion-note project-issue-link project-issue-note project-issue-note-award-emoji project-issue-resource-iteration-event project-issue-resource-label-event project-issue-resource-milestone-event project-issue-resource-state-event project-issue-resource-weight-event project-issues-statistics project-job project-key project-label project-member project-member-all project-merge-request project-merge-request-approval project-merge-request-approval-rule project-merge-request-approval-state project-merge-request-award-emoji project-merge-request-diff project-merge-request-discussion project-merge-request-discussion-note project-merge-request-note project-merge-request-note-award-emoji project-merge-request-pipeline project-merge-request-resource-label-event project-merge-request-resource-milestone-event project-merge-request-resource-state-event project-merge-train project-milestone project-note project-notification-settings project-package project-package-file project-pages-domain project-pipeline project-pipeline-bridge project-pipeline-job project-pipeline-schedule project-pipeline-schedule-pipeline project-pipeline-schedule-variable project-pipeline-test-report project-pipeline-test-report-summary project-pipeline-variable project-protected-branch project-protected-environment project-protected-tag project-push-rules project-registry-repository project-registry-tag project-release project-release-link project-remote-mirror project-resource-group project-resource-group-upcoming-job project-runner project-secure-file project-service project-snippet project-snippet-award-emoji project-snippet-discussion project-snippet-discussion-note project-snippet-note project-snippet-note-award-emoji project-storage project-tag project-trigger project-user project-variable project-wiki registry-repository runner runner-all runner-job shared-project snippet starred-project todo topic user user-activities user-custom-attribute user-email user-event user-gpg-key user-impersonation-token user-key user-membership user-personal-access-token user-project user-status variable The GitLab resource to manipulate.#
Specifications
- python-gitlab version: 3.15.0
- API version you are using (v3/v4): N/A
- Gitlab server version (or gitlab.com): N/A
Metadata
Metadata
Assignees
Labels
No labels