private async Task <BoardResponseModel> GetBoard(string team = null)
        {
            using (var client = _httpClientUtils.GetClient())
            {
                var teamNames = team != null && _jiraConfig.Value.TeamFilters.ContainsKey(team)
                    ? _jiraConfig.Value.TeamFilters[team]
                    : Array.Empty <string>();

                var inProgress = await GetColumn(client, "In Progress", teamNames);

                var peerReview = await GetColumn(client, "Peer Review", teamNames);

                var test = await GetColumn(client, "System Test", teamNames);

                var merge = await GetMergeColumn(client, teamNames);

                // Trollface
                if (_jiraConfig.Value.PrankIssue != null && _jiraConfig.Value.PrankIssue.Trim() != "")
                {
                    var issue = await GetIssue(client, _jiraConfig.Value.PrankIssue);

                    if (issue != null)
                    {
                        switch (_jiraConfig.Value.PrankIssueColumn)
                        {
                        case "Merge":
                            merge.Issues = merge.Issues.Append(issue);
                            break;

                        case "Peer Review":
                            peerReview.Issues = peerReview.Issues.Append(issue);
                            break;

                        case "System Test":
                            test.Issues = test.Issues.Append(issue);
                            break;

                        default:
                            inProgress.Issues = inProgress.Issues.Append(issue);
                            break;
                        }
                    }
                }

                return(new BoardResponseModel
                {
                    InProgress = inProgress,
                    PeerReview = peerReview,
                    Test = test,
                    Merge = merge
                });
            }
        }