Solution to leet code potd 23rd and 24th october 2024 #44
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_target: | |
types: [opened, reopened] # Use pull_request_target for higher permissions | |
pull_request: | |
types: [opened, reopened] # Trigger on opened and reopened PRs | |
issues: | |
types: [opened] # Trigger on issue open 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("Event Payload:"); | |
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("Attempting to assign to:", assignee); // Log the assignee for debugging | |
try { | |
if (context.eventName === 'pull_request_target' || context.eventName === 'pull_request') { | |
// Assign the pull request to the contributor | |
const pullRequestNumber = context.payload.pull_request.number; | |
await github.rest.issues.addAssignees({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
issue_number: pullRequestNumber, | |
assignees: [assignee] | |
}); | |
console.log(`PR #${pullRequestNumber} successfully assigned to ${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] | |
}); | |
console.log(`Issue #${issueNumber} successfully assigned to ${assignee}`); | |
} | |
} catch (error) { | |
console.error("Error during assignment:", error); | |
} | |
# name: Auto Assign Issues and PRs | |
# on: | |
# pull_request: | |
# types: [opened, reopened] # Trigger on opened and reopened PRs | |
# issues: | |
# types: [opened] # Trigger on issue open 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("Event Payload:"); | |
# 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("Attempting to assign to:", assignee); // Log the assignee for debugging | |
# try { | |
# 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] | |
# }); | |
# console.log(`PR #${pullRequestNumber} successfully assigned to ${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] | |
# }); | |
# console.log(`Issue #${issueNumber} successfully assigned to ${assignee}`); | |
# } | |
# } catch (error) { | |
# console.error("Error during assignment:", error); | |
# } | |
# # 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 | |
# # }); | |
# # } |