fix(group_boards): return the single updated list from UpdateIssueBoardList

What does this MR do?

GroupIssueBoardsService.UpdateIssueBoardList declares []*BoardList as its return type, but GitLab returns the updated list as a single JSON object (API docs: Edit group issue board list):

{
  "id" : 1,
  "label" : { "name" : "Testing", "color" : "#F0AD4E", "description" : null },
  "position" : 1
}

As a result every successful call fails to decode:

json: cannot unmarshal object into Go value of type []*gitlab.BoardList

reproduced against a current gitlab-ee:latest instance (PUT /api/v4/groups/:id/boards/:board_id/lists/:list_id). The project-level counterpart, IssueBoardsService.UpdateIssueBoardList, already returns *BoardList.

This MR aligns the group-level method with the API and its project-level sibling:

  • interface + implementation return *BoardList (do[*BoardList])
  • the test fixture is updated — it mocked the array shape the API never returns, which is how the mismatch survived !1254 (merged)
  • the generated mock is regenerated

On the signature change: since the current signature can never decode a successful response, no caller can depend on it working — the method has been effectively unusable.

Context

Found end-to-end while extending the e2e suite of gitlab-mcp-server, an MCP server that exposes the GitLab API (client-go-backed) to AI assistants — its group_board_list_update tool hit this on a live EE instance.

Merge request reports

Loading
Loading