From 77e16f7f08c16c8c9980f197ac52c1a28ed30f9c Mon Sep 17 00:00:00 2001 From: xrkffgg Date: Fri, 1 Nov 2024 17:57:55 +0800 Subject: [PATCH] chore: update issue support create label (#198) --- src/helper/base.ts | 4 ++-- src/issue/issue.ts | 16 ++++++++++++---- src/issue/types.ts | 2 +- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/helper/base.ts b/src/helper/base.ts index 7bb8e15..7a6d325 100644 --- a/src/helper/base.ts +++ b/src/helper/base.ts @@ -74,8 +74,8 @@ export async function doCreateIssue( export async function doCreateLabel() { const name = core.getInput('label-name'); - const color = core.getInput('label-color') || 'ededed'; - const description = core.getInput('label-desc') || ''; + const color = core.getInput('label-color'); + const description = core.getInput('label-desc'); if (name) { await ICE.createLabel(name, color, description); diff --git a/src/issue/issue.ts b/src/issue/issue.ts index 8630285..817e563 100644 --- a/src/issue/issue.ts +++ b/src/issue/issue.ts @@ -130,8 +130,8 @@ export class IssueCoreEngine implements IIssueCoreEngine { public async createLabel( labelName: string, - labelColor: string, - labelDescription: string | undefined, + labelColor: string = 'ededed', + labelDescription: string = '', ) { const { owner, repo, octokit } = this; await octokit.issues.createLabel({ @@ -318,11 +318,19 @@ export class IssueCoreEngine implements IIssueCoreEngine { state: baseState, } = issue; - const baseLabelsName = baseLabels.map(({ name }: any) => name); - const baseAssignessName = baseAssigness?.map(({ login }: any) => login); + const baseLabelsName = baseLabels.map(({ name }) => name); + const baseAssignessName = baseAssigness?.map(({ login }) => login); const newBody = body ? (mode === 'append' ? `${baseBody}\n${body}` : body) : baseBody; + if (labels && labels.length) { + for (const label of labels) { + if (baseLabelsName && baseLabelsName.length && baseLabelsName.indexOf(label) < 0) { + await this.createLabel(label); + } + } + } + await octokit.issues.update({ owner, repo, diff --git a/src/issue/types.ts b/src/issue/types.ts index 5368130..f609d06 100644 --- a/src/issue/types.ts +++ b/src/issue/types.ts @@ -83,7 +83,7 @@ export interface IIssueCoreEngine { createIssueEmoji: (emoji: TEmoji[]) => Promise; createLabel: ( labelName: string, - labelColor: string, + labelColor: string | undefined, labelDescription: string | undefined, ) => Promise;