community.general
community.general copied to clipboard
gitlab_merge_request_rule: new module, create Gitlab Merge Request Rule (Enterprise/Ultimate Only)
SUMMARY
Adding a new Gitlab module named gitlab_merge_request_rule. This is for managing (creating, updating and deleting) merge request rules for those with Gitlab Enterprise/Ultimate.
It can take in a group name or id, as well as usernames or user id, perform the lookup (assumes the authenticated token/user has the proper access) to properly generate the request.
Has failure messages builtin for unable to find a user or a group. If the specified protected branch is not found, it defaults back to "All Branches".
If applies_to_all_protected_branches option is set to true it ignores protected_branch if set.
This should idempotently detect changes (additions or removals) for all settings.
Could probably use some additional tweaking to reduce complexity ;d but threw this together quickly for work, thought I should share it back.
ISSUE TYPE
- New Module/Plugin Pull Request
COMPONENT NAME
gitlab_merge_request_rule
ADDITIONAL INFORMATION
Example task:
- name: Create merge request rule 'first-rule' on main and develop
community.general.gitlab_merge_request_rule:
api_url: "https://gitlab.company.com"
api_token: "{{ api_token }}"
validate_certs: false
state: present
project_group: 'group/subgroup'
project_name: 'repo-name'
rule_name: 'first-rule'
approvals_required: 3
applies_to_all_protected_branches: false
protected_branch: main # API states it can take a list, but it actually only allows a single branch, exception is not passing a branch name which sets to "All branches" or setting the above flag to true for all "protected_branches".
usernames:
- my_username
user_ids:
- 290
groups:
- 743 # developers group
cc @Lunik @Shaps @lgatellier @marwatk @metanovii @nejch @scodeman @sh0shin @suukit @waheedi @zanssa click here for bot help
The test ansible-test sanity --test compile --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:133:23: SyntaxError: self.rule_name: str = rule_name
The test ansible-test sanity --test import --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:133:23: traceback: SyntaxError: invalid syntax
The test ansible-test sanity --test pep8 [explain] failed with 30 errors:
plugins/modules/gitlab_merge_request_rule.py:241:17: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:241:19: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:292:1: E302: expected 2 blank lines, found 1
plugins/modules/gitlab_merge_request_rule.py:307:161: E501: line too long (163 > 160 characters)
plugins/modules/gitlab_merge_request_rule.py:311:21: E117: over-indented
plugins/modules/gitlab_merge_request_rule.py:319:25: E117: over-indented
plugins/modules/gitlab_merge_request_rule.py:348:161: E501: line too long (168 > 160 characters)
plugins/modules/gitlab_merge_request_rule.py:356:1: E303: too many blank lines (3)
plugins/modules/gitlab_merge_request_rule.py:399:15: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:399:17: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:400:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:400:26: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:401:14: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:401:16: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:402:16: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:402:18: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:403:18: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:403:20: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:404:32: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:404:34: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:405:23: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:405:25: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:406:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:406:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:407:20: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:407:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:408:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:408:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:409:36: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:409:38: E251: unexpected spaces around keyword / parameter equals
The test ansible-test sanity --test pep8 [explain] failed with 30 errors:
plugins/modules/gitlab_merge_request_rule.py:241:17: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:241:19: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:292:1: E302: expected 2 blank lines, found 1
plugins/modules/gitlab_merge_request_rule.py:307:161: E501: line too long (163 > 160 characters)
plugins/modules/gitlab_merge_request_rule.py:311:21: E117: over-indented
plugins/modules/gitlab_merge_request_rule.py:319:25: E117: over-indented
plugins/modules/gitlab_merge_request_rule.py:348:161: E501: line too long (168 > 160 characters)
plugins/modules/gitlab_merge_request_rule.py:356:1: E303: too many blank lines (3)
plugins/modules/gitlab_merge_request_rule.py:399:15: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:399:17: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:400:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:400:26: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:401:14: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:401:16: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:402:16: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:402:18: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:403:18: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:403:20: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:404:32: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:404:34: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:405:23: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:405:25: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:406:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:406:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:407:20: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:407:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:408:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:408:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:409:36: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:409:38: E251: unexpected spaces around keyword / parameter equals
The test ansible-test sanity --test pep8 [explain] failed with 30 errors:
plugins/modules/gitlab_merge_request_rule.py:241:17: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:241:19: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:292:1: E302: expected 2 blank lines, found 1
plugins/modules/gitlab_merge_request_rule.py:307:161: E501: line too long (163 > 160 characters)
plugins/modules/gitlab_merge_request_rule.py:311:21: E117: over-indented
plugins/modules/gitlab_merge_request_rule.py:319:25: E117: over-indented
plugins/modules/gitlab_merge_request_rule.py:348:161: E501: line too long (168 > 160 characters)
plugins/modules/gitlab_merge_request_rule.py:356:1: E303: too many blank lines (3)
plugins/modules/gitlab_merge_request_rule.py:399:15: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:399:17: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:400:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:400:26: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:401:14: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:401:16: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:402:16: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:402:18: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:403:18: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:403:20: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:404:32: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:404:34: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:405:23: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:405:25: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:406:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:406:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:407:20: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:407:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:408:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:408:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:409:36: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:409:38: E251: unexpected spaces around keyword / parameter equals
The test ansible-test sanity --test pep8 [explain] failed with 30 errors:
plugins/modules/gitlab_merge_request_rule.py:241:17: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:241:19: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:292:1: E302: expected 2 blank lines, found 1
plugins/modules/gitlab_merge_request_rule.py:307:161: E501: line too long (163 > 160 characters)
plugins/modules/gitlab_merge_request_rule.py:311:21: E117: over-indented
plugins/modules/gitlab_merge_request_rule.py:319:25: E117: over-indented
plugins/modules/gitlab_merge_request_rule.py:348:161: E501: line too long (168 > 160 characters)
plugins/modules/gitlab_merge_request_rule.py:356:1: E303: too many blank lines (3)
plugins/modules/gitlab_merge_request_rule.py:399:15: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:399:17: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:400:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:400:26: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:401:14: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:401:16: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:402:16: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:402:18: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:403:18: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:403:20: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:404:32: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:404:34: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:405:23: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:405:25: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:406:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:406:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:407:20: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:407:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:408:22: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:408:24: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:409:36: E251: unexpected spaces around keyword / parameter equals
plugins/modules/gitlab_merge_request_rule.py:409:38: E251: unexpected spaces around keyword / parameter equals
The test ansible-test sanity --test pylint [explain] failed with 7 errors:
plugins/modules/gitlab_merge_request_rule.py:134:26: unsupported-binary-operation: unsupported operand type(s) for |
plugins/modules/gitlab_merge_request_rule.py:136:28: unsupported-binary-operation: unsupported operand type(s) for |
plugins/modules/gitlab_merge_request_rule.py:137:25: unsupported-binary-operation: unsupported operand type(s) for |
plugins/modules/gitlab_merge_request_rule.py:139:28: unsupported-binary-operation: unsupported operand type(s) for |
plugins/modules/gitlab_merge_request_rule.py:155:20: ansible-bad-function: Call module.log or module.debug instead of builtins.print
plugins/modules/gitlab_merge_request_rule.py:421:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:436:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test validate-modules [explain] failed with 15 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'approvals_required' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'rule_name' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: nonexistent-parameter-documented: Argument 'protected_branches' is listed in DOCUMENTATION.options, but not accepted by the module argument_spec
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-type-not-in-doc: Argument 'protected_branch' in argument_spec defines type as 'str' but documentation doesn't define type
plugins/modules/gitlab_merge_request_rule.py:0:0: undocumented-parameter: Argument 'protected_branch' is listed in the argument_spec, but not documented in the module documentation
The test ansible-test sanity --test validate-modules [explain] failed with 15 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'approvals_required' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'rule_name' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: nonexistent-parameter-documented: Argument 'protected_branches' is listed in DOCUMENTATION.options, but not accepted by the module argument_spec
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-type-not-in-doc: Argument 'protected_branch' in argument_spec defines type as 'str' but documentation doesn't define type
plugins/modules/gitlab_merge_request_rule.py:0:0: undocumented-parameter: Argument 'protected_branch' is listed in the argument_spec, but not documented in the module documentation
The test ansible-test sanity --test pylint [explain] failed with 3 errors:
plugins/modules/gitlab_merge_request_rule.py:155:20: ansible-bad-function: Call module.log or module.debug instead of builtins.print
plugins/modules/gitlab_merge_request_rule.py:421:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:436:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test pylint [explain] failed with 3 errors:
plugins/modules/gitlab_merge_request_rule.py:155:20: ansible-bad-function: Call module.log or module.debug instead of builtins.print
plugins/modules/gitlab_merge_request_rule.py:421:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:436:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test validate-modules [explain] failed with 15 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'approvals_required' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'rule_name' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: nonexistent-parameter-documented: Argument 'protected_branches' is listed in DOCUMENTATION.options, but not accepted by the module argument_spec
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-type-not-in-doc: Argument 'protected_branch' in argument_spec defines type as 'str' but documentation doesn't define type
plugins/modules/gitlab_merge_request_rule.py:0:0: undocumented-parameter: Argument 'protected_branch' is listed in the argument_spec, but not documented in the module documentation
The test ansible-test sanity --test pylint [explain] failed with 7 errors:
plugins/modules/gitlab_merge_request_rule.py:134:26: unsupported-binary-operation: unsupported operand type(s) for |
plugins/modules/gitlab_merge_request_rule.py:136:28: unsupported-binary-operation: unsupported operand type(s) for |
plugins/modules/gitlab_merge_request_rule.py:137:25: unsupported-binary-operation: unsupported operand type(s) for |
plugins/modules/gitlab_merge_request_rule.py:139:28: unsupported-binary-operation: unsupported operand type(s) for |
plugins/modules/gitlab_merge_request_rule.py:155:20: ansible-bad-function: Call module.log or module.debug instead of builtins.print
plugins/modules/gitlab_merge_request_rule.py:421:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:436:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test validate-modules [explain] failed with 15 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'approvals_required' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'rule_name' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: nonexistent-parameter-documented: Argument 'protected_branches' is listed in DOCUMENTATION.options, but not accepted by the module argument_spec
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-type-not-in-doc: Argument 'protected_branch' in argument_spec defines type as 'str' but documentation doesn't define type
plugins/modules/gitlab_merge_request_rule.py:0:0: undocumented-parameter: Argument 'protected_branch' is listed in the argument_spec, but not documented in the module documentation
The test ansible-test sanity --test pylint [explain] failed with 4 errors:
plugins/modules/gitlab_merge_request_rule.py:129:4: dangerous-default-value: Dangerous default value [] as argument
plugins/modules/gitlab_merge_request_rule.py:173:20: ansible-bad-function: Call module.log or module.debug instead of builtins.print
plugins/modules/gitlab_merge_request_rule.py:499:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:516:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test compile --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:149:23: SyntaxError: self.rule_name: str = rule_name
The test ansible-test sanity --test import --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:149:23: traceback: SyntaxError: invalid syntax
The test ansible-test sanity --test pylint [explain] failed with 4 errors:
plugins/modules/gitlab_merge_request_rule.py:129:4: dangerous-default-value: Dangerous default value [] as argument
plugins/modules/gitlab_merge_request_rule.py:173:20: ansible-bad-function: Call module.log or module.debug instead of builtins.print
plugins/modules/gitlab_merge_request_rule.py:499:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:516:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test validate-modules [explain] failed with 13 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'approvals_required' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'rule_name' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:16:0: import-before-documentation: Import found before documentation variables. All imports must appear below DOCUMENTATION/EXAMPLES/RETURN.
The test ansible-test sanity --test validate-modules [explain] failed with 13 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'approvals_required' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'rule_name' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:16:0: import-before-documentation: Import found before documentation variables. All imports must appear below DOCUMENTATION/EXAMPLES/RETURN.
The test ansible-test sanity --test pylint [explain] failed with 4 errors:
plugins/modules/gitlab_merge_request_rule.py:129:4: dangerous-default-value: Dangerous default value [] as argument
plugins/modules/gitlab_merge_request_rule.py:173:20: ansible-bad-function: Call module.log or module.debug instead of builtins.print
plugins/modules/gitlab_merge_request_rule.py:499:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:516:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test validate-modules [explain] failed with 13 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'approvals_required' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'rule_name' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:16:0: import-before-documentation: Import found before documentation variables. All imports must appear below DOCUMENTATION/EXAMPLES/RETURN.
The test ansible-test sanity --test pylint [explain] failed with 4 errors:
plugins/modules/gitlab_merge_request_rule.py:129:4: dangerous-default-value: Dangerous default value [] as argument
plugins/modules/gitlab_merge_request_rule.py:173:20: ansible-bad-function: Call module.log or module.debug instead of builtins.print
plugins/modules/gitlab_merge_request_rule.py:499:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:516:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test validate-modules [explain] failed with 13 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as ([]) but documentation defines default as (None)
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'approvals_required' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-required-mismatch: Argument 'rule_name' in argument_spec is required, but is not documented as being required
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:16:0: import-before-documentation: Import found before documentation variables. All imports must appear below DOCUMENTATION/EXAMPLES/RETURN.
The test ansible-test sanity --test compile --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:155:23: SyntaxError: self.rule_name: str = rule_name
The test ansible-test sanity --test import --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:155:23: traceback: SyntaxError: invalid syntax
The test ansible-test sanity --test pylint [explain] failed with 3 errors:
plugins/modules/gitlab_merge_request_rule.py:135:4: dangerous-default-value: Dangerous default value [] as argument
plugins/modules/gitlab_merge_request_rule.py:508:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:525:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test validate-modules [explain] failed with 9 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'protected_branch' in argument_spec defines default as (None) but documentation defines default as ('[]')
plugins/modules/gitlab_merge_request_rule.py:0:0: incompatible-default-type: DOCUMENTATION.options.protected_branch: Argument defines default as ([]) but this is incompatible with parameter type str: Value must be string for dictionary value @ data['options']['protected_branch']. Got {'description': ['A protected branch name or branch id for this rule to apply to.', 'Defaults to ALL branches if none specified.'], 'default': [], 'type': 'str'}
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
The test ansible-test sanity --test validate-modules [explain] failed with 9 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'protected_branch' in argument_spec defines default as (None) but documentation defines default as ('[]')
plugins/modules/gitlab_merge_request_rule.py:0:0: incompatible-default-type: DOCUMENTATION.options.protected_branch: Argument defines default as ([]) but this is incompatible with parameter type str: Value must be string for dictionary value @ data['options']['protected_branch']. Got {'description': ['A protected branch name or branch id for this rule to apply to.', 'Defaults to ALL branches if none specified.'], 'default': [], 'type': 'str'}
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
The test ansible-test sanity --test pylint [explain] failed with 3 errors:
plugins/modules/gitlab_merge_request_rule.py:135:4: dangerous-default-value: Dangerous default value [] as argument
plugins/modules/gitlab_merge_request_rule.py:508:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:525:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test pylint [explain] failed with 3 errors:
plugins/modules/gitlab_merge_request_rule.py:135:4: dangerous-default-value: Dangerous default value [] as argument
plugins/modules/gitlab_merge_request_rule.py:508:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:525:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test validate-modules [explain] failed with 9 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'protected_branch' in argument_spec defines default as (None) but documentation defines default as ('[]')
plugins/modules/gitlab_merge_request_rule.py:0:0: incompatible-default-type: DOCUMENTATION.options.protected_branch: Argument defines default as ([]) but this is incompatible with parameter type str: Value must be string for dictionary value @ data['options']['protected_branch']. Got {'description': ['A protected branch name or branch id for this rule to apply to.', 'Defaults to ALL branches if none specified.'], 'default': [], 'type': 'str'}
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
The test ansible-test sanity --test pylint [explain] failed with 3 errors:
plugins/modules/gitlab_merge_request_rule.py:135:4: dangerous-default-value: Dangerous default value [] as argument
plugins/modules/gitlab_merge_request_rule.py:508:12: disallowed-name: Disallowed name "_"
plugins/modules/gitlab_merge_request_rule.py:525:12: disallowed-name: Disallowed name "_"
The test ansible-test sanity --test validate-modules [explain] failed with 9 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'protected_branch' in argument_spec defines default as (None) but documentation defines default as ('[]')
plugins/modules/gitlab_merge_request_rule.py:0:0: incompatible-default-type: DOCUMENTATION.options.protected_branch: Argument defines default as ([]) but this is incompatible with parameter type str: Value must be string for dictionary value @ data['options']['protected_branch']. Got {'description': ['A protected branch name or branch id for this rule to apply to.', 'Defaults to ALL branches if none specified.'], 'default': [], 'type': 'str'}
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['mil1i']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'default': [], 'type': 'list'}
The test ansible-test sanity --test compile --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:155:23: SyntaxError: self.rule_name: str = rule_name
The test ansible-test sanity --test import --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:155:23: traceback: SyntaxError: invalid syntax
The test ansible-test sanity --test validate-modules [explain] failed with 11 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'protected_branch' in argument_spec defines default as (None) but documentation defines default as ('None')
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['(@mil1i) [[email protected]]']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
The test ansible-test sanity --test validate-modules [explain] failed with 11 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'protected_branch' in argument_spec defines default as (None) but documentation defines default as ('None')
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['(@mil1i) [[email protected]]']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
The test ansible-test sanity --test validate-modules [explain] failed with 11 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'protected_branch' in argument_spec defines default as (None) but documentation defines default as ('None')
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['(@mil1i) [[email protected]]']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
The test ansible-test sanity --test validate-modules [explain] failed with 11 errors:
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'groups' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'protected_branch' in argument_spec defines default as (None) but documentation defines default as ('None')
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'user_ids' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: doc-default-does-not-match-spec: Argument 'usernames' in argument_spec defines default as (None) but documentation defines default as (['None'])
plugins/modules/gitlab_merge_request_rule.py:0:0: invalid-documentation: DOCUMENTATION.author: Invalid author for dictionary value @ data['author']. Got ['(@mil1i) [[email protected]]']
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'groups' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'user_ids' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: Argument 'usernames' in argument_spec defines type as list but elements is not defined
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.groups: Argument defines type as list but elements is not defined for dictionary value @ data['options']['groups']. Got {'description': ['List of group names (full path) or group ids of members who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.user_ids: Argument defines type as list but elements is not defined for dictionary value @ data['options']['user_ids']. Got {'description': ['List of user_ids of who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
plugins/modules/gitlab_merge_request_rule.py:0:0: parameter-list-no-elements: DOCUMENTATION.options.usernames: Argument defines type as list but elements is not defined for dictionary value @ data['options']['usernames']. Got {'description': ['List of usernames of who can approve merge requests for this rule.'], 'default': 'None', 'type': 'list'}
The test ansible-test sanity --test compile --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:189:82: SyntaxError: msg=f"Failed to find protected branch id for branch ({b})",
The test ansible-test sanity --test import --python 2.7 [explain] failed with 1 error:
plugins/modules/gitlab_merge_request_rule.py:189:82: traceback: SyntaxError: invalid syntax
Thanks for your contribution! As a first quick comment, please take a look at https://github.com/ansible-collections/community.general/blob/main/CONTRIBUTING.md#creating-new-modules-or-plugins if you haven't.
Hey thank you. I will take a look over the comments and adjust when I get a moment.
At least with the comment on the extra brackets, I had wrote it the way you suggested. However my editors formatter altered it to the way it is. Assuming due to line length.
You probably have some auto-formatting enabled in your editor (the extra brackets are something that black or ruff tend to insert to shorten long lines). It's probably best to disable the formatter.
PIng @mil1i
needs_info
@mil1i This pullrequest is waiting for your response. Please respond or the pullrequest will be closed.
@mil1i You have not responded to information requests in this pullrequest so we will assume it no longer affects you. If you are still interested in this, please create a new pullrequest with the requested information.