@venturialstd/jira 0.1.31 → 0.1.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/README.md +481 -0
  2. package/dist/clients/jira.client.d.ts +16 -0
  3. package/dist/clients/jira.client.d.ts.map +1 -0
  4. package/dist/clients/jira.client.js +100 -0
  5. package/dist/clients/jira.client.js.map +1 -0
  6. package/dist/constants/http-method.constant.d.ts +8 -0
  7. package/dist/constants/http-method.constant.d.ts.map +1 -0
  8. package/dist/constants/http-method.constant.js +12 -0
  9. package/dist/constants/http-method.constant.js.map +1 -0
  10. package/dist/constants/jira.constant.d.ts +56 -0
  11. package/dist/constants/jira.constant.d.ts.map +1 -0
  12. package/dist/constants/jira.constant.js +67 -0
  13. package/dist/constants/jira.constant.js.map +1 -0
  14. package/dist/constants/jira.constants.d.ts +2 -0
  15. package/dist/constants/jira.constants.d.ts.map +1 -0
  16. package/dist/constants/jira.constants.js +6 -0
  17. package/dist/constants/jira.constants.js.map +1 -0
  18. package/dist/constants/jira.settings.constant.d.ts +6 -0
  19. package/dist/constants/jira.settings.constant.d.ts.map +1 -0
  20. package/dist/{jira/constants/jira.constants.js → constants/jira.settings.constant.js} +1 -1
  21. package/dist/constants/jira.settings.constant.js.map +1 -0
  22. package/dist/constants/jira.settings.constants.d.ts +6 -0
  23. package/dist/constants/jira.settings.constants.d.ts.map +1 -0
  24. package/dist/constants/jira.settings.constants.js +9 -0
  25. package/dist/constants/jira.settings.constants.js.map +1 -0
  26. package/dist/dtos/jira-webhook-event.dto.d.ts +16 -0
  27. package/dist/dtos/jira-webhook-event.dto.d.ts.map +1 -0
  28. package/dist/dtos/jira-webhook-event.dto.js +95 -0
  29. package/dist/dtos/jira-webhook-event.dto.js.map +1 -0
  30. package/dist/index.d.ts +30 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +52 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/jira.module.d.ts +3 -0
  35. package/dist/jira.module.d.ts.map +1 -0
  36. package/dist/jira.module.js +56 -0
  37. package/dist/jira.module.js.map +1 -0
  38. package/dist/services/jira-attachment.service.d.ts +93 -0
  39. package/dist/services/jira-attachment.service.d.ts.map +1 -0
  40. package/dist/services/jira-attachment.service.js +149 -0
  41. package/dist/services/jira-attachment.service.js.map +1 -0
  42. package/dist/services/jira-comment.service.d.ts +40 -0
  43. package/dist/services/jira-comment.service.d.ts.map +1 -0
  44. package/dist/services/jira-comment.service.js +95 -0
  45. package/dist/services/jira-comment.service.js.map +1 -0
  46. package/dist/services/jira-event.service.d.ts +17 -0
  47. package/dist/services/jira-event.service.d.ts.map +1 -0
  48. package/dist/{jira/services/jira-issue.service.js → services/jira-event.service.js} +23 -19
  49. package/dist/services/jira-event.service.js.map +1 -0
  50. package/dist/services/jira-issue.service.d.ts +113 -0
  51. package/dist/services/jira-issue.service.d.ts.map +1 -0
  52. package/dist/services/jira-issue.service.js +261 -0
  53. package/dist/services/jira-issue.service.js.map +1 -0
  54. package/dist/services/jira-project.service.d.ts +89 -0
  55. package/dist/services/jira-project.service.d.ts.map +1 -0
  56. package/dist/services/jira-project.service.js +135 -0
  57. package/dist/services/jira-project.service.js.map +1 -0
  58. package/dist/services/jira-search.service.d.ts +160 -0
  59. package/dist/services/jira-search.service.d.ts.map +1 -0
  60. package/dist/services/jira-search.service.js +244 -0
  61. package/dist/services/jira-search.service.js.map +1 -0
  62. package/dist/services/jira-user.service.d.ts +35 -0
  63. package/dist/services/jira-user.service.d.ts.map +1 -0
  64. package/dist/services/jira-user.service.js +88 -0
  65. package/dist/services/jira-user.service.js.map +1 -0
  66. package/dist/services/jira-webhook.service.d.ts +50 -0
  67. package/dist/services/jira-webhook.service.d.ts.map +1 -0
  68. package/dist/services/jira-webhook.service.js +99 -0
  69. package/dist/services/jira-webhook.service.js.map +1 -0
  70. package/dist/services/jira-worklog.service.d.ts +34 -0
  71. package/dist/services/jira-worklog.service.d.ts.map +1 -0
  72. package/dist/services/jira-worklog.service.js +146 -0
  73. package/dist/services/jira-worklog.service.js.map +1 -0
  74. package/dist/{jira/settings → settings}/jira-settings.d.ts +1 -0
  75. package/dist/settings/jira-settings.d.ts.map +1 -0
  76. package/dist/settings/jira-settings.js.map +1 -0
  77. package/dist/types/jira-comment.params.types.d.ts +7 -0
  78. package/dist/types/jira-comment.params.types.d.ts.map +1 -0
  79. package/dist/types/jira-comment.params.types.js +3 -0
  80. package/dist/types/jira-comment.params.types.js.map +1 -0
  81. package/dist/types/jira-common.types.d.ts +51 -0
  82. package/dist/types/jira-common.types.d.ts.map +1 -0
  83. package/dist/types/jira-common.types.js +6 -0
  84. package/dist/types/jira-common.types.js.map +1 -0
  85. package/dist/types/jira-event.types.d.ts +5 -0
  86. package/dist/types/jira-event.types.d.ts.map +1 -0
  87. package/dist/types/jira-event.types.js +3 -0
  88. package/dist/types/jira-event.types.js.map +1 -0
  89. package/dist/types/jira-issue.params.types.d.ts +42 -0
  90. package/dist/types/jira-issue.params.types.d.ts.map +1 -0
  91. package/dist/types/jira-issue.params.types.js +3 -0
  92. package/dist/types/jira-issue.params.types.js.map +1 -0
  93. package/dist/types/jira-issue.response.types.d.ts +50 -0
  94. package/dist/types/jira-issue.response.types.d.ts.map +1 -0
  95. package/dist/types/jira-issue.response.types.js +3 -0
  96. package/dist/types/jira-issue.response.types.js.map +1 -0
  97. package/dist/types/jira-metadata.types.d.ts +92 -0
  98. package/dist/types/jira-metadata.types.d.ts.map +1 -0
  99. package/dist/types/jira-metadata.types.js +3 -0
  100. package/dist/types/jira-metadata.types.js.map +1 -0
  101. package/dist/types/jira-project.params.types.d.ts +13 -0
  102. package/dist/types/jira-project.params.types.d.ts.map +1 -0
  103. package/dist/types/jira-project.params.types.js +3 -0
  104. package/dist/types/jira-project.params.types.js.map +1 -0
  105. package/dist/types/jira-user.params.types.d.ts +19 -0
  106. package/dist/types/jira-user.params.types.d.ts.map +1 -0
  107. package/dist/types/jira-user.params.types.js +3 -0
  108. package/dist/types/jira-user.params.types.js.map +1 -0
  109. package/dist/types/jira-webhook.params.types.d.ts +15 -0
  110. package/dist/types/jira-webhook.params.types.d.ts.map +1 -0
  111. package/dist/types/jira-webhook.params.types.js +3 -0
  112. package/dist/types/jira-webhook.params.types.js.map +1 -0
  113. package/dist/types/jira-webhook.types.d.ts +77 -0
  114. package/dist/types/jira-webhook.types.d.ts.map +1 -0
  115. package/dist/types/jira-webhook.types.js +3 -0
  116. package/dist/types/jira-webhook.types.js.map +1 -0
  117. package/dist/types/jira-worklog.params.types.d.ts +22 -0
  118. package/dist/types/jira-worklog.params.types.d.ts.map +1 -0
  119. package/dist/types/jira-worklog.params.types.js +3 -0
  120. package/dist/types/jira-worklog.params.types.js.map +1 -0
  121. package/dist/types/jira.config.type.d.ts +14 -0
  122. package/dist/types/jira.config.type.d.ts.map +1 -0
  123. package/dist/types/jira.config.type.js +3 -0
  124. package/dist/types/jira.config.type.js.map +1 -0
  125. package/dist/types/jira.request.types.d.ts +187 -0
  126. package/dist/types/jira.request.types.d.ts.map +1 -0
  127. package/dist/types/jira.request.types.js +3 -0
  128. package/dist/types/jira.request.types.js.map +1 -0
  129. package/dist/types/jira.types.d.ts +314 -0
  130. package/dist/types/jira.types.d.ts.map +1 -0
  131. package/dist/{jira/types/jira.event.type.js → types/jira.types.js} +1 -1
  132. package/dist/types/jira.types.js.map +1 -0
  133. package/package.json +19 -14
  134. package/dist/jira/clients/jira.client.d.ts +0 -13
  135. package/dist/jira/clients/jira.client.js +0 -70
  136. package/dist/jira/clients/jira.client.js.map +0 -1
  137. package/dist/jira/constants/jira.constants.d.ts +0 -5
  138. package/dist/jira/constants/jira.constants.js.map +0 -1
  139. package/dist/jira/dtos/jira-webhook-event.dto.d.ts +0 -21
  140. package/dist/jira/dtos/jira-webhook-event.dto.js +0 -139
  141. package/dist/jira/dtos/jira-webhook-event.dto.js.map +0 -1
  142. package/dist/jira/index.d.ts +0 -4
  143. package/dist/jira/index.js +0 -10
  144. package/dist/jira/index.js.map +0 -1
  145. package/dist/jira/jira.module.d.ts +0 -2
  146. package/dist/jira/jira.module.js +0 -25
  147. package/dist/jira/jira.module.js.map +0 -1
  148. package/dist/jira/services/jira-issue.service.d.ts +0 -12
  149. package/dist/jira/services/jira-issue.service.js.map +0 -1
  150. package/dist/jira/settings/jira-settings.js.map +0 -1
  151. package/dist/jira/tsconfig.build.tsbuildinfo +0 -1
  152. package/dist/jira/types/jira.event.type.d.ts +0 -37
  153. package/dist/jira/types/jira.event.type.js.map +0 -1
  154. /package/dist/{jira/settings → settings}/jira-settings.js +0 -0
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var JiraWebhookService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.JiraWebhookService = void 0;
14
+ const axios_1 = require("@nestjs/axios");
15
+ const common_1 = require("@nestjs/common");
16
+ const core_1 = require("@venturialstd/core");
17
+ const jira_client_1 = require("../clients/jira.client");
18
+ const http_method_constant_1 = require("../constants/http-method.constant");
19
+ const jira_constant_1 = require("../constants/jira.constant");
20
+ let JiraWebhookService = JiraWebhookService_1 = class JiraWebhookService {
21
+ httpService;
22
+ jiraClient;
23
+ logger;
24
+ constructor(httpService, jiraClient, logger) {
25
+ this.httpService = httpService;
26
+ this.jiraClient = jiraClient;
27
+ this.logger = logger;
28
+ this.logger.setContext(JiraWebhookService_1.name);
29
+ }
30
+ /**
31
+ * Get dynamic webhooks for app
32
+ * Returns a paginated list of the webhooks registered by the calling app.
33
+ * Permissions required: Only Connect and OAuth 2.0 apps can use this operation.
34
+ */
35
+ async getWebhooks(config, params) {
36
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/webhook`;
37
+ const queryParams = {};
38
+ if (params?.startAt !== undefined)
39
+ queryParams.startAt = params.startAt;
40
+ if (params?.maxResults !== undefined)
41
+ queryParams.maxResults = params.maxResults;
42
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.GET, endpoint, config, undefined, Object.keys(queryParams).length > 0 ? queryParams : undefined);
43
+ }
44
+ /**
45
+ * Register dynamic webhooks
46
+ * Registers webhooks.
47
+ * NOTE: for non-public OAuth apps, webhooks are delivered only if there is a match between the app owner and the user who registered a dynamic webhook.
48
+ * Permissions required: Only Connect and OAuth 2.0 apps can use this operation.
49
+ */
50
+ async registerWebhooks(config, request) {
51
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/webhook`;
52
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.POST, endpoint, config, request);
53
+ }
54
+ /**
55
+ * Delete webhooks by ID
56
+ * Removes webhooks by ID. Only webhooks registered by the calling app are removed.
57
+ * If webhooks created by other apps are specified, they are ignored.
58
+ * Permissions required: Only Connect and OAuth 2.0 apps can use this operation.
59
+ */
60
+ async deleteWebhooks(config, request) {
61
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/webhook`;
62
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.DELETE, endpoint, config, request);
63
+ }
64
+ /**
65
+ * Get failed webhooks (Experimental)
66
+ * Returns webhooks that have recently failed to be delivered to the requesting app after the maximum number of retries.
67
+ * After 72 hours the failure may no longer be returned by this operation.
68
+ * The oldest failure is returned first.
69
+ * This method uses a cursor-based pagination. To request the next page use the failure time of the last webhook on the list as the `failedAfter` value or use the URL provided in `next`.
70
+ * Permissions required: Only Connect apps can use this operation.
71
+ */
72
+ async getFailedWebhooks(config, params) {
73
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/webhook/failed`;
74
+ const queryParams = {};
75
+ if (params?.maxResults !== undefined)
76
+ queryParams.maxResults = params.maxResults;
77
+ if (params?.after !== undefined)
78
+ queryParams.after = params.after;
79
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.GET, endpoint, config, undefined, Object.keys(queryParams).length > 0 ? queryParams : undefined);
80
+ }
81
+ /**
82
+ * Extend webhook life
83
+ * Extends the life of webhook. Webhooks registered through the REST API expire after 30 days. Call this operation to keep them alive.
84
+ * Unrecognized webhook IDs (those that are not found or belong to other apps) are ignored.
85
+ * Permissions required: Only Connect and OAuth 2.0 apps can use this operation.
86
+ */
87
+ async extendWebhookLife(config, request) {
88
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/webhook/refresh`;
89
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.PUT, endpoint, config, request);
90
+ }
91
+ };
92
+ exports.JiraWebhookService = JiraWebhookService;
93
+ exports.JiraWebhookService = JiraWebhookService = JiraWebhookService_1 = __decorate([
94
+ (0, common_1.Injectable)(),
95
+ __metadata("design:paramtypes", [axios_1.HttpService,
96
+ jira_client_1.JiraClient,
97
+ core_1.AppLogger])
98
+ ], JiraWebhookService);
99
+ //# sourceMappingURL=jira-webhook.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-webhook.service.js","sourceRoot":"","sources":["../../src/services/jira-webhook.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { HttpService } from '@nestjs/axios';
2
+ import { AppLogger } from '@venturialstd/core';
3
+ import { JiraClient } from '../clients/jira.client';
4
+ import { CreateWorklogRequest, UpdateWorklogRequest } from '../types/jira.request.types';
5
+ import { AddWorklogParams, DeleteWorklogParams, GetWorklogsParams, UpdateWorklogParams } from '../types/jira-worklog.params.types';
6
+ import { JiraPageBean, JiraWorklog } from '../types/jira.types';
7
+ import { JiraConfig } from '../types/jira.config.type';
8
+ export declare class JiraWorklogService {
9
+ private readonly httpService;
10
+ private readonly jiraClient;
11
+ private readonly logger;
12
+ constructor(httpService: HttpService, jiraClient: JiraClient, logger: AppLogger);
13
+ /**
14
+ * Get worklogs for an issue
15
+ */
16
+ getWorklogs(config: JiraConfig | null, issueIdOrKey: string, params?: GetWorklogsParams): Promise<JiraPageBean<JiraWorklog>>;
17
+ /**
18
+ * Get a specific worklog
19
+ */
20
+ getWorklog(config: JiraConfig | null, issueIdOrKey: string, worklogId: string, expand?: string): Promise<JiraWorklog>;
21
+ /**
22
+ * Add a worklog to an issue
23
+ */
24
+ addWorklog(config: JiraConfig | null, issueIdOrKey: string, request: CreateWorklogRequest, params?: AddWorklogParams): Promise<JiraWorklog>;
25
+ /**
26
+ * Update a worklog
27
+ */
28
+ updateWorklog(config: JiraConfig | null, issueIdOrKey: string, worklogId: string, request: UpdateWorklogRequest, params?: UpdateWorklogParams): Promise<JiraWorklog>;
29
+ /**
30
+ * Delete a worklog
31
+ */
32
+ deleteWorklog(config: JiraConfig | null, issueIdOrKey: string, worklogId: string, params?: DeleteWorklogParams): Promise<void>;
33
+ }
34
+ //# sourceMappingURL=jira-worklog.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-worklog.service.d.ts","sourceRoot":"","sources":["../../src/services/jira-worklog.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACzF,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,qBACa,kBAAkB;IAE3B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS;IAKpC;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,iBAAiB,GACzB,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IAiBrC;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC;IAavB;;OAEG;IACG,UAAU,CACd,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,WAAW,CAAC;IAwCvB;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,oBAAoB,EAC7B,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC;IAwCvB;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC;CAiBjB"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var JiraWorklogService_1;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.JiraWorklogService = void 0;
14
+ const axios_1 = require("@nestjs/axios");
15
+ const common_1 = require("@nestjs/common");
16
+ const core_1 = require("@venturialstd/core");
17
+ const jira_client_1 = require("../clients/jira.client");
18
+ const http_method_constant_1 = require("../constants/http-method.constant");
19
+ const jira_constant_1 = require("../constants/jira.constant");
20
+ let JiraWorklogService = JiraWorklogService_1 = class JiraWorklogService {
21
+ httpService;
22
+ jiraClient;
23
+ logger;
24
+ constructor(httpService, jiraClient, logger) {
25
+ this.httpService = httpService;
26
+ this.jiraClient = jiraClient;
27
+ this.logger = logger;
28
+ this.logger.setContext(JiraWorklogService_1.name);
29
+ }
30
+ /**
31
+ * Get worklogs for an issue
32
+ */
33
+ async getWorklogs(config, issueIdOrKey, params) {
34
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/issue/${issueIdOrKey}/worklog`;
35
+ const queryParams = {};
36
+ if (params?.startAt !== undefined)
37
+ queryParams.startAt = params.startAt;
38
+ if (params?.maxResults !== undefined)
39
+ queryParams.maxResults = params.maxResults;
40
+ if (params?.expand)
41
+ queryParams.expand = params.expand;
42
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.GET, endpoint, config, undefined, Object.keys(queryParams).length > 0 ? queryParams : undefined);
43
+ }
44
+ /**
45
+ * Get a specific worklog
46
+ */
47
+ async getWorklog(config, issueIdOrKey, worklogId, expand) {
48
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/issue/${issueIdOrKey}/worklog/${worklogId}`;
49
+ const queryParams = expand ? { expand } : undefined;
50
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.GET, endpoint, config, undefined, queryParams);
51
+ }
52
+ /**
53
+ * Add a worklog to an issue
54
+ */
55
+ async addWorklog(config, issueIdOrKey, request, params) {
56
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/issue/${issueIdOrKey}/worklog`;
57
+ const queryParams = {};
58
+ // Use params if provided, otherwise use request values
59
+ if (params?.adjustEstimate) {
60
+ queryParams.adjustEstimate = params.adjustEstimate;
61
+ }
62
+ else if (request.adjustEstimate) {
63
+ queryParams.adjustEstimate = request.adjustEstimate;
64
+ }
65
+ if (params?.newEstimate) {
66
+ queryParams.newEstimate = params.newEstimate;
67
+ }
68
+ else if (request.newEstimate) {
69
+ queryParams.newEstimate = request.newEstimate;
70
+ }
71
+ if (params?.reduceBy) {
72
+ queryParams.reduceBy = params.reduceBy;
73
+ }
74
+ else if (request.reduceBy) {
75
+ queryParams.reduceBy = request.reduceBy;
76
+ }
77
+ if (params?.expand)
78
+ queryParams.expand = params.expand;
79
+ if (params?.overrideEditableFlag !== undefined) {
80
+ queryParams.overrideEditableFlag = params.overrideEditableFlag;
81
+ }
82
+ else if (request.overrideEditableFlag !== undefined) {
83
+ queryParams.overrideEditableFlag = request.overrideEditableFlag;
84
+ }
85
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.POST, endpoint, config, request, Object.keys(queryParams).length > 0 ? queryParams : undefined);
86
+ }
87
+ /**
88
+ * Update a worklog
89
+ */
90
+ async updateWorklog(config, issueIdOrKey, worklogId, request, params) {
91
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/issue/${issueIdOrKey}/worklog/${worklogId}`;
92
+ const queryParams = {};
93
+ // Use params if provided, otherwise use request values
94
+ if (params?.adjustEstimate) {
95
+ queryParams.adjustEstimate = params.adjustEstimate;
96
+ }
97
+ else if (request.adjustEstimate) {
98
+ queryParams.adjustEstimate = request.adjustEstimate;
99
+ }
100
+ if (params?.newEstimate) {
101
+ queryParams.newEstimate = params.newEstimate;
102
+ }
103
+ else if (request.newEstimate) {
104
+ queryParams.newEstimate = request.newEstimate;
105
+ }
106
+ if (params?.reduceBy) {
107
+ queryParams.reduceBy = params.reduceBy;
108
+ }
109
+ else if (request.reduceBy) {
110
+ queryParams.reduceBy = request.reduceBy;
111
+ }
112
+ if (params?.expand)
113
+ queryParams.expand = params.expand;
114
+ if (params?.overrideEditableFlag !== undefined) {
115
+ queryParams.overrideEditableFlag = params.overrideEditableFlag;
116
+ }
117
+ else if (request.overrideEditableFlag !== undefined) {
118
+ queryParams.overrideEditableFlag = request.overrideEditableFlag;
119
+ }
120
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.PUT, endpoint, config, request, Object.keys(queryParams).length > 0 ? queryParams : undefined);
121
+ }
122
+ /**
123
+ * Delete a worklog
124
+ */
125
+ async deleteWorklog(config, issueIdOrKey, worklogId, params) {
126
+ const endpoint = `${jira_constant_1.JIRA_API_PREFIX}/issue/${issueIdOrKey}/worklog/${worklogId}`;
127
+ const queryParams = {};
128
+ if (params?.adjustEstimate)
129
+ queryParams.adjustEstimate = params.adjustEstimate;
130
+ if (params?.newEstimate)
131
+ queryParams.newEstimate = params.newEstimate;
132
+ if (params?.increaseBy)
133
+ queryParams.increaseBy = params.increaseBy;
134
+ if (params?.overrideEditableFlag !== undefined)
135
+ queryParams.overrideEditableFlag = params.overrideEditableFlag;
136
+ return this.jiraClient.request(http_method_constant_1.HttpMethod.DELETE, endpoint, config, undefined, Object.keys(queryParams).length > 0 ? queryParams : undefined);
137
+ }
138
+ };
139
+ exports.JiraWorklogService = JiraWorklogService;
140
+ exports.JiraWorklogService = JiraWorklogService = JiraWorklogService_1 = __decorate([
141
+ (0, common_1.Injectable)(),
142
+ __metadata("design:paramtypes", [axios_1.HttpService,
143
+ jira_client_1.JiraClient,
144
+ core_1.AppLogger])
145
+ ], JiraWorklogService);
146
+ //# sourceMappingURL=jira-worklog.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-worklog.service.js","sourceRoot":"","sources":["../../src/services/jira-worklog.service.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import { Settings } from '@venturialstd/core';
2
2
  export declare const SETTINGS: Omit<Settings, 'id' | 'createdAt' | 'updatedAt'>[];
3
+ //# sourceMappingURL=jira-settings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-settings.d.ts","sourceRoot":"","sources":["../../src/settings/jira-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAiB,MAAM,oBAAoB,CAAC;AAE7D,eAAO,MAAM,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,EAyBtE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-settings.js","sourceRoot":"","sources":["../../src/settings/jira-settings.ts"],"names":[],"mappings":";;;AAAA,6CAA6D;AAEhD,QAAA,QAAQ,GAAuD;IAC1E;QACE,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,8BAA8B;QAC3C,IAAI,EAAE,oBAAa,CAAC,OAAO;QAC3B,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;KACb;IACD;QACE,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,SAAS;QAClB,GAAG,EAAE,iBAAiB;QACtB,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,oBAAa,CAAC,OAAO;QAC3B,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,CAAC;KACb;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ export interface GetCommentsParams {
2
+ startAt?: number;
3
+ maxResults?: number;
4
+ orderBy?: string;
5
+ expand?: string;
6
+ }
7
+ //# sourceMappingURL=jira-comment.params.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-comment.params.types.d.ts","sourceRoot":"","sources":["../../src/types/jira-comment.params.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=jira-comment.params.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-comment.params.types.js","sourceRoot":"","sources":["../../src/types/jira-comment.params.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Common types for Jira API
3
+ */
4
+ export type JiraQueryParamValue = string | number | boolean | string[] | undefined;
5
+ export type JiraQueryParams = Record<string, JiraQueryParamValue>;
6
+ export type JiraRequestBody = Record<string, unknown> | unknown[] | string | number | boolean | null | object;
7
+ export type JiraCustomFieldValue = string | number | boolean | null | undefined | Record<string, unknown> | unknown[] | object;
8
+ export interface JiraMetadata {
9
+ [key: string]: unknown;
10
+ }
11
+ export interface JiraFieldMetadata {
12
+ [key: string]: unknown;
13
+ }
14
+ export type JiraPropertyValue = string | number | boolean | null | Record<string, unknown> | unknown[];
15
+ export type JiraUpdateOperationValue = Array<{
16
+ add?: unknown;
17
+ set?: unknown;
18
+ remove?: unknown;
19
+ edit?: unknown;
20
+ }> | Array<{
21
+ add: {
22
+ body: unknown;
23
+ };
24
+ }> | Array<{
25
+ add: unknown;
26
+ }>;
27
+ export interface JiraTransitionField {
28
+ id: string;
29
+ name: string;
30
+ to: {
31
+ id: string;
32
+ name: string;
33
+ statusCategory?: {
34
+ id: number;
35
+ key: string;
36
+ colorName: string;
37
+ name: string;
38
+ };
39
+ };
40
+ fields?: Record<string, JiraFieldMetadata>;
41
+ }
42
+ export type JiraError = Error | {
43
+ message?: string;
44
+ response?: {
45
+ data?: unknown;
46
+ status?: number;
47
+ };
48
+ status?: number;
49
+ };
50
+ export type JiraRequestHeaders = Record<string, string>;
51
+ //# sourceMappingURL=jira-common.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-common.types.d.ts","sourceRoot":"","sources":["../../src/types/jira-common.types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAGnF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAGlE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAG9G,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;AAG/H,MAAM,WAAW,YAAY;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAGD,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC;AAGvG,MAAM,MAAM,wBAAwB,GAAG,KAAK,CAAC;IAC3C,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,CAAC,GAAG,KAAK,CAAC;IAAE,GAAG,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAGjE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE;QACF,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,CAAC,EAAE;YACf,EAAE,EAAE,MAAM,CAAC;YACX,GAAG,EAAE,MAAM,CAAC;YACZ,SAAS,EAAE,MAAM,CAAC;YAClB,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CAC5C;AAGD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAGtH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Common types for Jira API
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=jira-common.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-common.types.js","sourceRoot":"","sources":["../../src/types/jira-common.types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,5 @@
1
+ export interface JiraEvent {
2
+ id: number;
3
+ name: string;
4
+ }
5
+ //# sourceMappingURL=jira-event.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-event.types.d.ts","sourceRoot":"","sources":["../../src/types/jira-event.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=jira-event.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-event.types.js","sourceRoot":"","sources":["../../src/types/jira-event.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,42 @@
1
+ export interface GetIssueParams {
2
+ fields?: string[];
3
+ fieldsByKeys?: boolean;
4
+ expand?: string;
5
+ properties?: string[];
6
+ updateHistory?: boolean;
7
+ failFast?: boolean;
8
+ }
9
+ export interface EditIssueParams {
10
+ notifyUsers?: boolean;
11
+ overrideScreenSecurity?: boolean;
12
+ overrideEditableFlag?: boolean;
13
+ returnIssue?: boolean;
14
+ expand?: string;
15
+ }
16
+ export interface GetChangelogsParams {
17
+ startAt?: number;
18
+ maxResults?: number;
19
+ }
20
+ export interface GetTransitionsParams {
21
+ expand?: string;
22
+ transitionId?: string;
23
+ skipRemoteOnlyCondition?: boolean;
24
+ includeUnavailableTransitions?: boolean;
25
+ sortByOpsBarAndStatus?: boolean;
26
+ }
27
+ export interface GetCreateMetaParams {
28
+ projectIds?: string[];
29
+ projectKeys?: string[];
30
+ issuetypeIds?: string[];
31
+ issuetypeNames?: string[];
32
+ expand?: string;
33
+ }
34
+ export interface GetCreateMetaIssueTypesParams {
35
+ startAt?: number;
36
+ maxResults?: number;
37
+ }
38
+ export interface GetCreateMetaFieldsParams {
39
+ startAt?: number;
40
+ maxResults?: number;
41
+ }
42
+ //# sourceMappingURL=jira-issue.params.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-issue.params.types.d.ts","sourceRoot":"","sources":["../../src/types/jira-issue.params.types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=jira-issue.params.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-issue.params.types.js","sourceRoot":"","sources":["../../src/types/jira-issue.params.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,50 @@
1
+ import { JiraChangelog } from './jira.types';
2
+ import { JiraErrorCollection, JiraIssue } from './jira.types';
3
+ export interface CreateIssueResponse extends JiraIssue {
4
+ transition?: {
5
+ status: number;
6
+ errorCollection: JiraErrorCollection;
7
+ };
8
+ }
9
+ export interface BulkCreateIssuesResponse {
10
+ issues: JiraIssue[];
11
+ errors: JiraErrorCollection[];
12
+ }
13
+ export interface BulkFetchIssuesResponse {
14
+ issues: JiraIssue[];
15
+ issueErrors: JiraErrorCollection[];
16
+ expand?: string;
17
+ }
18
+ export interface ArchiveIssuesResponse {
19
+ numberOfIssuesUpdated: number;
20
+ errors?: Record<string, {
21
+ count: number;
22
+ issueIdsOrKeys: string[];
23
+ message: string;
24
+ }>;
25
+ }
26
+ export interface IssueLimitReportResponse {
27
+ limits: {
28
+ attachment: number;
29
+ comment: number;
30
+ issuelinks: number;
31
+ remoteIssueLinks: number;
32
+ worklog: number;
33
+ };
34
+ issuesBreachingLimit: Record<string, Record<string, number>>;
35
+ issuesApproachingLimit: Record<string, Record<string, number>>;
36
+ }
37
+ export interface BulkFetchChangelogsResponse {
38
+ issueChangeLogs: Array<{
39
+ issueId: string;
40
+ changeHistories: JiraChangelog[];
41
+ }>;
42
+ nextPageToken?: string;
43
+ }
44
+ export interface ExportArchivedIssuesResponse {
45
+ taskId: string;
46
+ status: string;
47
+ progress: number;
48
+ submittedTime: number;
49
+ }
50
+ //# sourceMappingURL=jira-issue.response.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-issue.response.types.d.ts","sourceRoot":"","sources":["../../src/types/jira-issue.response.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACpD,UAAU,CAAC,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,EAAE,mBAAmB,CAAC;KACtC,CAAC;CACH;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,mBAAmB,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;QACnB,gBAAgB,EAAE,MAAM,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7D,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAChE;AAED,MAAM,WAAW,2BAA2B;IAC1C,eAAe,EAAE,KAAK,CAAC;QACrB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,aAAa,EAAE,CAAC;KAClC,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=jira-issue.response.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-issue.response.types.js","sourceRoot":"","sources":["../../src/types/jira-issue.response.types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,92 @@
1
+ import { JiraFieldMetadata } from './jira-common.types';
2
+ import { JiraStatus } from './jira.types';
3
+ /**
4
+ * Edit issue metadata response
5
+ */
6
+ export interface JiraEditMeta {
7
+ fields: Record<string, {
8
+ required?: boolean;
9
+ schema?: {
10
+ type?: string;
11
+ items?: string;
12
+ system?: string;
13
+ custom?: string;
14
+ customId?: number;
15
+ };
16
+ name?: string;
17
+ key?: string;
18
+ autoCompleteUrl?: string;
19
+ hasDefaultValue?: boolean;
20
+ defaultValue?: unknown;
21
+ allowedValues?: unknown[];
22
+ operations?: string[];
23
+ }>;
24
+ }
25
+ /**
26
+ * Create issue metadata response
27
+ */
28
+ export interface JiraCreateMeta {
29
+ projects: Array<{
30
+ id: string;
31
+ key: string;
32
+ name: string;
33
+ avatarUrls?: Record<string, string>;
34
+ issuetypes: Array<{
35
+ id: string;
36
+ name: string;
37
+ description?: string;
38
+ iconUrl?: string;
39
+ subtask?: boolean;
40
+ fields?: Record<string, JiraFieldMetadata>;
41
+ }>;
42
+ }>;
43
+ }
44
+ /**
45
+ * Create meta issue type response
46
+ */
47
+ export interface JiraCreateMetaIssueType {
48
+ id: string;
49
+ name: string;
50
+ description?: string;
51
+ iconUrl?: string;
52
+ subtask?: boolean;
53
+ fields?: Record<string, JiraFieldMetadata>;
54
+ }
55
+ /**
56
+ * Create meta field response
57
+ */
58
+ export interface JiraCreateMetaField {
59
+ fieldId: string;
60
+ name: string;
61
+ key: string;
62
+ required?: boolean;
63
+ schema?: {
64
+ type?: string;
65
+ items?: string;
66
+ system?: string;
67
+ custom?: string;
68
+ customId?: number;
69
+ };
70
+ hasDefaultValue?: boolean;
71
+ defaultValue?: unknown;
72
+ allowedValues?: unknown[];
73
+ operations?: string[];
74
+ }
75
+ /**
76
+ * Transitions response
77
+ */
78
+ export interface JiraTransitionsResponse {
79
+ transitions: Array<{
80
+ id: string;
81
+ name: string;
82
+ to: JiraStatus;
83
+ hasScreen?: boolean;
84
+ isGlobal?: boolean;
85
+ isInitial?: boolean;
86
+ isAvailable?: boolean;
87
+ isConditional?: boolean;
88
+ isLooped?: boolean;
89
+ fields?: Record<string, JiraFieldMetadata>;
90
+ }>;
91
+ }
92
+ //# sourceMappingURL=jira-metadata.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jira-metadata.types.d.ts","sourceRoot":"","sources":["../../src/types/jira-metadata.types.ts"],"names":[],"mappings":"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"}