# frozen_string_literal: trueclassGitlab::Client# Defines methods related to group issue boards.# @see https://docs.gitlab.com/ee/api/group_boards.htmlmoduleGroupBoards# Lists Issue Boards in the given group.## @example# Gitlab.group_boards(5)## @param [Integer, String] group The ID or name of a group.# @return [Array<Gitlab::ObjectifiedHash>] List of issue boards of the groupdefgroup_boards(group)get("/groups/#{url_encodegroup}/boards")end# Gets a single group issue board.## @example# Gitlab.group_board(5, 1)## @param [Integer, String] group The ID or name of a group.# @param [Integer] id The ID of the issue board.# @return [Gitlab::ObjectifiedHash] Returns information about a group issue boarddefgroup_board(group,id)get("/groups/#{url_encodegroup}/boards/#{id}")end# Creates a new group issue board.## @example# Gitlab.create_group_board(5, 'Documentcloud')## @param [Integer, String] group The ID or name of a group.# @param [String] name The name of the new board.# @return [Gitlab::ObjectifiedHash] Information about created group issue board.defcreate_group_board(group,name)body={name: name}post("/groups/#{url_encodegroup}/boards",body: body)end# Updates a group issue board.## @example# Gitlab.edit_group_board(5, 1, { name: 'DocumentCloud2' })# Gitlab.edit_group_board(5, 1, { name: 'DocumentCloud2', assignee_id: 3 })## @param [Integer, String] group The ID or name of a group.# @param [Integer] id The ID of the issue board.# @param [Hash] options A customizable set of options.# @option options [String] :name(optional) The new name of the board.# @option options [Integer] :assignee_id(optional) The assignee the board should be scoped to.# @option options [Integer] :milestone_id(optional) The milestone the board should be scoped to.# @option options [String] :labels(optional) Comma-separated list of label names which the board should be scoped to.# @option options [Integer] :weight(optional) The weight range from 0 to 9, to which the board should be scoped to.# @return [Gitlab::ObjectifiedHash] Information about updated group issue board.defedit_group_board(group,id,options={})put("/groups/#{url_encodegroup}/boards/#{id}",body: options)end# Deletes a group issue board.## @example# Gitlab.delete_group_board(5, 1)## @param [Integer, String] group The ID or name of a group.# @param [Integer] id The ID of the issue board.# @return [void] This API call returns an empty response body.defdelete_group_board(group,id)delete("/groups/#{url_encodegroup}/boards/#{id}")end# Get a list of the boards lists. Does not include open and closed lists## @example# Gitlab.group_board_lists(5, 1)## @param [Integer, String] group The ID or name of a group.# @param [Integer] board_id The ID of the group issue board.# @return [Array<Gitlab::ObjectifiedHash>] List of boards lists of the groupdefgroup_board_lists(group,board_id)get("/groups/#{url_encodegroup}/boards/#{board_id}/lists")end# Get a single group issue board list.## @example# Gitlab.group_board_list(5, 1, 1)## @param [Integer, String] group The ID or name of a group.# @param [Integer] board_id The ID of the group issue board.# @param [Integer] list_id The ID of a boards list.# @return [Gitlab::ObjectifiedHash] Returns information about a single group issue board listdefgroup_board_list(group,board_id,id)get("/groups/#{url_encodegroup}/boards/#{board_id}/lists/#{id}")end# Creates a new group issue board list.## @example# Gitlab.create_group_board_list(5, 1)## @param [Integer, String] group The ID or name of a group.# @param [Integer] board_id The ID of the group issue board.# @param [Integer] label_id The ID of a label.# @return [Gitlab::ObjectifiedHash] Information about created group issue board list.defcreate_group_board_list(group,board_id,label_id)body={label_id: label_id}post("/groups/#{url_encodegroup}/boards/#{board_id}/lists",body: body)end# Updates an existing group issue board list. This call is used to change list position.## @example# Gitlab.edit_group_board_list(5, 1, 1, { position: 1 })## @param [Integer, String] group The ID or name of a group.# @param [Integer] board_id The ID of the group issue board.# @param [Integer] list_id The ID of a boards list.# @param [Hash] options A customizable set of options.# @option options [String] :position(required) The position of the list.# @return [Gitlab::ObjectifiedHash] Information about updated group issue board list.defedit_group_board_list(group,board_id,id,options={})put("/groups/#{url_encodegroup}/boards/#{board_id}/lists/#{id}",body: options)end# Deletes a group issue board list.## @example# Gitlab.delete_group_board_list(5, 1, 1)## @param [Integer, String] group The ID or name of a group.# @param [Integer] board_id The ID of the group issue board.# @param [Integer] list_id The ID of a boards list.# @return [void] This API call returns an empty response body.defdelete_group_board_list(group,board_id,id)delete("/groups/#{url_encodegroup}/boards/#{board_id}/lists/#{id}")endendend