Skip to content

Prune stack traces up to test or lifecycle method #494

Prune stack traces up to test or lifecycle method

Prune stack traces up to test or lifecycle method #494

name: Copy labels from linked issues to PR
on:
pull_request_target:
types: [opened, reopened, edited, synchronize]
permissions: {}
jobs:
copy_labels:
name: Copy labels
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
with:
script: |
const query = `
query($owner: String!, $repo: String!, $pr: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $pr) {
closingIssuesReferences(first: 10) {
nodes {
labels(first: 100) {
nodes {
name
}
}
}
}
}
}
}
`;
const {repository} = await github.graphql(query, {
owner: context.repo.owner,
repo: context.repo.repo,
pr: context.issue.number
});
let labels = Array.from(new Set(repository.pullRequest.closingIssuesReferences.nodes
.flatMap((node) => node.labels.nodes.map((label) => label.name))))
.filter((label) => !label.startsWith("status:"));
if (labels.length > 0) {
console.log(`Adding labels to PR: ${labels}`);
await github.rest.issues.addLabels({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
labels: labels
});
}