Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
open-source
assignbot
Commits
f537b37177ab
Commit
f7344708
authored
Nov 13, 2020
by
Simon Chabot
Browse files
feat: use a proper logger instead of using print
parent
f982fcd9b39e
Pipeline
#20621
passed with stage
in 46 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
assignbot/__main__.py
View file @
f537b371
...
...
@@ -23,6 +23,7 @@ import os
from
argparse
import
ArgumentParser
from
random
import
choice
,
shuffle
from
datetime
import
datetime
,
timedelta
import
logging
import
yaml
import
pandas
as
pd
...
...
@@ -36,6 +37,7 @@ REVIEW_ACCESS_LEVEL = 30 # developper
CLIENT_PROJECT_TAG
=
"client-project"
STATE_FILENAME
=
"auto_assigned_reviewers.csv"
logging
.
basicConfig
(
level
=
os
.
getenv
(
"AB_LOG_THRESHOLD"
,
"INFO"
).
upper
())
class
ReviewAssigner
:
...
...
@@ -125,9 +127,10 @@ class ReviewAssigner:
query_data
=
{
"assignee_id"
:
user
.
id
},
)
except
GitlabHttpError
:
print
(
f
"ERROR: no permission to assign a reviewer to
{
merge_request
.
title
}
"
f
" (
{
merge_request
.
web_url
}
)"
logging
.
error
(
"ERROR: no permission to assign a reviewer to %s (%s)"
,
merge_request
.
title
,
merge_request
.
web_url
,
)
return
...
...
@@ -136,7 +139,11 @@ class ReviewAssigner:
datetime
.
now
(),
merge_request
.
web_url
,
)
print
(
f
"
{
user
.
name
}
has been assigned to
{
merge_request
.
title
}
"
)
logging
.
info
(
"%s has been assigned to %s"
,
user
.
name
,
merge_request
.
title
,
)
def
all_reviews_to_do
(
self
):
merge_requests
=
self
.
cnx
.
mergerequests
.
list
(
...
...
@@ -172,8 +179,9 @@ class ReviewAssigner:
if
CLIENT_PROJECT_TAG
in
project
.
tag_list
:
# it's a client project. Let's assume that someone will take
# care of this MR.
print
(
f
"INFO:
{
merge_request
.
web_url
}
would need review, but it's a client project"
logging
.
info
(
"%s would need review, but it's a client project"
,
merge_request
.
web_url
,
)
continue
yield
merge_request
...
...
@@ -183,7 +191,11 @@ class ReviewAssigner:
try
:
reviewer
=
self
.
a_possible_reviewer
(
mr
)
except
IndexError
:
print
(
f
"WARNING: no reviewer available for
{
mr
.
title
}
."
)
logging
.
warning
(
"no reviewer available for %s (%s)."
,
mr
.
title
,
mr
.
web_url
,
)
continue
self
.
assign_reviewer
(
mr
,
reviewer
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment