From c192f48cb1f4f158c4b5419e0d998f1d399dd995 Mon Sep 17 00:00:00 2001 From: QuangAnhLe Date: Thu, 13 Aug 2026 09:47:49 +0200 Subject: [PATCH 1/8] add GitHub Actions workflow to auto-assign PR author as assignee --- .github/workflows/assign-pr-author.yml | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/assign-pr-author.yml diff --git a/.github/workflows/assign-pr-author.yml b/.github/workflows/assign-pr-author.yml new file mode 100644 index 000000000..25621d1a3 --- /dev/null +++ b/.github/workflows/assign-pr-author.yml @@ -0,0 +1,30 @@ +name: Assign PR Author + +# Automatically assigns the PR creator as assignee when a new Pull Request is +# opened without an assignee. Existing assignees are preserved. + +on: + pull_request: + types: [opened] + +permissions: + pull-requests: write + +jobs: + assign-author: + runs-on: ubuntu-latest + steps: + - name: Assign PR author as assignee + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + ASSIGNEES=$(gh pr view "$PR_NUMBER" --json assignees --jq '.assignees | length') + if [ "$ASSIGNEES" -eq 0 ]; then + echo "No assignees found - assigning @${PR_AUTHOR} to PR #${PR_NUMBER}" + gh pr edit "$PR_NUMBER" --add-assignee "$PR_AUTHOR" + else + echo "PR #${PR_NUMBER} already has assignees - skipping." + fi + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + PR_AUTHOR: ${{ github.event.pull_request.user.login }} From bf4c27bbec270fcd7371cb8ffc254a62243ed042 Mon Sep 17 00:00:00 2001 From: QuangAnhLe Date: Thu, 13 Aug 2026 10:15:50 +0200 Subject: [PATCH 2/8] fix assign-pr-author --- .github/workflows/assign-pr-author.yml | 43 ++++++++++++++------------ 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/.github/workflows/assign-pr-author.yml b/.github/workflows/assign-pr-author.yml index 25621d1a3..1a0106717 100644 --- a/.github/workflows/assign-pr-author.yml +++ b/.github/workflows/assign-pr-author.yml @@ -1,11 +1,9 @@ -name: Assign PR Author - -# Automatically assigns the PR creator as assignee when a new Pull Request is -# opened without an assignee. Existing assignees are preserved. +name: Auto Assign PR Author on: pull_request: - types: [opened] + types: + - opened permissions: pull-requests: write @@ -13,18 +11,25 @@ permissions: jobs: assign-author: runs-on: ubuntu-latest + steps: - - name: Assign PR author as assignee - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - ASSIGNEES=$(gh pr view "$PR_NUMBER" --json assignees --jq '.assignees | length') - if [ "$ASSIGNEES" -eq 0 ]; then - echo "No assignees found - assigning @${PR_AUTHOR} to PR #${PR_NUMBER}" - gh pr edit "$PR_NUMBER" --add-assignee "$PR_AUTHOR" - else - echo "PR #${PR_NUMBER} already has assignees - skipping." - fi - env: - PR_NUMBER: ${{ github.event.pull_request.number }} - PR_AUTHOR: ${{ github.event.pull_request.user.login }} + - name: Assign PR author if no assignee exists + uses: actions/github-script@v7 + with: + script: | + const pr = context.payload.pull_request; + + // Do not overwrite existing assignees + if (pr.assignees && pr.assignees.length > 0) { + console.log('PR already has assignees. Skipping.'); + return; + } + + await github.rest.issues.addAssignees({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: pr.number, + assignees: [pr.user.login] + }); + + console.log(`Assigned ${pr.user.login} to PR #${pr.number}`); \ No newline at end of file From 9b32e14e5a965ed05abe79a4c9d79309953e775e Mon Sep 17 00:00:00 2001 From: QuangAnhLe Date: Thu, 13 Aug 2026 13:42:28 +0200 Subject: [PATCH 3/8] test assign-pr on workflow --- .../com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/src/main/java/com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java b/security/src/main/java/com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java index 19e130574..4740afabd 100644 --- a/security/src/main/java/com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java +++ b/security/src/main/java/com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java @@ -34,7 +34,7 @@ /** * Scans the IDEasy URL repository for tools, editions, and versions, and checks for known vulnerabilities using the OWASP Dependency-Check engine. *

For each tool and edition, vulnerabilities are collected and written to the corresponding {@link UrlSecurityFile}. Only vulnerabilities above a - * configurable severity threshold are included

+ * configurable severity threshold are included.

*

Note: Running this class may take a long time due to OWASP database updates.

*

For usage, see the {@link #main(String[]) main method}

*/ From 17d816d1af7a5c38a232b9a89c90d4bcb4b1f7c2 Mon Sep 17 00:00:00 2001 From: QuangAnhLe Date: Thu, 13 Aug 2026 13:46:37 +0200 Subject: [PATCH 4/8] test assign-pr on workflow --- .../com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/src/main/java/com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java b/security/src/main/java/com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java index 4740afabd..19e130574 100644 --- a/security/src/main/java/com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java +++ b/security/src/main/java/com/devonfw/tools/IDEasy/dev/BuildSecurityJsonFiles.java @@ -34,7 +34,7 @@ /** * Scans the IDEasy URL repository for tools, editions, and versions, and checks for known vulnerabilities using the OWASP Dependency-Check engine. *

For each tool and edition, vulnerabilities are collected and written to the corresponding {@link UrlSecurityFile}. Only vulnerabilities above a - * configurable severity threshold are included.

+ * configurable severity threshold are included

*

Note: Running this class may take a long time due to OWASP database updates.

*

For usage, see the {@link #main(String[]) main method}

*/ From bd05d5234c5fd945da19f3f36410692c7492b061 Mon Sep 17 00:00:00 2001 From: QuangAnhLe Date: Thu, 13 Aug 2026 14:14:50 +0200 Subject: [PATCH 5/8] fix if Pr already has assignee --- .github/workflows/assign-pr-author.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/assign-pr-author.yml b/.github/workflows/assign-pr-author.yml index 1a0106717..e6b4ef493 100644 --- a/.github/workflows/assign-pr-author.yml +++ b/.github/workflows/assign-pr-author.yml @@ -21,7 +21,7 @@ jobs: // Do not overwrite existing assignees if (pr.assignees && pr.assignees.length > 0) { - console.log('PR already has assignees. Skipping.'); + console.log(`PR #${pr.number} already has ${pr.assignees.length} assignee(s). Skipping.`); return; } From 38a9fdc9225fd42fdad98c3b96f69cd747ccbb60 Mon Sep 17 00:00:00 2001 From: QuangAnhLe Date: Thu, 13 Aug 2026 14:26:43 +0200 Subject: [PATCH 6/8] test with workflow --- .github/workflows/assign-pr-author.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/assign-pr-author.yml b/.github/workflows/assign-pr-author.yml index e6b4ef493..1a0106717 100644 --- a/.github/workflows/assign-pr-author.yml +++ b/.github/workflows/assign-pr-author.yml @@ -21,7 +21,7 @@ jobs: // Do not overwrite existing assignees if (pr.assignees && pr.assignees.length > 0) { - console.log(`PR #${pr.number} already has ${pr.assignees.length} assignee(s). Skipping.`); + console.log('PR already has assignees. Skipping.'); return; } From 7f46ae9c300ade76d5a9b1d04e298981741e2c93 Mon Sep 17 00:00:00 2001 From: QuangAnhLe Date: Thu, 13 Aug 2026 14:48:28 +0200 Subject: [PATCH 7/8] add changelog --- CHANGELOG.adoc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 453f02b93..ca91a8991 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -2,6 +2,14 @@ This file documents all notable changes to https://github.com/devonfw/IDEasy[IDEasy]. += 2026.08.002 + +Release with new features and bugfixes: + +* https://github.com/devonfw/IDEasy/issues/2298[#2328]: Automatically assign pull request author as assignee + +The full list of changes for this release can be found in https://github.com/devonfw/IDEasy/milestone/49?closed=1[milestone 2026.08.002]. + == 2026.08.001 Release with new features and bugfixes: From d7071fcaecbe6cf93e7bb7eb0e43cc42694f2c07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Hohwiller?= Date: Mon, 17 Aug 2026 14:58:58 +0200 Subject: [PATCH 8/8] Update CHANGELOG.adoc --- CHANGELOG.adoc | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc index 4cd4fc9b0..8866a010d 100644 --- a/CHANGELOG.adoc +++ b/CHANGELOG.adoc @@ -6,7 +6,6 @@ This file documents all notable changes to https://github.com/devonfw/IDEasy[IDE Release with new features and bugfixes: -* https://github.com/devonfw/IDEasy/issues/2298[#2328]: Automatically assign pull request author as assignee The full list of changes for this release can be found in https://github.com/devonfw/IDEasy/milestone/49?closed=1[milestone 2026.08.002].