Skip to content

[TASK] Общий formatOctokitError хелпер для единообразной обработки ошибок #8

@prog-time

Description

@prog-time

Note

The task was generated using the MCP server — prog-time/mcp-github-issues

Type: task

Context

Все инструменты делают catch(err) { throw err } — при этом теряются полезные данные из ответа GitHub: HTTP-статус, message, массив errors[].

Решение:

  • Создать общий хелпер formatOctokitError(err) в src/utils/errors.ts.
  • Извлекать err.status, err.message, err.response?.data?.errors.
  • Возвращать человекочитаемое сообщение для MCP-клиента (например, "GitHub 404: Not Found (repo: owner/repo)").
  • Применить во всех инструментах.

Affected Files

  • src/tools/publish.ts
  • src/tools/listIssues.ts
  • src/tools/fetchIssue.ts
  • src/tools/addComment.ts
  • src/tools/updateIssue.ts
  • src/tools/createPullRequest.ts

Checklist

  • Создать src/utils/errors.ts с formatOctokitError
  • Применить во всех инструментах
  • Покрыть хелпер тестами
  • Проверить формат ошибок в тестах инструментов

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions