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" 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