cicd: Add issue responsibility labels
This commit is contained in:
parent
7ddc112b2c
commit
b6429e9bc7
|
|
@ -0,0 +1,78 @@
|
||||||
|
---
|
||||||
|
name: Issue Responsibility
|
||||||
|
|
||||||
|
on:
|
||||||
|
issue_comment:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-responsibility-labels:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Update responsibility labels
|
||||||
|
uses: actions/github-script@v7
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const core = require("@actions/core");
|
||||||
|
const github = require("@actions/github");
|
||||||
|
|
||||||
|
const { context } = github;
|
||||||
|
|
||||||
|
const commentAuthor = context.payload.comment.user.login;
|
||||||
|
const issueNumber = context.payload.issue.number;
|
||||||
|
const owner = context.repo.owner;
|
||||||
|
const repo = context.repo.repo;
|
||||||
|
|
||||||
|
const skipAction = context.payload.comment.body.includes("/skip-responsibility");
|
||||||
|
|
||||||
|
if (skipAction) {
|
||||||
|
core.info("Skipping responsibility label update");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const developers = ["jamesread"]
|
||||||
|
const commenterIsDeveloper = developers.includes(commentAuthor);
|
||||||
|
const commentorIsUser = !commenterIsDeveloper;
|
||||||
|
|
||||||
|
const issueLabels = context.payload.issue.labels.map(label => label.name);
|
||||||
|
|
||||||
|
if (issueLabels.includes("waiting-on-developer") {
|
||||||
|
if (commenterIsDeveloper) {
|
||||||
|
await github.rest.issues.removeLabel({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number: issueNumber,
|
||||||
|
name: "waiting-on-developer",
|
||||||
|
});
|
||||||
|
|
||||||
|
await github.rest.issues.addLabels({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number: issueNumber,
|
||||||
|
labels: ["waiting-on-requestor"],
|
||||||
|
});
|
||||||
|
|
||||||
|
core.info(`Switched responsibility to user for issue #${issueNumber}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (issueLabels.includes("waiting-on-requestor") {
|
||||||
|
if (commenterIsUser) {
|
||||||
|
await github.rest.issues.removeLabel({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number: issueNumber,
|
||||||
|
name: "waiting-on-requestor",
|
||||||
|
});
|
||||||
|
|
||||||
|
await github.rest.issues.addLabels({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number: issueNumber,
|
||||||
|
labels: ["waiting-on-developer"],
|
||||||
|
});
|
||||||
|
|
||||||
|
core.info(`Switched responsibility to developer for issue #${issueNumber}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue