func ToIssue(issue *models.Issue) *api.Issue { apiLabels := make([]*api.Label, len(issue.Labels)) for i := range issue.Labels { apiLabels[i] = ToLabel(issue.Labels[i]) } apiIssue := &api.Issue{ ID: issue.ID, Index: issue.Index, State: issue.State(), Title: issue.Name, Body: issue.Content, User: ToUser(issue.Poster), Labels: apiLabels, Assignee: ToUser(issue.Assignee), Milestone: ToMilestone(issue.Milestone), Comments: issue.NumComments, Created: issue.Created, Updated: issue.Updated, } if issue.IsPull { if err := issue.GetPullRequest(); err != nil { log.Error(4, "GetPullRequest", err) } else { apiIssue.PullRequest = &api.PullRequestMeta{ HasMerged: issue.PullRequest.HasMerged, } if issue.PullRequest.HasMerged { apiIssue.PullRequest.Merged = &issue.PullRequest.Merged } } } return apiIssue }