Compare commits
15 Commits
mononaut/u
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
20a4b2c48f | ||
|
|
c140d3ad3f | ||
|
|
ea3f377e83 | ||
|
|
68d2eddc97 | ||
|
|
c00f086d45 | ||
|
|
fdb860d885 | ||
|
|
6abbdc8b98 | ||
|
|
9354c59203 | ||
|
|
6f0dc29c3a | ||
|
|
e9e29816de | ||
|
|
9075c8be88 | ||
|
|
dfea2032cd | ||
|
|
c04d421cf5 | ||
|
|
03eab2b2dd | ||
|
|
3ec7756dd9 |
84
.github/workflows/project-review-status.yml
vendored
Normal file
84
.github/workflows/project-review-status.yml
vendored
Normal file
@ -0,0 +1,84 @@
|
||||
# Workflow: Automatically set project status to "Review Needed" when a reviewer is requested
|
||||
name: Set Project Status on Review Request
|
||||
|
||||
# Trigger: Runs whenever a reviewer is requested on a pull request
|
||||
on:
|
||||
pull_request:
|
||||
types: [review_requested]
|
||||
|
||||
jobs:
|
||||
update-project-status:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Update Project Status to Review Needed
|
||||
uses: actions/github-script@v7
|
||||
with:
|
||||
# Use the PAT stored in repository secrets (has project write access)
|
||||
github-token: ${{ secrets.PROJECT_TOKEN }}
|
||||
script: |
|
||||
// GraphQL query to find the PR's project items
|
||||
// This fetches all projects the PR is linked to
|
||||
const query = `
|
||||
query($owner: String!, $repo: String!, $pr: Int!) {
|
||||
repository(owner: $owner, name: $repo) {
|
||||
pullRequest(number: $pr) {
|
||||
projectItems(first: 10) {
|
||||
nodes {
|
||||
id
|
||||
project {
|
||||
number
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
// Execute the query with current repo/PR context
|
||||
const result = await github.graphql(query, {
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pr: context.payload.pull_request.number
|
||||
});
|
||||
|
||||
// Find the project item that belongs to project #8
|
||||
const projectItems = result.repository.pullRequest.projectItems.nodes;
|
||||
const projectItem = projectItems.find(item => item.project.number === 8);
|
||||
|
||||
// Exit early if PR isn't in project #8
|
||||
if (!projectItem) {
|
||||
console.log('PR is not in project #8, skipping...');
|
||||
return;
|
||||
}
|
||||
|
||||
// GraphQL mutation to update the Status field
|
||||
const mutation = `
|
||||
mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $optionId: String!) {
|
||||
updateProjectV2ItemFieldValue(
|
||||
input: {
|
||||
projectId: $projectId
|
||||
itemId: $itemId
|
||||
fieldId: $fieldId
|
||||
value: { singleSelectOptionId: $optionId }
|
||||
}
|
||||
) {
|
||||
projectV2Item {
|
||||
id
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
// Execute the mutation using IDs stored in repository variables
|
||||
// PROJECT_ID: The project's unique identifier
|
||||
// STATUS_FIELD_ID: The "Status" field's unique identifier
|
||||
// REVIEW_NEEDED_OPTION_ID: The "Review Needed" option's unique identifier
|
||||
await github.graphql(mutation, {
|
||||
projectId: "${{ secrets.PROJECT_ID }}",
|
||||
itemId: projectItem.id,
|
||||
fieldId: "${{ secrets.STATUS_FIELD_ID }}",
|
||||
optionId: "${{ secrets.REVIEW_NEEDED_OPTION_ID }}"
|
||||
});
|
||||
|
||||
console.log('Successfully updated project status to Review Needed');
|
||||
@ -572,7 +572,8 @@
|
||||
"addresses": [],
|
||||
"tags": [
|
||||
"/NiceHashSolo",
|
||||
"/NiceHash/"
|
||||
"/NiceHash/",
|
||||
"/NiceHashMining/"
|
||||
],
|
||||
"link": "https://www.nicehash.com"
|
||||
},
|
||||
@ -1573,6 +1574,7 @@
|
||||
"id": 144,
|
||||
"name": "wiz",
|
||||
"addresses": [
|
||||
"1wizSAYSbuyXbt9d8JV8ytm5acqq2TorC",
|
||||
"tb1q548z58kqvwyjqwy8vc2ntmg33d7s2wyfv7ukq4"
|
||||
],
|
||||
"tags": [
|
||||
@ -1619,6 +1621,7 @@
|
||||
"addresses": [],
|
||||
"tags": [
|
||||
"Apollo",
|
||||
"FutureBit",
|
||||
"/mined by a Solo FutureBit Apollo/"
|
||||
],
|
||||
"link": "https://www.futurebit.io"
|
||||
@ -1714,11 +1717,11 @@
|
||||
},
|
||||
{
|
||||
"id": 158,
|
||||
"name": "luckyPool",
|
||||
"name": "GDPool",
|
||||
"addresses": [
|
||||
"1DnPPFQPrfyNTiHPXhDFyqNnW9T62GEhB1"
|
||||
],
|
||||
"tags": ["Lucky pool"],
|
||||
"tags": ["Lucky pool", "GDPool"],
|
||||
"link": ""
|
||||
},
|
||||
{
|
||||
@ -1802,5 +1805,28 @@
|
||||
],
|
||||
"tags": ["/Est3lar/", "est3lar", "Est3lar", "EST3LAR"],
|
||||
"link": "https://est3lar.io"
|
||||
},
|
||||
{
|
||||
"id": 168,
|
||||
"name": "Braiins Solo",
|
||||
"addresses": [],
|
||||
"tags": ["/braiinssolo/"],
|
||||
"link": "https://solo.braiins.com"
|
||||
},
|
||||
{
|
||||
"id": 169,
|
||||
"name": "SoloPool.com",
|
||||
"addresses": [
|
||||
"bc1qreaftg3lr53nv84dnxhcvchmswevzlp9tdj2jd"
|
||||
],
|
||||
"tags": ["/Mined @ SoloPool.Com/"],
|
||||
"link": "https://solopool.com"
|
||||
},
|
||||
{
|
||||
"id": 170,
|
||||
"name": "Noderunners",
|
||||
"addresses": [],
|
||||
"tags": ["/Noderunners/"],
|
||||
"link": "https://pool.noderunners.network"
|
||||
}
|
||||
]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user