Skip to content

feat: add externalFileLinks to Issue entity - #180

Open
katayama8000 wants to merge 1 commit into
nulab:masterfrom
katayama8000:feat/issue-external-file-links
Open

feat: add externalFileLinks to Issue entity#180
katayama8000 wants to merge 1 commit into
nulab:masterfrom
katayama8000:feat/issue-external-file-links

Conversation

@katayama8000

Copy link
Copy Markdown
Collaborator

Summary

GET /api/v2/issues/:issueIdOrKey のレスポンスには externalFileLinks(サーバ側 IssueJson.sharedExternalFileLinks)が含まれていますが、Entity.Issue.Issue にこのフィールドが無く、利用側でキャストが必要でした。型を追加します。

Changes

  • Entity.Issue.IssueexternalFileLinks: ExternalFileLink[] を追加
  • Entity.Issue.ExternalFileLink を追加(id / serviceType / name / url / createdUser / created / updatedUser / updated
    • createdUser / updatedUser はサーバ側が Option[User] のため optional
  • Get Issue のレスポンスに externalFileLinks が含まれることを確認するテストを追加

Verification

実際の Backlog スペースに対して GET /api/v2/issues/:issueIdOrKey を叩き、リンクが無い課題でも externalFileLinks: [] が常に返ることを確認しました。

npm run typecheck / npm test / npm run lint / npm run fmt:check いずれもパスしています。

🤖 Generated with Claude Code

The Get Issue API response includes an `externalFileLinks` array
(Scala: `IssueJson.sharedExternalFileLinks`), but the `Entity.Issue.Issue`
type was missing it, so consumers had to cast to reach the field.

Verified against a Backlog space that `GET /api/v2/issues/:issueIdOrKey`
returns `externalFileLinks` on every issue (empty array when no links).
`createdUser` / `updatedUser` are optional because they are `Option[User]`
on the server side.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant