Merge pull request #29224 from acierto/gitlabprojectAccessTokencreate

Made "gitlab:projectAccessToken:create" action idempotent
This commit is contained in:
Ben Lambert
2025-03-17 08:37:40 +01:00
committed by GitHub
2 changed files with 21 additions and 10 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-scaffolder-backend-module-gitlab': patch
---
Made "gitlab:projectAccessToken:create" action idempotent
@@ -104,21 +104,27 @@ export const createGitlabProjectAccessTokenAction = (options: {
});
}
const response = await api.ProjectAccessTokens.create(
projectId,
name,
scopes as AccessTokenScopes[],
expiresAt || DateTime.now().plus({ days: 365 }).toISODate()!,
{
accessLevel,
const projectAccessToken = await ctx.checkpoint({
key: `project.access.token.${projectId}.${name}`,
fn: async () => {
const response = await api.ProjectAccessTokens.create(
projectId,
name,
scopes as AccessTokenScopes[],
expiresAt || DateTime.now().plus({ days: 365 }).toISODate()!,
{
accessLevel,
},
);
return response.token;
},
);
});
if (!response.token) {
if (!projectAccessToken) {
throw new Error('Could not create project access token');
}
ctx.output('access_token', response.token);
ctx.output('access_token', projectAccessToken);
},
});
};