-
Notifications
You must be signed in to change notification settings - Fork 673
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 example gitlab -g dev project ...
, vs gitlab -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 = true
timeout = 60
per_page = 100
[dev]
url = https://dev.example.com
private_token = abcdefghijklmnop
api_version = 4
[prod]
url = https://prod.example.com
private_token = abcdefghijklmnop
api_version = 4
#
# gitlab --help
usage: 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 Interface
options:
--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 = true
timeout = 60
per_page = 100
default = dev
[dev]
url = https://dev.example.com
private_token = abcdefghijklmnop
api_version = 4
[prod]
url = https://prod.example.com
private_token = abcdefghijklmnop
api_version = 4
#
# gitlab --help
usage: 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 Interface
options:
-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