diff --git a/.changeset/lazy-toys-tease.md b/.changeset/lazy-toys-tease.md new file mode 100644 index 0000000000..c9c180c0f7 --- /dev/null +++ b/.changeset/lazy-toys-tease.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend-module-github': patch +--- + +Made "github:issues:label" action idempotent diff --git a/plugins/scaffolder-backend-module-github/src/actions/githubIssuesLabel.ts b/plugins/scaffolder-backend-module-github/src/actions/githubIssuesLabel.ts index 8bba9f244b..7dd116be79 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/githubIssuesLabel.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/githubIssuesLabel.ts @@ -101,11 +101,16 @@ export function createGithubIssuesLabelAction(options: { ); try { - await client.rest.issues.addLabels({ - owner, - repo, - issue_number: number, - labels, + await ctx.checkpoint({ + key: `github.issues.add.label.${owner}.${repo}.${number}`, + fn: async () => { + await client.rest.issues.addLabels({ + owner, + repo, + issue_number: number, + labels, + }); + }, }); } catch (e) { assertError(e);