Skip to content

Commit a1355e4

Browse files
Merge pull request #4645 from communitybridge/unicron-4640-fix-parsing-pr-number-from-merge-queue-message
Fix #4640 issue
2 parents 456d675 + 1235b62 commit a1355e4

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

cla-backend/cla/utils.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1933,15 +1933,21 @@ def get_co_authors_from_commit(commit):
19331933
def extract_pull_request_number(pull_request_message):
19341934
"""
19351935
Helper function to return pull request number from pull request message
1936+
Extracts the pull request number from the first line of a message.
1937+
It picks the last #number in the first line (GitHub appends it automatically).
19361938
:param pull_request_message: message in merge_group payload
19371939
:return:
19381940
"""
19391941
fn = "extract_pull_request_number"
19401942
pull_request_number = None
19411943
try:
1942-
pull_request_number = int(re.search(r"#(\d+)", pull_request_message).group(1))
1943-
except AttributeError as e:
1944-
cla.log.warning(f"{fn} - unable to extract pull request number from message: {pull_request_message}, error: {e}")
1944+
first_line = pull_request_message.splitlines()[0]
1945+
matches = re.findall(r"#(\d+)", first_line)
1946+
if matches:
1947+
pull_request_number = int(matches[-1]) # last match
1948+
else:
1949+
cla.log.warning(f"{fn} - error - unable to extract pull request number from message: {pull_request_message}")
19451950
except Exception as e:
1946-
cla.log.warning(f"{fn} - unable to extract pull request number from message: {pull_request_message}, error: {e}")
1951+
cla.log.warning(f"{fn} - error - unable to extract pull request number from message: {pull_request_message}, error: {e}")
1952+
cla.log.debug(f"{fn} - extracted PR number {pull_request_number} from merge_queue data")
19471953
return pull_request_number

0 commit comments

Comments
 (0)