MCPcopy Index your code
hub / github.com/simstudioai/sim / transformIssueData

Function transformIssueData

apps/sim/tools/jira/retrieve.ts:17–185  ·  view source on GitHub ↗

* Transforms a raw Jira API issue response into a fully typed output.

(data: any)

Source from the content-addressed store, hash-verified

15 * Transforms a raw Jira API issue response into a fully typed output.
16 */
17function transformIssueData(data: any) {
18 const fields = data?.fields ?? {}
19 return {
20 id: data?.id ?? '',
21 issueKey: data?.key ?? '',
22 key: data?.key ?? '',
23 self: data?.self ?? '',
24 summary: fields.summary ?? '',
25 description: extractAdfText(fields.description),
26 status: {
27 id: fields.status?.id ?? '',
28 name: fields.status?.name ?? '',
29 description: fields.status?.description ?? null,
30 statusCategory: fields.status?.statusCategory
31 ? {
32 id: fields.status.statusCategory.id,
33 key: fields.status.statusCategory.key ?? '',
34 name: fields.status.statusCategory.name ?? '',
35 colorName: fields.status.statusCategory.colorName ?? '',
36 }
37 : undefined,
38 },
39 issuetype: {
40 id: fields.issuetype?.id ?? '',
41 name: fields.issuetype?.name ?? '',
42 description: fields.issuetype?.description ?? null,
43 subtask: fields.issuetype?.subtask ?? false,
44 iconUrl: fields.issuetype?.iconUrl ?? null,
45 },
46 project: {
47 id: fields.project?.id ?? '',
48 key: fields.project?.key ?? '',
49 name: fields.project?.name ?? '',
50 projectTypeKey: fields.project?.projectTypeKey ?? null,
51 },
52 priority: fields.priority
53 ? {
54 id: fields.priority.id ?? '',
55 name: fields.priority.name ?? '',
56 iconUrl: fields.priority.iconUrl ?? null,
57 }
58 : null,
59 statusName: fields.status?.name ?? '',
60 assignee: transformUser(fields.assignee),
61 assigneeName: fields.assignee?.displayName ?? fields.assignee?.accountId ?? null,
62 reporter: transformUser(fields.reporter),
63 creator: transformUser(fields.creator),
64 labels: fields.labels ?? [],
65 components: (fields.components ?? []).map((c: any) => ({
66 id: c.id ?? '',
67 name: c.name ?? '',
68 description: c.description ?? null,
69 })),
70 fixVersions: (fields.fixVersions ?? []).map((v: any) => ({
71 id: v.id ?? '',
72 name: v.name ?? '',
73 released: v.released ?? null,
74 releaseDate: v.releaseDate ?? null,

Callers 1

retrieve.tsFile · 0.85

Calls 2

extractAdfTextFunction · 0.90
transformUserFunction · 0.90

Tested by

no test coverage detected