Auto Assign Issues and PRs #31
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Auto Assign Issues and PRs | |
on: | |
pull_request: | |
types: [opened, reopened] # Trigger on opened and reopened PRs | |
issues: | |
types: [opened] # Trigger on issue opened events | |
permissions: | |
issues: write | |
pull-requests: write | |
jobs: | |
auto-assign: | |
runs-on: ubuntu-latest | |
steps: | |
# Step to add logging for debugging | |
- name: Log context for debugging | |
uses: actions/github-script@v6 | |
with: | |
script: | | |
console.log(JSON.stringify(context.payload, null, 2)); // Log the entire payload for debugging | |
- name: Assign the issue or PR | |
uses: actions/github-script@v6 | |
with: | |
script: | | |
const assignee = context.payload.sender.login; // Get the username of the contributor | |
console.log("Assigning to: ", assignee); // Log the assignee for debugging | |
if (context.eventName === 'pull_request') { | |
// Check if the contributor has permissions to update the pull request | |
const pullRequestNumber = context.payload.pull_request.number; | |
// Assign the pull request to the contributor | |
await github.rest.issues.addAssignees({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: pullRequestNumber, // PRs are also issues, hence issue_number is used | |
assignees: [assignee] | |
}); | |
} else if (context.eventName === 'issues') { | |
// Assign the issue to the contributor | |
const issueNumber = context.payload.issue.number; | |
await github.rest.issues.addAssignees({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: issueNumber, | |
assignees: [assignee] | |
}); | |
} | |
# name: Auto Assign Issues and PRs | |
# on: | |
# pull_request: | |
# types: [opened, reopened] | |
# issues: | |
# types: [opened] | |
# permissions: | |
# issues: write | |
# pull-requests: write | |
# jobs: | |
# auto-assign: | |
# runs-on: ubuntu-latest | |
# steps: | |
# # Step to add logginggg | |
# - name: Log context for debugging | |
# uses: actions/github-script@v6 | |
# with: | |
# script: | | |
# console.log(JSON.stringify(context.payload, null, 2)); // Log the entire payload for debugging | |
# - name: Assign the issue or PR | |
# uses: actions/github-script@v6 | |
# with: | |
# script: | | |
# const assignee = context.payload.sender.login; // Get the username of the contributor | |
# console.log("Assigning to: ", assignee); // Log the assignee for debugging | |
# if (context.eventName === 'pull_request') { | |
# await github.rest.pulls.update({ | |
# owner: context.repo.owner, | |
# repo: context.repo.repo, | |
# pull_number: context.payload.pull_request.number, | |
# assignees: [assignee] // Assign the pull request to the contributor | |
# }); | |
# } else if (context.eventName === 'issues') { | |
# await github.rest.issues.addAssignees({ | |
# owner: context.repo.owner, | |
# repo: context.repo.repo, | |
# issue_number: context.payload.issue.number, | |
# assignees: [assignee] // Assign the issue to the contributor | |
# }); | |
# } |