Skip to content

Commit aede4ce

Browse files
committed
#7557 returning error objects instead of throw
1 parent 417c7b5 commit aede4ce

1 file changed

Lines changed: 11 additions & 3 deletions

File tree

ai/mcp/server/github-workflow/services/IssueService.mjs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,19 @@ class IssueService extends Base {
3838
return {message: `Successfully added labels to issue #${issueNumber}`, details: stdout.trim()};
3939
} catch (error) {
4040
console.error(`Error adding labels to issue #${issueNumber}:`, error);
41-
throw new Error(`Failed to add labels to issue #${issueNumber}.`);
41+
return {
42+
error : 'GitHub CLI command failed',
43+
message: `gh issue edit ${issueNumber} --add-label failed with exit code ${error.code}`,
44+
code : 'GH_CLI_ERROR'
45+
};
4246
}
4347
}
4448

4549
/**
4650
* Removes labels from an issue or pull request.
4751
* @param {number} issueNumber - The number of the issue or PR.
4852
* @param {string[]} labels - An array of labels to remove.
49-
* @returns {Promise<object>} A promise that resolves to a success message.
53+
* @returns {Promise<object>} A promise that resolves to a success or error object.
5054
*/
5155
async removeLabels(issueNumber, labels) {
5256
const labelString = labels.join(',');
@@ -55,7 +59,11 @@ class IssueService extends Base {
5559
return {message: `Successfully removed labels from issue #${issueNumber}`, details: stdout.trim()};
5660
} catch (error) {
5761
console.error(`Error removing labels from issue #${issueNumber}:`, error);
58-
throw new Error(`Failed to remove labels from issue #${issueNumber}.`);
62+
return {
63+
error : 'GitHub CLI command failed',
64+
message: `gh issue edit ${issueNumber} --remove-label failed with exit code ${error.code}`,
65+
code : 'GH_CLI_ERROR'
66+
};
5967
}
6068
}
6169
}

0 commit comments

Comments
 (0)