gitlab modules: do not crash if python-gitlab isn't there (#8158)

Do not crash if python-gitlab isn't there.
This commit is contained in:
Felix Fontein 2024-03-29 19:10:42 +01:00 committed by GitHub
parent b2b8fc30bf
commit b463571902
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 17 additions and 30 deletions

View file

@ -143,7 +143,6 @@ from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.api import basic_auth_argument_spec
from ansible.module_utils.common.text.converters import to_native, to_text
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, gitlab, find_project, find_group
)
@ -330,13 +329,8 @@ def main():
state_filter = module.params['state_filter']
title = module.params['title']
gitlab_version = gitlab.__version__
if LooseVersion(gitlab_version) < LooseVersion('2.3.0'):
module.fail_json(msg="community.general.gitlab_issue requires python-gitlab Python module >= 2.3.0 (installed version: [%s])."
" Please upgrade python-gitlab to version 2.3.0 or above." % gitlab_version)
# check prerequisites and connect to gitlab server
gitlab_instance = gitlab_authentication(module)
gitlab_instance = gitlab_authentication(module, min_version='2.3.0')
this_project = find_project(gitlab_instance, project)
if this_project is None:

View file

@ -222,9 +222,8 @@ labels_obj:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.api import basic_auth_argument_spec
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, ensure_gitlab_package, find_group, find_project, gitlab
auth_argument_spec, gitlab_authentication, ensure_gitlab_package, find_group, find_project
)
@ -450,14 +449,7 @@ def main():
label_list = module.params['labels']
state = module.params['state']
gitlab_version = gitlab.__version__
_min_gitlab = '3.2.0'
if LooseVersion(gitlab_version) < LooseVersion(_min_gitlab):
module.fail_json(msg="community.general.gitlab_label requires python-gitlab Python module >= %s "
"(installed version: [%s]). Please upgrade "
"python-gitlab to version %s or above." % (_min_gitlab, gitlab_version, _min_gitlab))
gitlab_instance = gitlab_authentication(module)
gitlab_instance = gitlab_authentication(module, min_version='3.2.0')
# find_project can return None, but the other must exist
gitlab_project_id = find_project(gitlab_instance, gitlab_project)

View file

@ -206,9 +206,8 @@ milestones_obj:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.api import basic_auth_argument_spec
from ansible_collections.community.general.plugins.module_utils.version import LooseVersion
from ansible_collections.community.general.plugins.module_utils.gitlab import (
auth_argument_spec, gitlab_authentication, ensure_gitlab_package, find_group, find_project, gitlab
auth_argument_spec, gitlab_authentication, ensure_gitlab_package, find_group, find_project
)
from datetime import datetime
@ -452,14 +451,7 @@ def main():
milestone_list = module.params['milestones']
state = module.params['state']
gitlab_version = gitlab.__version__
_min_gitlab = '3.2.0'
if LooseVersion(gitlab_version) < LooseVersion(_min_gitlab):
module.fail_json(msg="community.general.gitlab_milestone requires python-gitlab Python module >= %s "
"(installed version: [%s]). Please upgrade "
"python-gitlab to version %s or above." % (_min_gitlab, gitlab_version, _min_gitlab))
gitlab_instance = gitlab_authentication(module)
gitlab_instance = gitlab_authentication(module, min_version='3.2.0')
# find_project can return None, but the other must exist
gitlab_project_id = find_project(gitlab_instance, gitlab_project)