@@ -60,6 +60,8 @@ function run() {
6060 return __awaiter(this, void 0, void 0, function* () {
6161 const token = core.getInput('repo-token', { required: true });
6262 const customKeywords = getInputAsArray('custom-keywords', { required: false });
63+ const labelsToCopy = getInputAsArray('labels-to-copy', { required: false });
64+ const labelsToExclude = getInputAsArray('labels-to-exclude', { required: false });
6365 const fromTitle = getBooleanInput('from-title', { required: false });
6466 const issueNumber = getIssueNumber(core.getInput('issue-number', { required: false }));
6567 if (issueNumber === undefined) {
@@ -87,7 +89,19 @@ function run() {
8789 })));
8890 const labels = issue_parser_1.uniq(connectedLabelsResponses.reduce((acc, response) => {
8991 const issueLabels = response.data.map((label) => label.name);
90- return [...acc, ...issueLabels];
92+ // Filter out unwanted labels and keep only the ones that are needed
93+ const filteredLabels = issueLabels.filter(label => {
94+ if (labelsToCopy.length > 0 && !labelsToCopy.includes(label)) {
95+ // Label not in labelsToCopy
96+ return false;
97+ }
98+ if (labelsToExclude.length > 0 && labelsToExclude.includes(label)) {
99+ // Label in labelsToExclude
100+ return false;
101+ }
102+ return true;
103+ });
104+ return [...acc, ...filteredLabels];
91105 }, []));
92106 labels.length > 0 && (yield client.issues.addLabels({
93107 owner: github.context.repo.owner,
0 commit comments