@structured-world/gitlab-mcp 4.0.0
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/LICENSE +21 -0
- package/README.md +486 -0
- package/dist/config.d.ts +31 -0
- package/dist/config.js +115 -0
- package/dist/config.js.map +1 -0
- package/dist/entities/core/index.d.ts +7 -0
- package/dist/entities/core/index.js +31 -0
- package/dist/entities/core/index.js.map +1 -0
- package/dist/entities/core/registry.d.ts +5 -0
- package/dist/entities/core/registry.js +584 -0
- package/dist/entities/core/registry.js.map +1 -0
- package/dist/entities/core/schema-readonly.d.ts +302 -0
- package/dist/entities/core/schema-readonly.js +364 -0
- package/dist/entities/core/schema-readonly.js.map +1 -0
- package/dist/entities/core/schema.d.ts +87 -0
- package/dist/entities/core/schema.js +143 -0
- package/dist/entities/core/schema.js.map +1 -0
- package/dist/entities/files/index.d.ts +7 -0
- package/dist/entities/files/index.js +31 -0
- package/dist/entities/files/index.js.map +1 -0
- package/dist/entities/files/registry.d.ts +5 -0
- package/dist/entities/files/registry.js +199 -0
- package/dist/entities/files/registry.js.map +1 -0
- package/dist/entities/files/schema-readonly.d.ts +78 -0
- package/dist/entities/files/schema-readonly.js +50 -0
- package/dist/entities/files/schema-readonly.js.map +1 -0
- package/dist/entities/files/schema.d.ts +42 -0
- package/dist/entities/files/schema.js +38 -0
- package/dist/entities/files/schema.js.map +1 -0
- package/dist/entities/index.d.ts +10 -0
- package/dist/entities/index.js +27 -0
- package/dist/entities/index.js.map +1 -0
- package/dist/entities/labels/index.d.ts +7 -0
- package/dist/entities/labels/index.js +31 -0
- package/dist/entities/labels/index.js.map +1 -0
- package/dist/entities/labels/registry.d.ts +5 -0
- package/dist/entities/labels/registry.js +186 -0
- package/dist/entities/labels/registry.js.map +1 -0
- package/dist/entities/labels/schema-readonly.d.ts +16 -0
- package/dist/entities/labels/schema-readonly.js +29 -0
- package/dist/entities/labels/schema-readonly.js.map +1 -0
- package/dist/entities/labels/schema.d.ts +26 -0
- package/dist/entities/labels/schema.js +50 -0
- package/dist/entities/labels/schema.js.map +1 -0
- package/dist/entities/milestones/index.d.ts +7 -0
- package/dist/entities/milestones/index.js +31 -0
- package/dist/entities/milestones/index.js.map +1 -0
- package/dist/entities/milestones/registry.d.ts +5 -0
- package/dist/entities/milestones/registry.js +316 -0
- package/dist/entities/milestones/registry.js.map +1 -0
- package/dist/entities/milestones/schema-readonly.d.ts +63 -0
- package/dist/entities/milestones/schema-readonly.js +68 -0
- package/dist/entities/milestones/schema-readonly.js.map +1 -0
- package/dist/entities/milestones/schema.d.ts +36 -0
- package/dist/entities/milestones/schema.js +52 -0
- package/dist/entities/milestones/schema.js.map +1 -0
- package/dist/entities/mrs/index.d.ts +7 -0
- package/dist/entities/mrs/index.js +31 -0
- package/dist/entities/mrs/index.js.map +1 -0
- package/dist/entities/mrs/registry.d.ts +5 -0
- package/dist/entities/mrs/registry.js +629 -0
- package/dist/entities/mrs/registry.js.map +1 -0
- package/dist/entities/mrs/schema-readonly.d.ts +127 -0
- package/dist/entities/mrs/schema-readonly.js +213 -0
- package/dist/entities/mrs/schema-readonly.js.map +1 -0
- package/dist/entities/mrs/schema.d.ts +285 -0
- package/dist/entities/mrs/schema.js +161 -0
- package/dist/entities/mrs/schema.js.map +1 -0
- package/dist/entities/pipelines/index.d.ts +7 -0
- package/dist/entities/pipelines/index.js +31 -0
- package/dist/entities/pipelines/index.js.map +1 -0
- package/dist/entities/pipelines/registry.d.ts +5 -0
- package/dist/entities/pipelines/registry.js +369 -0
- package/dist/entities/pipelines/registry.js.map +1 -0
- package/dist/entities/pipelines/schema-readonly.d.ts +238 -0
- package/dist/entities/pipelines/schema-readonly.js +257 -0
- package/dist/entities/pipelines/schema-readonly.js.map +1 -0
- package/dist/entities/pipelines/schema.d.ts +49 -0
- package/dist/entities/pipelines/schema.js +44 -0
- package/dist/entities/pipelines/schema.js.map +1 -0
- package/dist/entities/shared.d.ts +291 -0
- package/dist/entities/shared.js +277 -0
- package/dist/entities/shared.js.map +1 -0
- package/dist/entities/utils.d.ts +3 -0
- package/dist/entities/utils.js +22 -0
- package/dist/entities/utils.js.map +1 -0
- package/dist/entities/variables/index.d.ts +7 -0
- package/dist/entities/variables/index.js +31 -0
- package/dist/entities/variables/index.js.map +1 -0
- package/dist/entities/variables/registry.d.ts +5 -0
- package/dist/entities/variables/registry.js +192 -0
- package/dist/entities/variables/registry.js.map +1 -0
- package/dist/entities/variables/schema-readonly.d.ts +17 -0
- package/dist/entities/variables/schema-readonly.js +35 -0
- package/dist/entities/variables/schema-readonly.js.map +1 -0
- package/dist/entities/variables/schema.d.ts +45 -0
- package/dist/entities/variables/schema.js +127 -0
- package/dist/entities/variables/schema.js.map +1 -0
- package/dist/entities/wiki/index.d.ts +7 -0
- package/dist/entities/wiki/index.js +31 -0
- package/dist/entities/wiki/index.js.map +1 -0
- package/dist/entities/wiki/registry.d.ts +5 -0
- package/dist/entities/wiki/registry.js +195 -0
- package/dist/entities/wiki/registry.js.map +1 -0
- package/dist/entities/wiki/schema-readonly.d.ts +24 -0
- package/dist/entities/wiki/schema-readonly.js +34 -0
- package/dist/entities/wiki/schema-readonly.js.map +1 -0
- package/dist/entities/wiki/schema.d.ts +24 -0
- package/dist/entities/wiki/schema.js +37 -0
- package/dist/entities/wiki/schema.js.map +1 -0
- package/dist/entities/workitems/index.d.ts +7 -0
- package/dist/entities/workitems/index.js +31 -0
- package/dist/entities/workitems/index.js.map +1 -0
- package/dist/entities/workitems/registry.d.ts +5 -0
- package/dist/entities/workitems/registry.js +183 -0
- package/dist/entities/workitems/registry.js.map +1 -0
- package/dist/entities/workitems/schema-readonly.d.ts +46 -0
- package/dist/entities/workitems/schema-readonly.js +38 -0
- package/dist/entities/workitems/schema-readonly.js.map +1 -0
- package/dist/entities/workitems/schema.d.ts +37 -0
- package/dist/entities/workitems/schema.js +29 -0
- package/dist/entities/workitems/schema.js.map +1 -0
- package/dist/graphql/DynamicWorkItemsQuery.d.ts +56 -0
- package/dist/graphql/DynamicWorkItemsQuery.js +190 -0
- package/dist/graphql/DynamicWorkItemsQuery.js.map +1 -0
- package/dist/graphql/client.d.ts +15 -0
- package/dist/graphql/client.js +50 -0
- package/dist/graphql/client.js.map +1 -0
- package/dist/graphql/index.d.ts +2 -0
- package/dist/graphql/index.js +21 -0
- package/dist/graphql/index.js.map +1 -0
- package/dist/graphql/workItems.d.ts +430 -0
- package/dist/graphql/workItems.js +559 -0
- package/dist/graphql/workItems.js.map +1 -0
- package/dist/handlers.d.ts +2 -0
- package/dist/handlers.js +132 -0
- package/dist/handlers.js.map +1 -0
- package/dist/http-client.d.ts +1 -0
- package/dist/http-client.js +13 -0
- package/dist/http-client.js.map +1 -0
- package/dist/logger.d.ts +2 -0
- package/dist/logger.js +21 -0
- package/dist/logger.js.map +1 -0
- package/dist/main.d.ts +2 -0
- package/dist/main.js +10 -0
- package/dist/main.js.map +1 -0
- package/dist/registry-manager.d.ts +25 -0
- package/dist/registry-manager.js +176 -0
- package/dist/registry-manager.js.map +1 -0
- package/dist/server.d.ts +25 -0
- package/dist/server.js +129 -0
- package/dist/server.js.map +1 -0
- package/dist/services/ConnectionManager.d.ts +27 -0
- package/dist/services/ConnectionManager.js +144 -0
- package/dist/services/ConnectionManager.js.map +1 -0
- package/dist/services/GitLabVersionDetector.d.ts +53 -0
- package/dist/services/GitLabVersionDetector.js +216 -0
- package/dist/services/GitLabVersionDetector.js.map +1 -0
- package/dist/services/SchemaIntrospector.d.ts +39 -0
- package/dist/services/SchemaIntrospector.js +188 -0
- package/dist/services/SchemaIntrospector.js.map +1 -0
- package/dist/services/ToolAvailability.d.ts +18 -0
- package/dist/services/ToolAvailability.js +373 -0
- package/dist/services/ToolAvailability.js.map +1 -0
- package/dist/services/WidgetAvailability.d.ts +14 -0
- package/dist/services/WidgetAvailability.js +84 -0
- package/dist/services/WidgetAvailability.js.map +1 -0
- package/dist/structured-world-gitlab-mcp-4.0.0.tgz +0 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/types.d.ts +21 -0
- package/dist/types.js +10 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/fetch.d.ts +9 -0
- package/dist/utils/fetch.js +164 -0
- package/dist/utils/fetch.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphQLClient = void 0;
|
|
4
|
+
const graphql_1 = require("graphql");
|
|
5
|
+
const http_client_1 = require("../http-client");
|
|
6
|
+
const fetch_1 = require("../utils/fetch");
|
|
7
|
+
class GraphQLClient {
|
|
8
|
+
endpoint;
|
|
9
|
+
defaultHeaders;
|
|
10
|
+
constructor(endpoint, options) {
|
|
11
|
+
this.endpoint = endpoint;
|
|
12
|
+
this.defaultHeaders = options?.headers ?? {};
|
|
13
|
+
}
|
|
14
|
+
async request(document, variables, requestHeaders) {
|
|
15
|
+
const query = (0, graphql_1.print)(document);
|
|
16
|
+
const headers = {
|
|
17
|
+
'Content-Type': 'application/json',
|
|
18
|
+
...http_client_1.DEFAULT_HEADERS,
|
|
19
|
+
...this.defaultHeaders,
|
|
20
|
+
...requestHeaders,
|
|
21
|
+
};
|
|
22
|
+
const response = await (0, fetch_1.enhancedFetch)(this.endpoint, {
|
|
23
|
+
method: 'POST',
|
|
24
|
+
headers,
|
|
25
|
+
body: JSON.stringify({
|
|
26
|
+
query,
|
|
27
|
+
variables: variables ?? {},
|
|
28
|
+
}),
|
|
29
|
+
});
|
|
30
|
+
if (!response.ok) {
|
|
31
|
+
throw new Error(`GraphQL request failed: ${response.status} ${response.statusText}`);
|
|
32
|
+
}
|
|
33
|
+
const result = (await response.json());
|
|
34
|
+
if (result.errors) {
|
|
35
|
+
throw new Error(`GraphQL errors: ${result.errors.map((e) => e.message).join(', ')}`);
|
|
36
|
+
}
|
|
37
|
+
if (!result.data) {
|
|
38
|
+
throw new Error('GraphQL request returned no data');
|
|
39
|
+
}
|
|
40
|
+
return result.data;
|
|
41
|
+
}
|
|
42
|
+
setHeaders(headers) {
|
|
43
|
+
this.defaultHeaders = { ...this.defaultHeaders, ...headers };
|
|
44
|
+
}
|
|
45
|
+
setAuthToken(token) {
|
|
46
|
+
this.setHeaders({ Authorization: `Bearer ${token}` });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.GraphQLClient = GraphQLClient;
|
|
50
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/graphql/client.ts"],"names":[],"mappings":";;;AAAA,qCAAiD;AAEjD,gDAAiD;AACjD,0CAA+C;AAO/C,MAAa,aAAa;IACR,QAAQ,CAAS;IACzB,cAAc,CAAyB;IAE/C,YAAY,QAAgB,EAAE,OAA8C;QAC1E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgD,EAChD,SAAsB,EACtB,cAAuC;QAEvC,MAAM,KAAK,GAAG,IAAA,eAAK,EAAC,QAAQ,CAAC,CAAC;QAG9B,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;YAClC,GAAG,6BAAe;YAClB,GAAG,IAAI,CAAC,cAAc;YACtB,GAAG,cAAc;SAClB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,QAAQ,EAAE;YAClD,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK;gBACL,SAAS,EAAE,SAAS,IAAI,EAAE;aAC3B,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,MAAM,MAAM,GAA6B,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA6B,CAAC;QAE7F,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,UAAU,CAAC,OAA+B;QACxC,IAAI,CAAC,cAAc,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;IAC/D,CAAC;IAED,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;CACF;AAzDD,sCAyDC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.GraphQLClient = void 0;
|
|
18
|
+
var client_1 = require("./client");
|
|
19
|
+
Object.defineProperty(exports, "GraphQLClient", { enumerable: true, get: function () { return client_1.GraphQLClient; } });
|
|
20
|
+
__exportStar(require("./workItems"), exports);
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/graphql/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AACtB,8CAA4B"}
|
|
@@ -0,0 +1,430 @@
|
|
|
1
|
+
import { TypedDocumentNode } from '@graphql-typed-document-node/core';
|
|
2
|
+
export interface WorkItem {
|
|
3
|
+
id: string;
|
|
4
|
+
iid: string;
|
|
5
|
+
title: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
state: WorkItemState;
|
|
8
|
+
workItemType: {
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
};
|
|
12
|
+
widgets: WorkItemWidget[];
|
|
13
|
+
createdAt: string;
|
|
14
|
+
updatedAt: string;
|
|
15
|
+
closedAt?: string;
|
|
16
|
+
webUrl: string;
|
|
17
|
+
}
|
|
18
|
+
export interface WorkItemUpdateInput {
|
|
19
|
+
id: string;
|
|
20
|
+
title?: string;
|
|
21
|
+
stateEvent?: string;
|
|
22
|
+
descriptionWidget?: {
|
|
23
|
+
description: string;
|
|
24
|
+
};
|
|
25
|
+
assigneesWidget?: {
|
|
26
|
+
assigneeIds: string[];
|
|
27
|
+
};
|
|
28
|
+
labelsWidget?: {
|
|
29
|
+
addLabelIds: string[];
|
|
30
|
+
};
|
|
31
|
+
milestoneWidget?: {
|
|
32
|
+
milestoneId: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
export type WorkItemState = 'OPEN' | 'CLOSED';
|
|
36
|
+
export type WorkItemTypeEnum = 'EPIC' | 'ISSUE' | 'TASK' | 'INCIDENT' | 'TEST_CASE' | 'REQUIREMENT' | 'OBJECTIVE' | 'KEY_RESULT';
|
|
37
|
+
export declare const WorkItemWidgetTypes: {
|
|
38
|
+
readonly ASSIGNEES: "ASSIGNEES";
|
|
39
|
+
readonly DESCRIPTION: "DESCRIPTION";
|
|
40
|
+
readonly HIERARCHY: "HIERARCHY";
|
|
41
|
+
readonly LABELS: "LABELS";
|
|
42
|
+
readonly MILESTONE: "MILESTONE";
|
|
43
|
+
readonly NOTES: "NOTES";
|
|
44
|
+
readonly START_AND_DUE_DATE: "START_AND_DUE_DATE";
|
|
45
|
+
readonly HEALTH_STATUS: "HEALTH_STATUS";
|
|
46
|
+
readonly WEIGHT: "WEIGHT";
|
|
47
|
+
readonly ITERATION: "ITERATION";
|
|
48
|
+
readonly PROGRESS: "PROGRESS";
|
|
49
|
+
readonly STATUS: "STATUS";
|
|
50
|
+
readonly REQUIREMENT_LEGACY: "REQUIREMENT_LEGACY";
|
|
51
|
+
readonly TEST_REPORTS: "TEST_REPORTS";
|
|
52
|
+
readonly NOTIFICATIONS: "NOTIFICATIONS";
|
|
53
|
+
readonly CURRENT_USER_TODOS: "CURRENT_USER_TODOS";
|
|
54
|
+
readonly AWARD_EMOJI: "AWARD_EMOJI";
|
|
55
|
+
readonly LINKED_ITEMS: "LINKED_ITEMS";
|
|
56
|
+
readonly COLOR: "COLOR";
|
|
57
|
+
readonly PARTICIPANTS: "PARTICIPANTS";
|
|
58
|
+
readonly DESIGNS: "DESIGNS";
|
|
59
|
+
readonly DEVELOPMENT: "DEVELOPMENT";
|
|
60
|
+
readonly CRM_CONTACTS: "CRM_CONTACTS";
|
|
61
|
+
readonly TIME_TRACKING: "TIME_TRACKING";
|
|
62
|
+
readonly EMAIL_PARTICIPANTS: "EMAIL_PARTICIPANTS";
|
|
63
|
+
readonly CUSTOM_FIELDS: "CUSTOM_FIELDS";
|
|
64
|
+
readonly ERROR_TRACKING: "ERROR_TRACKING";
|
|
65
|
+
readonly LINKED_RESOURCES: "LINKED_RESOURCES";
|
|
66
|
+
readonly VULNERABILITIES: "VULNERABILITIES";
|
|
67
|
+
};
|
|
68
|
+
export type WorkItemWidgetType = (typeof WorkItemWidgetTypes)[keyof typeof WorkItemWidgetTypes];
|
|
69
|
+
export interface WorkItemWidget {
|
|
70
|
+
type: WorkItemWidgetType;
|
|
71
|
+
}
|
|
72
|
+
export interface WorkItemAssigneesWidget extends WorkItemWidget {
|
|
73
|
+
type: 'ASSIGNEES';
|
|
74
|
+
allowsMultipleAssignees: boolean;
|
|
75
|
+
canInviteMembers: boolean;
|
|
76
|
+
assignees: {
|
|
77
|
+
nodes: User[];
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
export interface WorkItemDescriptionWidget extends WorkItemWidget {
|
|
81
|
+
type: 'DESCRIPTION';
|
|
82
|
+
description: string;
|
|
83
|
+
descriptionHtml: string;
|
|
84
|
+
edited: boolean;
|
|
85
|
+
lastEditedAt?: string;
|
|
86
|
+
lastEditedBy?: User;
|
|
87
|
+
}
|
|
88
|
+
export interface WorkItemHierarchyWidget extends WorkItemWidget {
|
|
89
|
+
type: 'HIERARCHY';
|
|
90
|
+
parent?: WorkItem;
|
|
91
|
+
children: {
|
|
92
|
+
nodes: WorkItem[];
|
|
93
|
+
};
|
|
94
|
+
hasChildren: boolean;
|
|
95
|
+
}
|
|
96
|
+
export interface WorkItemLabelsWidget extends WorkItemWidget {
|
|
97
|
+
type: 'LABELS';
|
|
98
|
+
allowsScopedLabels: boolean;
|
|
99
|
+
labels: {
|
|
100
|
+
nodes: Label[];
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
export interface User {
|
|
104
|
+
id: string;
|
|
105
|
+
username: string;
|
|
106
|
+
name: string;
|
|
107
|
+
avatarUrl?: string;
|
|
108
|
+
webUrl: string;
|
|
109
|
+
}
|
|
110
|
+
export interface Label {
|
|
111
|
+
id: string;
|
|
112
|
+
title: string;
|
|
113
|
+
description?: string;
|
|
114
|
+
color: string;
|
|
115
|
+
textColor: string;
|
|
116
|
+
}
|
|
117
|
+
export interface Milestone {
|
|
118
|
+
id: string;
|
|
119
|
+
title: string;
|
|
120
|
+
description?: string;
|
|
121
|
+
state: MilestoneStateEnum;
|
|
122
|
+
dueDate?: string;
|
|
123
|
+
startDate?: string;
|
|
124
|
+
webUrl: string;
|
|
125
|
+
}
|
|
126
|
+
export type MilestoneStateEnum = 'active' | 'closed';
|
|
127
|
+
export interface WorkItemMilestoneWidget extends WorkItemWidget {
|
|
128
|
+
type: 'MILESTONE';
|
|
129
|
+
milestone?: Milestone;
|
|
130
|
+
}
|
|
131
|
+
export interface WorkItemNotesWidget extends WorkItemWidget {
|
|
132
|
+
type: 'NOTES';
|
|
133
|
+
discussions: {
|
|
134
|
+
nodes: Discussion[];
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
export interface WorkItemStartAndDueDateWidget extends WorkItemWidget {
|
|
138
|
+
type: 'START_AND_DUE_DATE';
|
|
139
|
+
startDate?: string;
|
|
140
|
+
dueDate?: string;
|
|
141
|
+
isFixed: boolean;
|
|
142
|
+
}
|
|
143
|
+
export interface WorkItemHealthStatusWidget extends WorkItemWidget {
|
|
144
|
+
type: 'HEALTH_STATUS';
|
|
145
|
+
healthStatus?: HealthStatusEnum;
|
|
146
|
+
}
|
|
147
|
+
export interface WorkItemWeightWidget extends WorkItemWidget {
|
|
148
|
+
type: 'WEIGHT';
|
|
149
|
+
weight?: number;
|
|
150
|
+
}
|
|
151
|
+
export interface WorkItemStatusWidget extends WorkItemWidget {
|
|
152
|
+
type: 'STATUS';
|
|
153
|
+
status?: string;
|
|
154
|
+
}
|
|
155
|
+
export interface WorkItemTimeTrackingWidget extends WorkItemWidget {
|
|
156
|
+
type: 'TIME_TRACKING';
|
|
157
|
+
timeEstimate?: number;
|
|
158
|
+
totalTimeSpent?: number;
|
|
159
|
+
humanTimeEstimate?: string;
|
|
160
|
+
humanTotalTimeSpent?: string;
|
|
161
|
+
}
|
|
162
|
+
export interface WorkItemParticipantsWidget extends WorkItemWidget {
|
|
163
|
+
type: 'PARTICIPANTS';
|
|
164
|
+
participants: {
|
|
165
|
+
nodes: User[];
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
export interface WorkItemProgressWidget extends WorkItemWidget {
|
|
169
|
+
type: 'PROGRESS';
|
|
170
|
+
currentValue?: number;
|
|
171
|
+
endValue?: number;
|
|
172
|
+
progress?: number;
|
|
173
|
+
startValue?: number;
|
|
174
|
+
}
|
|
175
|
+
export interface WorkItemRequirementLegacyWidget extends WorkItemWidget {
|
|
176
|
+
type: 'REQUIREMENT_LEGACY';
|
|
177
|
+
}
|
|
178
|
+
export interface WorkItemTestReportsWidget extends WorkItemWidget {
|
|
179
|
+
type: 'TEST_REPORTS';
|
|
180
|
+
testReports?: TestReport[];
|
|
181
|
+
}
|
|
182
|
+
export interface WorkItemNotificationsWidget extends WorkItemWidget {
|
|
183
|
+
type: 'NOTIFICATIONS';
|
|
184
|
+
subscribed: boolean;
|
|
185
|
+
emailsDisabled: boolean;
|
|
186
|
+
}
|
|
187
|
+
export interface WorkItemCurrentUserTodosWidget extends WorkItemWidget {
|
|
188
|
+
type: 'CURRENT_USER_TODOS';
|
|
189
|
+
currentUserTodos: {
|
|
190
|
+
nodes: Todo[];
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
export interface WorkItemAwardEmojiWidget extends WorkItemWidget {
|
|
194
|
+
type: 'AWARD_EMOJI';
|
|
195
|
+
awardEmoji: {
|
|
196
|
+
nodes: AwardEmoji[];
|
|
197
|
+
};
|
|
198
|
+
upvotes: number;
|
|
199
|
+
downvotes: number;
|
|
200
|
+
}
|
|
201
|
+
export interface WorkItemLinkedItemsWidget extends WorkItemWidget {
|
|
202
|
+
type: 'LINKED_ITEMS';
|
|
203
|
+
linkedItems: {
|
|
204
|
+
nodes: WorkItem[];
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
export interface WorkItemColorWidget extends WorkItemWidget {
|
|
208
|
+
type: 'COLOR';
|
|
209
|
+
color?: string;
|
|
210
|
+
}
|
|
211
|
+
export interface WorkItemDesignsWidget extends WorkItemWidget {
|
|
212
|
+
type: 'DESIGNS';
|
|
213
|
+
designs: {
|
|
214
|
+
nodes: Design[];
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
export interface WorkItemDevelopmentWidget extends WorkItemWidget {
|
|
218
|
+
type: 'DEVELOPMENT';
|
|
219
|
+
closingMergeRequests: {
|
|
220
|
+
nodes: MergeRequest[];
|
|
221
|
+
};
|
|
222
|
+
featureFlags: {
|
|
223
|
+
nodes: FeatureFlag[];
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
export interface WorkItemCrmContactsWidget extends WorkItemWidget {
|
|
227
|
+
type: 'CRM_CONTACTS';
|
|
228
|
+
contacts: {
|
|
229
|
+
nodes: Contact[];
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
export interface WorkItemEmailParticipantsWidget extends WorkItemWidget {
|
|
233
|
+
type: 'EMAIL_PARTICIPANTS';
|
|
234
|
+
emailParticipants: {
|
|
235
|
+
nodes: Array<{
|
|
236
|
+
email: string;
|
|
237
|
+
}>;
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
export interface WorkItemCustomFieldsWidget extends WorkItemWidget {
|
|
241
|
+
type: 'CUSTOM_FIELDS';
|
|
242
|
+
customFields: {
|
|
243
|
+
nodes: CustomField[];
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
export interface WorkItemErrorTrackingWidget extends WorkItemWidget {
|
|
247
|
+
type: 'ERROR_TRACKING';
|
|
248
|
+
errorTrackingEnabled: boolean;
|
|
249
|
+
errors: {
|
|
250
|
+
nodes: Error[];
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
export interface WorkItemLinkedResourcesWidget extends WorkItemWidget {
|
|
254
|
+
type: 'LINKED_RESOURCES';
|
|
255
|
+
linkedResources: {
|
|
256
|
+
nodes: LinkedResource[];
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
export interface WorkItemVulnerabilitiesWidget extends WorkItemWidget {
|
|
260
|
+
type: 'VULNERABILITIES';
|
|
261
|
+
relatedVulnerabilities: {
|
|
262
|
+
nodes: Vulnerability[];
|
|
263
|
+
pageInfo: {
|
|
264
|
+
hasNextPage: boolean;
|
|
265
|
+
endCursor?: string;
|
|
266
|
+
};
|
|
267
|
+
count: number;
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
export interface Discussion {
|
|
271
|
+
id: string;
|
|
272
|
+
resolvable: boolean;
|
|
273
|
+
resolved: boolean;
|
|
274
|
+
notes: {
|
|
275
|
+
nodes: Note[];
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
export interface Note {
|
|
279
|
+
id: string;
|
|
280
|
+
body: string;
|
|
281
|
+
author: User;
|
|
282
|
+
createdAt: string;
|
|
283
|
+
updatedAt: string;
|
|
284
|
+
system: boolean;
|
|
285
|
+
}
|
|
286
|
+
export type HealthStatusEnum = 'onTrack' | 'needsAttention' | 'atRisk';
|
|
287
|
+
export interface TestReport {
|
|
288
|
+
id: string;
|
|
289
|
+
name: string;
|
|
290
|
+
status: string;
|
|
291
|
+
summary: {
|
|
292
|
+
total: number;
|
|
293
|
+
success: number;
|
|
294
|
+
failed: number;
|
|
295
|
+
skipped: number;
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
export interface Todo {
|
|
299
|
+
id: string;
|
|
300
|
+
action: string;
|
|
301
|
+
author: User;
|
|
302
|
+
createdAt: string;
|
|
303
|
+
state: string;
|
|
304
|
+
}
|
|
305
|
+
export interface AwardEmoji {
|
|
306
|
+
name: string;
|
|
307
|
+
emoji: string;
|
|
308
|
+
description: string;
|
|
309
|
+
user: User;
|
|
310
|
+
}
|
|
311
|
+
export interface Design {
|
|
312
|
+
id: string;
|
|
313
|
+
filename: string;
|
|
314
|
+
fullPath: string;
|
|
315
|
+
image: string;
|
|
316
|
+
imageV432x230: string;
|
|
317
|
+
}
|
|
318
|
+
export interface MergeRequest {
|
|
319
|
+
id: string;
|
|
320
|
+
iid: string;
|
|
321
|
+
title: string;
|
|
322
|
+
state: string;
|
|
323
|
+
webUrl: string;
|
|
324
|
+
}
|
|
325
|
+
export interface FeatureFlag {
|
|
326
|
+
id: string;
|
|
327
|
+
name: string;
|
|
328
|
+
description?: string;
|
|
329
|
+
active: boolean;
|
|
330
|
+
}
|
|
331
|
+
export interface Contact {
|
|
332
|
+
id: string;
|
|
333
|
+
firstName: string;
|
|
334
|
+
lastName: string;
|
|
335
|
+
email: string;
|
|
336
|
+
phone?: string;
|
|
337
|
+
organization?: string;
|
|
338
|
+
}
|
|
339
|
+
export interface CustomField {
|
|
340
|
+
id: string;
|
|
341
|
+
name: string;
|
|
342
|
+
value: string;
|
|
343
|
+
type: string;
|
|
344
|
+
}
|
|
345
|
+
export interface Error {
|
|
346
|
+
id: string;
|
|
347
|
+
title: string;
|
|
348
|
+
message: string;
|
|
349
|
+
count: number;
|
|
350
|
+
firstSeen: string;
|
|
351
|
+
lastSeen: string;
|
|
352
|
+
}
|
|
353
|
+
export interface LinkedResource {
|
|
354
|
+
id: string;
|
|
355
|
+
url: string;
|
|
356
|
+
type: string;
|
|
357
|
+
title?: string;
|
|
358
|
+
}
|
|
359
|
+
export interface Vulnerability {
|
|
360
|
+
id: string;
|
|
361
|
+
state: string;
|
|
362
|
+
severity: string;
|
|
363
|
+
name: string;
|
|
364
|
+
webUrl: string;
|
|
365
|
+
}
|
|
366
|
+
export declare const GET_WORK_ITEMS: TypedDocumentNode<{
|
|
367
|
+
group: {
|
|
368
|
+
workItems: {
|
|
369
|
+
nodes: WorkItem[];
|
|
370
|
+
};
|
|
371
|
+
};
|
|
372
|
+
}, {
|
|
373
|
+
groupPath: string;
|
|
374
|
+
types?: WorkItemTypeEnum[];
|
|
375
|
+
first?: number;
|
|
376
|
+
after?: string;
|
|
377
|
+
}>;
|
|
378
|
+
export declare const GET_WORK_ITEM: TypedDocumentNode<{
|
|
379
|
+
workItem: WorkItem;
|
|
380
|
+
}, {
|
|
381
|
+
id: string;
|
|
382
|
+
}>;
|
|
383
|
+
export declare const CREATE_WORK_ITEM: TypedDocumentNode<{
|
|
384
|
+
workItemCreate: {
|
|
385
|
+
workItem: WorkItem;
|
|
386
|
+
errors: string[];
|
|
387
|
+
};
|
|
388
|
+
}, {
|
|
389
|
+
namespacePath: string;
|
|
390
|
+
title: string;
|
|
391
|
+
workItemTypeId: string;
|
|
392
|
+
}>;
|
|
393
|
+
export declare const CREATE_WORK_ITEM_WITH_DESCRIPTION: TypedDocumentNode<{
|
|
394
|
+
workItemCreate: {
|
|
395
|
+
workItem: WorkItem;
|
|
396
|
+
errors: string[];
|
|
397
|
+
};
|
|
398
|
+
}, {
|
|
399
|
+
namespacePath: string;
|
|
400
|
+
title: string;
|
|
401
|
+
workItemTypeId: string;
|
|
402
|
+
description: string;
|
|
403
|
+
}>;
|
|
404
|
+
export declare const UPDATE_WORK_ITEM: TypedDocumentNode<{
|
|
405
|
+
workItemUpdate: {
|
|
406
|
+
workItem: WorkItem;
|
|
407
|
+
errors: string[];
|
|
408
|
+
};
|
|
409
|
+
}, {
|
|
410
|
+
input: WorkItemUpdateInput;
|
|
411
|
+
}>;
|
|
412
|
+
export declare const DELETE_WORK_ITEM: TypedDocumentNode<{
|
|
413
|
+
workItemDelete: {
|
|
414
|
+
errors: string[];
|
|
415
|
+
};
|
|
416
|
+
}, {
|
|
417
|
+
id: string;
|
|
418
|
+
}>;
|
|
419
|
+
export declare const GET_WORK_ITEM_TYPES: TypedDocumentNode<{
|
|
420
|
+
namespace: {
|
|
421
|
+
workItemTypes: {
|
|
422
|
+
nodes: {
|
|
423
|
+
id: string;
|
|
424
|
+
name: string;
|
|
425
|
+
}[];
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
}, {
|
|
429
|
+
namespacePath: string;
|
|
430
|
+
}>;
|