PromucFlow_constructor/.github/workflows/close-labeler.yml
2023-04-05 07:14:08 +05:30

65 lines
1.9 KiB
YAML

name: Close Labeler
on:
pull_request:
types:
- closed
branches:
- release
jobs:
apply:
if: github.event.pull_request.merged == true
runs-on: ubuntu-latest
steps:
- uses: actions/github-script@v6
with:
script: |
console.log("PR Details", context.issue)
const result = await github.graphql(
`
query($owner: String!, $name: String!, $prNum: Int!) {
repository(owner: $owner, name: $name) {
pullRequest(number: $prNum) {
closingIssuesReferences(first: 10) {
nodes {
number
labels(first: 50) {
edges {
node {
name
}
}
}
}
}
}
}
}
`,
{
owner: context.issue.owner,
name: context.issue.repo,
prNum: context.issue.number,
},
)
console.log("GraphQL result", JSON.stringify(result, null, 2));
for (const node of result.repository.pullRequest.closingIssuesReferences.nodes) {
const issueNum = node.number;
const shouldQA = node.labels.edges.find(edge => edge.node.name === "Enhancement" || edge.node.name === "Bug") != null
if (!shouldQA) {
break
}
console.log("Adding QA to", issueNum)
github.rest.issues.addLabels({
issue_number: issueNum,
owner: context.repo.owner,
repo: context.repo.repo,
labels: ["QA"],
})
}
console.log("Fin")