func (client *ClientImpl) GetBoardChart(ctx context.Context, args GetBoardChartArgs) (*BoardChart, error) {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Team != nil && *args.Team != "" {
		routeValues["team"] = *args.Team
	}
	if args.Board == nil || *args.Board == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Board"}
	}
	routeValues["board"] = *args.Board
	if args.Name == nil || *args.Name == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Name"}
	}
	routeValues["name"] = *args.Name
	locationId, _ := uuid.Parse("45fe888c-239e-49fd-958c-df1a1ab21d97")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue BoardChart
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
Get a board chart
package work
import (
	"bytes"
	"context"
	"encoding/json"
	"github.com/google/uuid"
	"github.com/microsoft/azure-devops-go-api/azuredevops"
	"net/http"
	"net/url"
	"strconv"
	"strings"
)
var ResourceAreaId, _ = uuid.Parse("1d4f49f9-02b9-4e26-b826-2cdb6195f2a9")
type Client interface {
	CreatePlan(context.Context, CreatePlanArgs) (*Plan, error)
	DeletePlan(context.Context, DeletePlanArgs) error
	DeleteTeamIteration(context.Context, DeleteTeamIterationArgs) error
	GetBacklog(context.Context, GetBacklogArgs) (*BacklogLevelConfiguration, error)
	GetBacklogConfigurations(context.Context, GetBacklogConfigurationsArgs) (*BacklogConfiguration, error)
	GetBacklogLevelWorkItems(context.Context, GetBacklogLevelWorkItemsArgs) (*BacklogLevelWorkItems, error)
	GetBacklogs(context.Context, GetBacklogsArgs) (*[]BacklogLevelConfiguration, error)
	GetBoard(context.Context, GetBoardArgs) (*Board, error)
	GetBoardCardRuleSettings(context.Context, GetBoardCardRuleSettingsArgs) (*BoardCardRuleSettings, error)
	GetBoardCardSettings(context.Context, GetBoardCardSettingsArgs) (*BoardCardSettings, error)
	GetBoardChart(context.Context, GetBoardChartArgs) (*BoardChart, error)
	GetBoardCharts(context.Context, GetBoardChartsArgs) (*[]BoardChartReference, error)
	GetBoardColumns(context.Context, GetBoardColumnsArgs) (*[]BoardColumn, error)
	GetBoardMappingParentItems(context.Context, GetBoardMappingParentItemsArgs) (*[]ParentChildWIMap, error)
	GetBoardRows(context.Context, GetBoardRowsArgs) (*[]BoardRow, error)
	GetBoards(context.Context, GetBoardsArgs) (*[]BoardReference, error)
	GetBoardUserSettings(context.Context, GetBoardUserSettingsArgs) (*BoardUserSettings, error)
	GetCapacitiesWithIdentityRef(context.Context, GetCapacitiesWithIdentityRefArgs) (*[]TeamMemberCapacityIdentityRef, error)
	GetCapacityWithIdentityRef(context.Context, GetCapacityWithIdentityRefArgs) (*TeamMemberCapacityIdentityRef, error)
	GetColumnSuggestedValues(context.Context, GetColumnSuggestedValuesArgs) (*[]BoardSuggestedValue, error)
	GetDeliveryTimelineData(context.Context, GetDeliveryTimelineDataArgs) (*DeliveryViewData, error)
	GetIterationWorkItems(context.Context, GetIterationWorkItemsArgs) (*IterationWorkItems, error)
	GetPlan(context.Context, GetPlanArgs) (*Plan, error)
	GetPlans(context.Context, GetPlansArgs) (*[]Plan, error)
	GetProcessConfiguration(context.Context, GetProcessConfigurationArgs) (*ProcessConfiguration, error)
	GetRowSuggestedValues(context.Context, GetRowSuggestedValuesArgs) (*[]BoardSuggestedValue, error)
	GetTeamDaysOff(context.Context, GetTeamDaysOffArgs) (*TeamSettingsDaysOff, error)
	GetTeamFieldValues(context.Context, GetTeamFieldValuesArgs) (*TeamFieldValues, error)
	GetTeamIteration(context.Context, GetTeamIterationArgs) (*TeamSettingsIteration, error)
	GetTeamIterations(context.Context, GetTeamIterationsArgs) (*[]TeamSettingsIteration, error)
	GetTeamSettings(context.Context, GetTeamSettingsArgs) (*TeamSetting, error)
	PostTeamIteration(context.Context, PostTeamIterationArgs) (*TeamSettingsIteration, error)
	ReorderBacklogWorkItems(context.Context, ReorderBacklogWorkItemsArgs) (*[]ReorderResult, error)
	ReorderIterationWorkItems(context.Context, ReorderIterationWorkItemsArgs) (*[]ReorderResult, error)
	ReplaceCapacitiesWithIdentityRef(context.Context, ReplaceCapacitiesWithIdentityRefArgs) (*[]TeamMemberCapacityIdentityRef, error)
	SetBoardOptions(context.Context, SetBoardOptionsArgs) (*map[string]string, error)
	UpdateBoardCardRuleSettings(context.Context, UpdateBoardCardRuleSettingsArgs) (*BoardCardRuleSettings, error)
	UpdateBoardCardSettings(context.Context, UpdateBoardCardSettingsArgs) (*BoardCardSettings, error)
	UpdateBoardChart(context.Context, UpdateBoardChartArgs) (*BoardChart, error)
	UpdateBoardColumns(context.Context, UpdateBoardColumnsArgs) (*[]BoardColumn, error)
	UpdateBoardRows(context.Context, UpdateBoardRowsArgs) (*[]BoardRow, error)
	UpdateBoardUserSettings(context.Context, UpdateBoardUserSettingsArgs) (*BoardUserSettings, error)
	UpdateCapacityWithIdentityRef(context.Context, UpdateCapacityWithIdentityRefArgs) (*TeamMemberCapacityIdentityRef, error)
	UpdatePlan(context.Context, UpdatePlanArgs) (*Plan, error)
	UpdateTaskboardCardRuleSettings(context.Context, UpdateTaskboardCardRuleSettingsArgs) error
	UpdateTaskboardCardSettings(context.Context, UpdateTaskboardCardSettingsArgs) error
	UpdateTeamDaysOff(context.Context, UpdateTeamDaysOffArgs) (*TeamSettingsDaysOff, error)
	UpdateTeamFieldValues(context.Context, UpdateTeamFieldValuesArgs) (*TeamFieldValues, error)
	UpdateTeamSettings(context.Context, UpdateTeamSettingsArgs) (*TeamSetting, error)
}
type ClientImpl struct {
	Client azuredevops.Client
}
func NewClient(ctx context.Context, connection *azuredevops.Connection) (Client, error) {
	client, err := connection.GetClientByResourceAreaId(ctx, ResourceAreaId)
	if err != nil {
		return nil, err
	}
	return &ClientImpl{
		Client: *client,
	}, nil
}
func (client *ClientImpl) CreatePlan(ctx context.Context, args CreatePlanArgs) (*Plan, error) {
	if args.PostedPlan == nil {
		return nil, &azuredevops.ArgumentNilError{ArgumentName: "args.PostedPlan"}
	}
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	body, marshalErr := json.Marshal(*args.PostedPlan)
	if marshalErr != nil {
		return nil, marshalErr
	}
	locationId, _ := uuid.Parse("0b42cb47-cd73-4810-ac90-19c9ba147453")
	resp, err := client.Client.Send(ctx, http.MethodPost, locationId, "5.1", routeValues, nil, bytes.NewReader(body), "application/json", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue Plan
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type CreatePlanArgs struct {
	PostedPlan *CreatePlan
	Project *string
}
func (client *ClientImpl) DeletePlan(ctx context.Context, args DeletePlanArgs) error {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Id == nil || *args.Id == "" {
		return &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Id"}
	}
	routeValues["id"] = *args.Id
	locationId, _ := uuid.Parse("0b42cb47-cd73-4810-ac90-19c9ba147453")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeletePlanArgs struct {
	Project *string
	Id *string
}
func (client *ClientImpl) DeleteTeamIteration(ctx context.Context, args DeleteTeamIterationArgs) error {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Team != nil && *args.Team != "" {
		routeValues["team"] = *args.Team
	}
	if args.Id == nil {
		return &azuredevops.ArgumentNilError{ArgumentName: "args.Id"}
	}
	routeValues["id"] = (*args.Id).String()
	locationId, _ := uuid.Parse("c9175577-28a1-4b06-9197-8636af9f64ad")
	_, err := client.Client.Send(ctx, http.MethodDelete, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return err
	}
	return nil
}
type DeleteTeamIterationArgs struct {
	Project *string
	Id *uuid.UUID
	Team *string
}
func (client *ClientImpl) GetBacklog(ctx context.Context, args GetBacklogArgs) (*BacklogLevelConfiguration, error) {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Team == nil || *args.Team == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Team"}
	}
	routeValues["team"] = *args.Team
	if args.Id == nil || *args.Id == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Id"}
	}
	routeValues["id"] = *args.Id
	locationId, _ := uuid.Parse("a93726f9-7867-4e38-b4f2-0bfafc2f6a94")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue BacklogLevelConfiguration
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetBacklogArgs struct {
	Project *string
	Team *string
	Id *string
}
func (client *ClientImpl) GetBacklogConfigurations(ctx context.Context, args GetBacklogConfigurationsArgs) (*BacklogConfiguration, error) {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Team != nil && *args.Team != "" {
		routeValues["team"] = *args.Team
	}
	locationId, _ := uuid.Parse("7799f497-3cb5-4f16-ad4f-5cd06012db64")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue BacklogConfiguration
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetBacklogConfigurationsArgs struct {
	Project *string
	Team *string
}
func (client *ClientImpl) GetBacklogLevelWorkItems(ctx context.Context, args GetBacklogLevelWorkItemsArgs) (*BacklogLevelWorkItems, error) {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Team == nil || *args.Team == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Team"}
	}
	routeValues["team"] = *args.Team
	if args.BacklogId == nil || *args.BacklogId == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.BacklogId"}
	}
	routeValues["backlogId"] = *args.BacklogId
	locationId, _ := uuid.Parse("7c468d96-ab1d-4294-a360-92f07e9ccd98")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue BacklogLevelWorkItems
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetBacklogLevelWorkItemsArgs struct {
	Project *string
	Team *string
	BacklogId *string
}
func (client *ClientImpl) GetBacklogs(ctx context.Context, args GetBacklogsArgs) (*[]BacklogLevelConfiguration, error) {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Team == nil || *args.Team == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Team"}
	}
	routeValues["team"] = *args.Team
	locationId, _ := uuid.Parse("a93726f9-7867-4e38-b4f2-0bfafc2f6a94")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1-preview.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue []BacklogLevelConfiguration
	err = client.Client.UnmarshalCollectionBody(resp, &responseValue)
	return &responseValue, err
}
type GetBacklogsArgs struct {
	Project *string
	Team *string
}
func (client *ClientImpl) GetBoard(ctx context.Context, args GetBoardArgs) (*Board, error) {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Team != nil && *args.Team != "" {
		routeValues["team"] = *args.Team
	}
	if args.Id == nil || *args.Id == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Id"}
	}
	routeValues["id"] = *args.Id
	locationId, _ := uuid.Parse("23ad19fc-3b8e-4877-8462-b3f92bc06b40")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue Board
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetBoardArgs struct {
	Project *string
	Id *string
	Team *string
}
func (client *ClientImpl) GetBoardCardRuleSettings(ctx context.Context, args GetBoardCardRuleSettingsArgs) (*BoardCardRuleSettings, error) {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Team != nil && *args.Team != "" {
		routeValues["team"] = *args.Team
	}
	if args.Board == nil || *args.Board == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Board"}
	}
	routeValues["board"] = *args.Board
	locationId, _ := uuid.Parse("b044a3d9-02ea-49c7-91a1-b730949cc896")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue BoardCardRuleSettings
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetBoardCardRuleSettingsArgs struct {
	Project *string
	Board *string
	Team *string
}
func (client *ClientImpl) GetBoardCardSettings(ctx context.Context, args GetBoardCardSettingsArgs) (*BoardCardSettings, error) {
	routeValues := make(map[string]string)
	if args.Project == nil || *args.Project == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Project"}
	}
	routeValues["project"] = *args.Project
	if args.Team != nil && *args.Team != "" {
		routeValues["team"] = *args.Team
	}
	if args.Board == nil || *args.Board == "" {
		return nil, &azuredevops.ArgumentNilOrEmptyError{ArgumentName: "args.Board"}
	}
	routeValues["board"] = *args.Board
	locationId, _ := uuid.Parse("07c3b467-bc60-4f05-8e34-599ce288fafc")
	resp, err := client.Client.Send(ctx, http.MethodGet, locationId, "5.1", routeValues, nil, nil, "", "application/json", nil)
	if err != nil {
		return nil, err
	}
	var responseValue BoardCardSettings
	err = client.Client.UnmarshalBody(resp, &responseValue)
	return &responseValue, err
}
type GetBoardCardSettingsArgs struct {
	Project *string
	Board *string
	Team *string
}