From e3051a84d8e346a61dc10ead613998efa55bd59d Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Wed, 18 Mar 2026 13:59:38 +0300 Subject: [PATCH 1/2] add new property to PullRequest ("merged" for forgejo compability) --- src/ForgejoRepoAPI.py | 2 ++ src/GitHubRepoAPI.py | 1 + src/graphql/pull_request_parser.py | 1 + src/interface_wrapper.py | 1 + src/pull_requests_parser.py | 1 + src/repo_dataclasses.py | 1 + 6 files changed, 7 insertions(+) diff --git a/src/ForgejoRepoAPI.py b/src/ForgejoRepoAPI.py index e5f87c0..5a6d5c8 100644 --- a/src/ForgejoRepoAPI.py +++ b/src/ForgejoRepoAPI.py @@ -133,6 +133,8 @@ def get_pull_requests(self, repo: Repository) -> list[PullRequest]: head_ref=p.head.ref, base_ref=p.base.ref, merged_by=self.get_user_data(p.merged_by) if p.merged_by else None, + # TODO: merged_by always empty (but merged and merged_at are usable) + merged=p.merged, files=[], # TODO если возможно issue_url=None, # TODO если возможно labels=[label.name for label in p.labels] if p.labels else [], diff --git a/src/GitHubRepoAPI.py b/src/GitHubRepoAPI.py index d21883b..ca87a16 100644 --- a/src/GitHubRepoAPI.py +++ b/src/GitHubRepoAPI.py @@ -116,6 +116,7 @@ def get_pull_requests(self, repo: Repository) -> list[PullRequest]: head_ref=p.head.ref, base_ref=p.base.ref, merged_by=self.get_user_data(p.merged_by) if p.merged_by else None, + merged=bool(p.merged_by), files=[file.filename for file in p.get_files()], issue_url=p.issue_url, labels=[label.name for label in p.labels], diff --git a/src/graphql/pull_request_parser.py b/src/graphql/pull_request_parser.py index 7eeb9c1..c833b82 100644 --- a/src/graphql/pull_request_parser.py +++ b/src/graphql/pull_request_parser.py @@ -175,6 +175,7 @@ def log_repositories_pr_by_graphql(owner, repo_name, token, csv_name, first_n=10 if pr["mergedBy"] and "email" in pr["mergedBy"] else None ), + merged=pr["mergedBy"] and "name" in pr["mergedBy"], # TODO: refactor? source_branch=pr["headRef"]["name"] if pr["headRef"] else None, target_branch=pr["baseRef"]["name"] if pr["baseRef"] else None, assignee_story=None, diff --git a/src/interface_wrapper.py b/src/interface_wrapper.py index 96a0180..dc6e62b 100644 --- a/src/interface_wrapper.py +++ b/src/interface_wrapper.py @@ -85,6 +85,7 @@ class PullRequest: head_ref: str base_ref: str merged_by: User + merged: bool files: list[str] issue_url: str labels: list[str] diff --git a/src/pull_requests_parser.py b/src/pull_requests_parser.py index 0730d45..3e54062 100644 --- a/src/pull_requests_parser.py +++ b/src/pull_requests_parser.py @@ -119,6 +119,7 @@ def get_info(obj, attr): merger_name=pull.merged_by.username if pull.merged_by else None, merger_login=pull.merged_by.login if pull.merged_by else None, merger_email=pull.merged_by.email if pull.merged_by else None, + merged=pull.merged, source_branch=pull.head_ref, target_branch=pull.base_ref, assignee_story=get_assignee_story(pull, client, token, repository), diff --git a/src/repo_dataclasses.py b/src/repo_dataclasses.py index a536c0f..bf1ade7 100644 --- a/src/repo_dataclasses.py +++ b/src/repo_dataclasses.py @@ -28,3 +28,4 @@ class PullRequestData: related_issues: str = '' labels: str = '' milestone: str = '' + merged: bool = False From 245abb024c00568e7f926743bc28c47dc99a4db9 Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Wed, 18 Mar 2026 14:04:04 +0300 Subject: [PATCH 2/2] add new PR col to smoke-tests --- .github/workflows/smoke-tests-forgejo.yml | 2 +- .github/workflows/smoke-tests.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/smoke-tests-forgejo.yml b/.github/workflows/smoke-tests-forgejo.yml index 9728569..0a80f88 100644 --- a/.github/workflows/smoke-tests-forgejo.yml +++ b/.github/workflows/smoke-tests-forgejo.yml @@ -63,7 +63,7 @@ jobs: HEADER="repository name,author name,author login,author email,date and time,changed files,commit id,branch" ;; --pull_requests) - HEADER="repository name,title,id,state,commit into,commit from,created at,creator name,creator login,creator email,changed files,comment body,comment created at,comment author name,comment author login,comment author email,merger name,merger login,merger email,source branch,target branch,assignee story,related issues,labels,milestone" + HEADER="repository name,title,id,state,commit into,commit from,created at,creator name,creator login,creator email,changed files,comment body,comment created at,comment author name,comment author login,comment author email,merger name,merger login,merger email,source branch,target branch,assignee story,related issues,labels,milestone,merged" ;; --issues) HEADER="repository name,number,title,state,task,created at,creator name,creator login,creator email,closer name,closer login,closer email,closed at,comment body,comment created at,comment author name,comment author login,comment author email,assignee story,connected pull requests,labels,milestone" diff --git a/.github/workflows/smoke-tests.yml b/.github/workflows/smoke-tests.yml index b202f07..59ca41b 100644 --- a/.github/workflows/smoke-tests.yml +++ b/.github/workflows/smoke-tests.yml @@ -63,7 +63,7 @@ jobs: HEADER="repository name,author name,author login,author email,date and time,changed files,commit id,branch" ;; --pull_requests) - HEADER="repository name,title,id,state,commit into,commit from,created at,creator name,creator login,creator email,changed files,comment body,comment created at,comment author name,comment author login,comment author email,merger name,merger login,merger email,source branch,target branch,assignee story,related issues,labels,milestone" + HEADER="repository name,title,id,state,commit into,commit from,created at,creator name,creator login,creator email,changed files,comment body,comment created at,comment author name,comment author login,comment author email,merger name,merger login,merger email,source branch,target branch,assignee story,related issues,labels,milestone,merged" ;; --issues) HEADER="repository name,number,title,state,task,created at,creator name,creator login,creator email,closer name,closer login,closer email,closed at,comment body,comment created at,comment author name,comment author login,comment author email,assignee story,connected pull requests,labels,milestone"