@venturialstd/jira 0.1.22 → 0.1.24
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.
- package/dist/jira/clients/jira.client.d.ts +2 -2
- package/dist/jira/clients/jira.client.js +3 -12
- package/dist/jira/clients/jira.client.js.map +1 -1
- package/dist/jira/constants/jira.constants.d.ts +1 -0
- package/dist/jira/constants/jira.constants.js +1 -0
- package/dist/jira/constants/jira.constants.js.map +1 -1
- package/dist/jira/services/jira-issue.service.d.ts +2 -1
- package/dist/jira/services/jira-issue.service.js.map +1 -1
- package/dist/jira/tsconfig.build.tsbuildinfo +1 -1
- package/dist/jira/types/jira.event.type.d.ts +22 -0
- package/dist/jira/types/{slack.event.type.js → jira.event.type.js} +1 -1
- package/dist/jira/types/jira.event.type.js.map +1 -0
- package/package.json +1 -1
- package/dist/jira/types/slack.event.type.d.ts +0 -20
- package/dist/jira/types/slack.event.type.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { AppLogger, SettingsService } from '@venturialstd/core';
|
|
2
|
+
import { JiraComments } from '../types/jira.event.type';
|
|
2
3
|
export declare class JiraClient {
|
|
3
4
|
private logger;
|
|
4
5
|
private settingsService;
|
|
5
6
|
private apiClient;
|
|
6
|
-
private readonly user;
|
|
7
7
|
constructor(logger: AppLogger, settingsService: SettingsService);
|
|
8
8
|
private initializeClient;
|
|
9
9
|
getTicketInformation(ticketId: string): Promise<{
|
|
10
10
|
description: string;
|
|
11
|
-
comments:
|
|
11
|
+
comments: JiraComments[];
|
|
12
12
|
}>;
|
|
13
13
|
}
|
|
@@ -22,15 +22,15 @@ let JiraClient = JiraClient_1 = class JiraClient {
|
|
|
22
22
|
logger;
|
|
23
23
|
settingsService;
|
|
24
24
|
apiClient;
|
|
25
|
-
user = 'aaron.mendoza@venturial.io';
|
|
26
25
|
constructor(logger, settingsService) {
|
|
27
26
|
this.logger = logger;
|
|
28
27
|
this.settingsService = settingsService;
|
|
29
28
|
this.logger.setContext(JiraClient_1.name);
|
|
30
29
|
}
|
|
31
30
|
async initializeClient() {
|
|
32
|
-
const jiraToken = this.settingsService.get(jira_constants_1.JIRA_SETTING_KEYS.CREDENTIALS_JIRA_TOKEN);
|
|
33
|
-
const
|
|
31
|
+
const jiraToken = await this.settingsService.get(jira_constants_1.JIRA_SETTING_KEYS.CREDENTIALS_JIRA_TOKEN);
|
|
32
|
+
const jiraUser = await this.settingsService.get(jira_constants_1.JIRA_SETTING_KEYS.CREDENTIALS_JIRA_USER);
|
|
33
|
+
const jiraAuth = Buffer.from(`${jiraUser}:${jiraToken}`).toString('base64');
|
|
34
34
|
if (!jiraToken || !jiraAuth) {
|
|
35
35
|
throw new Error('Jira token not configured or jiraAuth failed');
|
|
36
36
|
}
|
|
@@ -46,16 +46,7 @@ let JiraClient = JiraClient_1 = class JiraClient {
|
|
|
46
46
|
async getTicketInformation(ticketId) {
|
|
47
47
|
try {
|
|
48
48
|
await this.initializeClient();
|
|
49
|
-
this.logger.log(`API Client Base URL: ${this.apiClient.defaults.baseURL}`);
|
|
50
|
-
this.logger.log(`API Client Headers: ${JSON.stringify(this.apiClient.defaults.headers, null, 2)}`);
|
|
51
|
-
const jiraToken = await this.settingsService.get(jira_constants_1.JIRA_SETTING_KEYS.CREDENTIALS_JIRA_TOKEN);
|
|
52
|
-
this.logger.log(`Jira Token: ${jiraToken ? '***' + jiraToken.slice(-4) : 'NOT FOUND'}`);
|
|
53
|
-
const jiraAuth = Buffer.from(`${this.user}:${jiraToken}`).toString('base64');
|
|
54
|
-
this.logger.log(`Jira Auth (Base64): ${jiraAuth}`);
|
|
55
|
-
this.logger.log(`Fetching ticket: ${ticketId}`);
|
|
56
49
|
const ticketResponse = await this.apiClient.get(`issue/${ticketId}`);
|
|
57
|
-
this.logger.log(`Response Status: ${ticketResponse.status}`);
|
|
58
|
-
this.logger.log(`Response Headers: ${JSON.stringify(ticketResponse.headers, null, 2)}`);
|
|
59
50
|
const ticketData = ticketResponse.data;
|
|
60
51
|
const description = ticketData.fields.description || 'No description available';
|
|
61
52
|
const commentsResponse = await this.apiClient.get(`issue/${ticketId}/comment`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira.client.js","sourceRoot":"","sources":["../../../clients/jira.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAgE;AAChE,kDAA6C;AAE7C,gEAAgE;
|
|
1
|
+
{"version":3,"file":"jira.client.js","sourceRoot":"","sources":["../../../clients/jira.client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAAgE;AAChE,kDAA6C;AAE7C,gEAAgE;AAIzD,IAAM,UAAU,kBAAhB,MAAM,UAAU;IAGX;IACA;IAHF,SAAS,CAAgB;IACjC,YACU,MAAiB,EACjB,eAAgC;QADhC,WAAM,GAAN,MAAM,CAAW;QACjB,oBAAe,GAAf,eAAe,CAAiB;QAExC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kCAAiB,CAAC,sBAAsB,CAAC,CAAC;QAC3F,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kCAAiB,CAAC,qBAAqB,CAAC,CAAC;QAEzF,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,eAAK,CAAC,MAAM,CAAC;YAC5B,OAAO,EAAE,gDAAgD;YACzD,OAAO,EAAE;gBACP,aAAa,EAAE,SAAS,QAAQ,EAAE;gBAClC,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,KAAK;aACd;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,QAAgB;QAEhB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE9B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;YACrE,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;YAEvC,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,0BAA0B,CAAC;YAEhF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,QAAQ,UAAU,CAAC,CAAC;YAC/E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YAEtD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,QAAQ,uBAAuB,CAAC,CAAC;YAC3D,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,QAAQ,EAAE,EAAE,KAAc,CAAC,CAAC;YACvE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AAjDY,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;qCAIO,gBAAS;QACA,sBAAe;GAJ/B,UAAU,CAiDtB","sourcesContent":["import { Injectable } from '@nestjs/common';\r\nimport { AppLogger, SettingsService } from '@venturialstd/core';\r\nimport axios, { AxiosInstance } from 'axios';\r\n\r\nimport { JIRA_SETTING_KEYS } from '../constants/jira.constants';\r\nimport { JiraComments } from '../types/jira.event.type';\r\n\r\n@Injectable()\r\nexport class JiraClient {\r\n private apiClient: AxiosInstance;\r\n constructor(\r\n private logger: AppLogger,\r\n private settingsService: SettingsService,\r\n ) {\r\n this.logger.setContext(JiraClient.name);\r\n }\r\n\r\n private async initializeClient(): Promise<void> {\r\n const jiraToken = await this.settingsService.get(JIRA_SETTING_KEYS.CREDENTIALS_JIRA_TOKEN);\r\n const jiraUser = await this.settingsService.get(JIRA_SETTING_KEYS.CREDENTIALS_JIRA_USER);\r\n\r\n const jiraAuth = Buffer.from(`${jiraUser}:${jiraToken}`).toString('base64');\r\n if (!jiraToken || !jiraAuth) {\r\n throw new Error('Jira token not configured or jiraAuth failed');\r\n }\r\n\r\n this.apiClient = axios.create({\r\n baseURL: 'https://venturial-io.atlassian.net/rest/api/3/',\r\n headers: {\r\n Authorization: `Basic ${jiraAuth}`,\r\n 'Content-Type': 'application/json',\r\n Accept: '*/*',\r\n },\r\n });\r\n }\r\n\r\n async getTicketInformation(\r\n ticketId: string,\r\n ): Promise<{ description: string; comments: JiraComments[] }> {\r\n try {\r\n await this.initializeClient();\r\n\r\n const ticketResponse = await this.apiClient.get(`issue/${ticketId}`);\r\n const ticketData = ticketResponse.data;\r\n\r\n const description = ticketData.fields.description || 'No description available';\r\n\r\n const commentsResponse = await this.apiClient.get(`issue/${ticketId}/comment`);\r\n const comments = commentsResponse.data.comments || [];\r\n\r\n this.logger.log(`Ticket ${ticketId} fetched successfully`);\r\n return { description, comments };\r\n } catch (error) {\r\n this.logger.error(`Error fetching ticket ${ticketId}`, error as Error);\r\n throw error;\r\n }\r\n }\r\n}\r\n"]}
|
|
@@ -3,5 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.JIRA_SETTING_KEYS = void 0;
|
|
4
4
|
exports.JIRA_SETTING_KEYS = {
|
|
5
5
|
CREDENTIALS_JIRA_TOKEN: 'GLOBAL:JIRA:GENERAL:JIRA_API_TOKEN',
|
|
6
|
+
CREDENTIALS_JIRA_USER: "GLOBAL:JIRA:GENERAL:JIRA_USER_EMAIL',",
|
|
6
7
|
};
|
|
7
8
|
//# sourceMappingURL=jira.constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira.constants.js","sourceRoot":"","sources":["../../../constants/jira.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC/B,sBAAsB,EAAE,oCAAoC;
|
|
1
|
+
{"version":3,"file":"jira.constants.js","sourceRoot":"","sources":["../../../constants/jira.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;IAC/B,sBAAsB,EAAE,oCAAoC;IAC5D,qBAAqB,EAAE,uCAAuC;CAC/D,CAAC","sourcesContent":["export const JIRA_SETTING_KEYS = {\r\n CREDENTIALS_JIRA_TOKEN: 'GLOBAL:JIRA:GENERAL:JIRA_API_TOKEN',\r\n CREDENTIALS_JIRA_USER: \"GLOBAL:JIRA:GENERAL:JIRA_USER_EMAIL',\",\r\n};\r\n"]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { AppLogger } from '@venturialstd/core';
|
|
2
2
|
import { JiraClient } from '../clients/jira.client';
|
|
3
|
+
import { JiraComments } from '../types/jira.event.type';
|
|
3
4
|
export declare class JiraIssueService {
|
|
4
5
|
private readonly jiraClient;
|
|
5
6
|
private logger;
|
|
6
7
|
constructor(jiraClient: JiraClient, logger: AppLogger);
|
|
7
8
|
getTicketInformation(ticketId: string): Promise<{
|
|
8
9
|
description: string;
|
|
9
|
-
comments:
|
|
10
|
+
comments: JiraComments[];
|
|
10
11
|
}>;
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jira-issue.service.js","sourceRoot":"","sources":["../../../services/jira-issue.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAA+C;AAE/C,wDAAoD;
|
|
1
|
+
{"version":3,"file":"jira-issue.service.js","sourceRoot":"","sources":["../../../services/jira-issue.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,2CAA4C;AAC5C,6CAA+C;AAE/C,wDAAoD;AAI7C,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAER;IACT;IAFV,YACmB,UAAsB,EAC/B,MAAiB;QADR,eAAU,GAAV,UAAU,CAAY;QAC/B,WAAM,GAAN,MAAM,CAAW;QAEzB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,QAAgB;QAEhB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,QAAQ,EAAE,CAAC,CAAC;YAC/D,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,QAAQ,EAAE,EAAE,KAAc,CAAC,CAAC;YACvF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AAnBY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;qCAGoB,wBAAU;QACvB,gBAAS;GAHhB,gBAAgB,CAmB5B","sourcesContent":["import { Injectable } from '@nestjs/common';\r\nimport { AppLogger } from '@venturialstd/core';\r\n\r\nimport { JiraClient } from '../clients/jira.client';\r\nimport { JiraComments } from '../types/jira.event.type';\r\n\r\n@Injectable()\r\nexport class JiraIssueService {\r\n constructor(\r\n private readonly jiraClient: JiraClient,\r\n private logger: AppLogger,\r\n ) {\r\n this.logger.setContext(JiraIssueService.name);\r\n }\r\n\r\n async getTicketInformation(\r\n ticketId: string,\r\n ): Promise<{ description: string; comments: JiraComments[] }> {\r\n try {\r\n this.logger.log(`Fetching ticket information for ${ticketId}`);\r\n return await this.jiraClient.getTicketInformation(ticketId);\r\n } catch (error) {\r\n this.logger.error(`Error fetching ticket information for ${ticketId}`, error as Error);\r\n throw error;\r\n }\r\n }\r\n}\r\n"]}
|