Skip to content

Commit 2d0de20

Browse files
authored
Merge pull request #87 from backstage/changeset-patch-b
[Changeset]: Make user login a parameter instead of hard coded
2 parents bb48d50 + 812b27c commit 2d0de20

File tree

4 files changed

+14
-6
lines changed

4 files changed

+14
-6
lines changed

changeset-feedback/action.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ inputs:
1212
issue-number:
1313
description: issue number of the PR
1414
required: true
15+
botUsername:
16+
description: username of the bot used to post comments on behalf of the action. Will be used when locating existing changeset feedback comments to update.
17+
default: github-actions[bot]
18+
required: false
1519
app-id:
1620
description: The Application ID of the GitHub App to use for authentication
1721
required: true

changeset-feedback/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ async function main() {
1717
const marker = core.getInput('marker', { required: true });
1818
const diffRef = core.getInput('diffRef', { required: true });
1919
const issueNumberStr = core.getInput('issue-number', { required: true });
20+
const botUsername = core.getInput('botUsername', {required: true});
2021
const changedFiles = await listChangedFiles(diffRef);
2122
const packages = await listPackages();
2223
const changesets = await loadChangesets(changedFiles);
@@ -31,6 +32,7 @@ async function main() {
3132
issueNumberStr,
3233
marker,
3334
feedback,
35+
botUsername,
3436
});
3537
}
3638

changeset-feedback/postFeedback.test.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ const repoInfo = {
5252
owner: 'le-owner',
5353
repo: 'le-repo',
5454
};
55+
const botUsername = 'github-actions[bot]';
5556
const log = jest.fn();
5657
const marker = 'changeset-feedback';
5758
const body = (feedback: string) =>
@@ -81,7 +82,7 @@ describe('changeset feedback', () => {
8182

8283
await postFeedback(
8384
client,
84-
{ ...repoInfo, issueNumberStr: '1', marker, feedback },
85+
{ ...repoInfo, issueNumberStr: '1', marker, feedback, botUsername },
8586
log,
8687
);
8788
expect(mockClient.rest.issues.createComment).toHaveBeenCalledWith({
@@ -96,7 +97,7 @@ describe('changeset feedback', () => {
9697
mockClient.paginate.mockResolvedValue(commentsWithFeedBack);
9798
await postFeedback(
9899
client,
99-
{ ...repoInfo, issueNumberStr: '1', marker, feedback },
100+
{ ...repoInfo, issueNumberStr: '1', marker, feedback, botUsername },
100101
log,
101102
);
102103
expect(mockClient.rest.issues.updateComment).not.toHaveBeenCalled();
@@ -109,7 +110,7 @@ describe('changeset feedback', () => {
109110
mockClient.paginate.mockResolvedValue(commentsWithFeedBack);
110111
await postFeedback(
111112
client,
112-
{ ...repoInfo, issueNumberStr: '1', marker, feedback: feedbackUpdated },
113+
{ ...repoInfo, issueNumberStr: '1', marker, feedback: feedbackUpdated, botUsername },
113114
log,
114115
);
115116
expect(log).toHaveBeenCalledWith('updating existing comment in #1');
@@ -124,7 +125,7 @@ describe('changeset feedback', () => {
124125
mockClient.paginate.mockResolvedValue(commentsWithFeedBack);
125126
await postFeedback(
126127
client,
127-
{ ...repoInfo, issueNumberStr: '1', marker: '', feedback: '' },
128+
{ ...repoInfo, issueNumberStr: '1', marker: '', feedback: '', botUsername },
128129
log,
129130
);
130131
expect(mockClient.rest.issues.deleteComment).toHaveBeenCalledWith({

changeset-feedback/postFeedback.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@ export async function postFeedback(
99
issueNumberStr: string;
1010
marker: string;
1111
feedback: string;
12+
botUsername: string;
1213
},
1314
log = core.info,
1415
) {
15-
const { owner, repo, issueNumberStr, marker, feedback } = options;
16+
const { owner, repo, issueNumberStr, marker, feedback, botUsername } = options;
1617
const issue_number = Number(issueNumberStr);
1718
const body = feedback.trim() ? feedback + marker : undefined;
1819

@@ -26,7 +27,7 @@ export async function postFeedback(
2627
);
2728

2829
const existingComment = existingComments.find(
29-
c => c.user?.login === 'github-actions[bot]' && c.body?.includes(marker),
30+
c => c.user?.login === botUsername && c.body?.includes(marker),
3031
);
3132

3233
if (existingComment) {

0 commit comments

Comments
 (0)