MCPcopy Create free account
hub / github.com/cli/cli / ExportData

Method ExportData

api/export_pr.go:8–121  ·  view source on GitHub ↗
(fields []string)

Source from the content-addressed store, hash-verified

6)
7
8func (issue *Issue) ExportData(fields []string) map[string]interface{} {
9 v := reflect.ValueOf(issue).Elem()
10 data := map[string]interface{}{}
11
12 for _, f := range fields {
13 switch f {
14 case "comments":
15 data[f] = issue.Comments.Nodes
16 case "assignees":
17 data[f] = issue.Assignees.Nodes
18 case "labels":
19 data[f] = issue.Labels.Nodes
20 case "projectCards":
21 data[f] = issue.ProjectCards.Nodes
22 case "projectItems":
23 items := make([]map[string]interface{}, 0, len(issue.ProjectItems.Nodes))
24 for _, n := range issue.ProjectItems.Nodes {
25 items = append(items, map[string]interface{}{
26 "status": n.Status,
27 "title": n.Project.Title,
28 })
29 }
30 data[f] = items
31 case "closedByPullRequestsReferences":
32 items := make([]map[string]interface{}, 0, len(issue.ClosedByPullRequestsReferences.Nodes))
33 for _, n := range issue.ClosedByPullRequestsReferences.Nodes {
34 items = append(items, map[string]interface{}{
35 "id": n.ID,
36 "number": n.Number,
37 "url": n.URL,
38 "repository": map[string]interface{}{
39 "id": n.Repository.ID,
40 "name": n.Repository.Name,
41 "owner": map[string]interface{}{
42 "id": n.Repository.Owner.ID,
43 "login": n.Repository.Owner.Login,
44 },
45 },
46 })
47 }
48 data[f] = items
49 case "issueType":
50 data[f] = issue.IssueType
51 case "parent":
52 if issue.Parent != nil {
53 data[f] = map[string]interface{}{
54 "id": issue.Parent.ID,
55 "number": issue.Parent.Number,
56 "title": issue.Parent.Title,
57 "url": issue.Parent.URL,
58 "state": issue.Parent.State,
59 }
60 } else {
61 data[f] = nil
62 }
63 case "subIssues":
64 items := make([]map[string]interface{}, 0, len(issue.SubIssues.Nodes))
65 for _, n := range issue.SubIssues.Nodes {

Callers 1

TestIssue_ExportDataFunction · 0.95

Calls 1

fieldByNameFunction · 0.70

Tested by 1

TestIssue_ExportDataFunction · 0.76