Error - Label exists (only first page of results checked)
## Summary
when attempting to process labels (`-l` switch) an uncaught exception occurs. when a scoped label exists i.e. `scoped::label` the exception is thrown stating the label already exists.
>Update: wasn't caused by scoped labels, a non-scoped label still caused the same issue.
## Steps to reproduce
1. add a scoped label to `config.yml` that doesn't exist in the specified group.
1. run `gitlab-management` with switch -l`
1. after first run no issues, the label is created.
1. run `gitlab-management` a second time and the exception occurs
### What is the current *bug* behavior?
it prevents the application from continuing to run.
### What is the expected *correct* behavior?
A check is done to confirm the label exists before attempting to create it.
## Relevant logs and/or screenshots
<!-- Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's tough to read otherwise.) -->
``` bash
starting
Notice: config loaded
Notice: Processing Config: labels
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/gitlab/exceptions.py", line 275, in wrapped_f
return f(*args, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/gitlab/mixins.py", line 214, in create
server_data = self.gitlab.http_post(path, post_data=data, files=files, **kwargs)
File "/usr/local/lib/python3.6/dist-packages/gitlab/__init__.py", line 684, in http_post
**kwargs
File "/usr/local/lib/python3.6/dist-packages/gitlab/__init__.py", line 574, in http_request
response_body=result.content,
gitlab.exceptions.GitlabHttpError: 409: Label already exists
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "[Redacted User Home Dir]/tmp/gitlab-bot/gitlab_management/base.py", line 228, in CreateGroupLabel
Group.labels.create(NewLabelString)
File "/usr/local/lib/python3.6/dist-packages/gitlab/exceptions.py", line 277, in wrapped_f
raise error(e.error_message, e.response_code, e.response_body) from e
gitlab.exceptions.GitlabCreateError: 409: Label already exists
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "[Redacted User Home Dir]/tmp/gitlab-bot/gitlab_management/base.py", line 392, in ProcessConfigLabels
self.CreateGroupLabel(self.GetGroupByName(Label['Group']), Label['Name'], Label['Description'], Label['Color'])
File "[Redacted User Home Dir]/tmp/gitlab-bot/gitlab_management/base.py", line 240, in CreateGroupLabel
self.Output(self.OutputSeverity.Critical, logging.error(traceback.format_exc()))
NameError: name 'logging' is not defined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "[Redacted User Home Dir]/tmp/gitlab-bot/gitlab_management/cli.py", line 89, in main
GitlabManagementObject.ProcessConfigLabels(GitlabManagementObject.Config['Group']['Labels'])
File "[Redacted User Home Dir]/tmp/gitlab-bot/gitlab_management/base.py", line 401, in ProcessConfigLabels
self.Output(self.OutputSeverity.Critical, logging.error(traceback.format_exc()))
NameError: name 'logging' is not defined
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "[Redacted User Home Dir]/tmp/gitlab-bot/gitlab_management/__main__.py", line 6, in <module>
main()
File "[Redacted User Home Dir]/tmp/gitlab-bot/gitlab_management/cli.py", line 103, in main
print(logging.error(traceback.format_exc()))
NameError: name 'logging' is not defined
```
## Possible fixes
* [x] ~Feature Check that the label does not exists before attempting to create
* [ ] ~Feature confirm if special chars need url encoding when a check is done for the labels existance
## Details
* **Module Version:** *0.1.2.rc2006061112*
* **Python Version:** *3.6*
* **Environment:** *development*
issue