autoforce 0.1.3 → 0.1.4

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 (48) hide show
  1. package/README.md +44 -6
  2. package/commands/new/issue.json +40 -0
  3. package/commands/new/process.json +21 -0
  4. package/commands/subtasks/checkout-branch.json +60 -0
  5. package/commands/subtasks/create-pull.json +20 -0
  6. package/commands/subtasks/create-scratch.json +84 -0
  7. package/commands/subtasks/deploy-code.json +17 -0
  8. package/commands/subtasks/drop-scratch.json +17 -0
  9. package/commands/subtasks/package-code.json +3 -0
  10. package/commands/subtasks/publish-branch.json +20 -0
  11. package/commands/subtasks/update-documentation.json +8 -0
  12. package/commands/subtasks/validate-code.json +29 -0
  13. package/commands/subtasks/validate-scratch.json +14 -0
  14. package/commands/tasks/cancel.json +6 -0
  15. package/commands/tasks/deploy.json +6 -0
  16. package/commands/tasks/finish.json +41 -0
  17. package/commands/tasks/rollback.json +6 -0
  18. package/commands/tasks/start.json +60 -0
  19. package/commands/tasks/stop.json +32 -0
  20. package/commands/tasks/switch.json +53 -0
  21. package/commands/tasks/view.json +12 -0
  22. package/lib/auto.js +30 -15
  23. package/lib/helpers/class.js +2 -2
  24. package/lib/helpers/context.d.ts +1 -1
  25. package/lib/helpers/context.js +24 -28
  26. package/lib/helpers/github-graphql.d.ts +1 -76
  27. package/lib/helpers/github-graphql.js +331 -363
  28. package/lib/helpers/lwc.js +2 -2
  29. package/lib/helpers/metadata.js +2 -2
  30. package/lib/helpers/object.js +2 -2
  31. package/lib/helpers/tasks.js +10 -5
  32. package/lib/helpers/util.d.ts +4 -1
  33. package/lib/helpers/util.js +45 -2
  34. package/package.json +5 -3
  35. package/templates/dictionary/class-all.md +9 -0
  36. package/templates/dictionary/class-diagrama.md +13 -0
  37. package/templates/dictionary/class-inner.md +19 -0
  38. package/templates/dictionary/class-metodos.md +15 -0
  39. package/templates/dictionary/class-public.md +13 -0
  40. package/templates/dictionary/class-referencias.md +5 -0
  41. package/templates/dictionary/class.md +29 -0
  42. package/templates/dictionary/classes.md +52 -0
  43. package/templates/dictionary/object.md +35 -0
  44. package/templates/dictionary/objects.md +63 -0
  45. package/templates/intro.md +20 -0
  46. package/templates/process.md +23 -0
  47. package/templates/story.md +32 -0
  48. package/templates/usecase.md +52 -0
@@ -1,363 +1,331 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { graphql } from "@octokit/graphql";
11
- export class GitHubApi {
12
- constructor(token, owner, repo, projectNumber) {
13
- this.repoVar = { owner, repo };
14
- this.projectNumber = projectNumber;
15
- this.graphqlAuth = graphql.defaults({
16
- headers: {
17
- authorization: `Bearer ${token}`,
18
- "X-Github-Next-Global-ID": 1
19
- },
20
- });
21
- }
22
- getUser() {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const query = `{
25
- viewer {
26
- login
27
- id
28
- }
29
- }`;
30
- const { viewer } = yield this.graphqlAuth(query);
31
- return viewer;
32
- });
33
- }
34
- getRepository(label) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- const query = `
37
- query getRepo($owner:String!, $repo: String!, $projectNumber: Int!, ${label ? '$label: String!' : ''} ) {
38
- repository(owner: $owner, name: $repo) {
39
- id
40
- ${label ?
41
- `label(name: $label) {
42
- id
43
- }` : ''}
44
- projectV2( number: $projectNumber ) {
45
- id
46
- field(name: "Status") {
47
- ... on ProjectV2SingleSelectField {
48
- id
49
- name
50
- options {
51
- name
52
- id
53
- }
54
- }
55
- }
56
- }
57
- }
58
- }
59
- `;
60
- const { repository } = yield this.graphqlAuth(query, Object.assign({ label, projectNumber: this.projectNumber }, this.repoVar));
61
- return repository;
62
- });
63
- }
64
- createPullRequest(branchName, title, body) {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- const repository = yield this.getRepository();
67
- const repositoryId = repository.id;
68
- const headRefName = 'main';
69
- const baseRefName = branchName;
70
- const mutationPullRequest = `
71
- mutation createPullRequest( $baseRefName: String!, $headRefName: String!, $headRepositoryId: ID, $repositoryId: ID!, $title: String!, $body: String ) {
72
- createPullRequest(
73
- input: {
74
- repositoryId: $repositoryId,
75
- headRefName: $headRefName,
76
- headRepositoryId: $headRepositoryId,
77
- baseRefName: $baseRefName,
78
- title: $title,
79
- body: $body
80
- }
81
- ) {
82
- pullRequest {
83
- id
84
- }
85
- }
86
- }`;
87
- try {
88
- const { createPullRequest } = yield this.graphqlAuth(mutationPullRequest, { baseRefName, headRefName, headRepositoryId: repositoryId, repositoryId, title, body });
89
- return createPullRequest.pullRequest ? true : false;
90
- }
91
- catch (error) {
92
- console.log(error);
93
- }
94
- return false;
95
- });
96
- }
97
- getColumnValueMap() {
98
- return __awaiter(this, void 0, void 0, function* () {
99
- const query = `
100
- query getFieldOptions($owner:String!, $repo: String!, $projectNumber: Int!) {
101
- repository(owner: $owner, name: $repo) {
102
- projectV2(number: $projectNumber) {
103
- field(name: "Status") {
104
- ... on ProjectV2SingleSelectField {
105
- id
106
- name
107
- options {
108
- name
109
- id
110
- }
111
- }
112
- }
113
- }
114
- }
115
- }
116
- `;
117
- const { repository } = yield this.graphqlAuth(query, Object.assign({ projectNumber: this.projectNumber }, this.repoVar));
118
- const mapValues = {};
119
- for (const option of repository.projectV2.field.options) {
120
- mapValues[option.name] = option.id;
121
- }
122
- return mapValues;
123
- });
124
- }
125
- createIssue(title, state, label, milestone, body) {
126
- var _a;
127
- return __awaiter(this, void 0, void 0, function* () {
128
- const user = yield this.getUser();
129
- const repository = yield this.getRepository(label);
130
- const repositoryId = repository.id;
131
- const labelId = (_a = repository.label) === null || _a === void 0 ? void 0 : _a.id;
132
- const projectId = repository.projectV2.id;
133
- const mutationIssue = `
134
- mutation createIssue($repositoryId: ID!, $assignId: ID!, $title: String!, $body: String, ${labelId ? '$labelId: ID!' : ''} , $milestoneId: ID ) {
135
- createIssue(
136
- input: {
137
- repositoryId: $repositoryId,
138
- assigneeIds: [$assignId],
139
- ${labelId ? 'labelIds: [$labelId],' : ''}
140
- title: $title,
141
- milestoneId: $milestoneId,
142
- body: $body
143
- }
144
- ) {
145
- issue {
146
- id
147
- number
148
- }
149
- }
150
- }`;
151
- const { createIssue } = yield this.graphqlAuth(mutationIssue, { labelId, body, assignId: user.id, projectId, repositoryId, title, label: label ? [label] : null });
152
- const issue = createIssue.issue;
153
- if (!state || !issue.number) {
154
- return issue.number;
155
- }
156
- const mutationItem = `
157
- mutation addProjectV2ItemById($projectId: ID!, $contentId: ID! ) {
158
- addProjectV2ItemById(
159
- input: {
160
- projectId: $projectId
161
- contentId: $contentId
162
- }
163
- ) {
164
- clientMutationId,
165
- item {
166
- id
167
- }
168
- }
169
- }`;
170
- const { addProjectV2ItemById } = yield this.graphqlAuth(mutationItem, { projectId, contentId: issue.id });
171
- const itemId = addProjectV2ItemById.item.id;
172
- const fieldId = repository.projectV2.field.id;
173
- const mapValues = yield this.getColumnValueMap();
174
- const columnValue = mapValues[state];
175
- const mutationColumn = `
176
- mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $columnValue: String!) {
177
- updateProjectV2ItemFieldValue(
178
- input: {
179
- projectId: $projectId,
180
- itemId: $itemId,
181
- fieldId: $fieldId,
182
- value: {singleSelectOptionId: $columnValue}
183
- }
184
- ) {
185
- clientMutationId
186
- }
187
- }`;
188
- const { updateProjectV2ItemFieldValue } = yield this.graphqlAuth(mutationColumn, { projectId, itemId, fieldId, columnValue });
189
- if (!updateProjectV2ItemFieldValue.clientMutationId) {
190
- return 0;
191
- }
192
- return issue.number;
193
- });
194
- }
195
- moveIssue(issueNumber, state) {
196
- return __awaiter(this, void 0, void 0, function* () {
197
- const issue = yield this.getIssue(issueNumber);
198
- const itemId = issue.projectItems.nodes[0].id;
199
- const projectId = issue.projectItems.nodes[0].project.id;
200
- const fieldId = issue.projectItems.nodes[0].fieldValueByName.field.id;
201
- const mapValues = yield this.getColumnValueMap();
202
- const columnValue = mapValues[state];
203
- const mutation = `
204
- mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $columnValue: String!) {
205
- updateProjectV2ItemFieldValue(
206
- input: {
207
- projectId: $projectId,
208
- itemId: $itemId,
209
- fieldId: $fieldId,
210
- value: {singleSelectOptionId: $columnValue}
211
- }
212
- ) {
213
- projectV2Item {
214
- id
215
- }
216
- }
217
- }`;
218
- const { updateProjectV2ItemFieldValue } = yield this.graphqlAuth(mutation, { projectId, itemId, fieldId, columnValue });
219
- return (updateProjectV2ItemFieldValue === null || updateProjectV2ItemFieldValue === void 0 ? void 0 : updateProjectV2ItemFieldValue.projectV2Item) ? true : false;
220
- });
221
- }
222
- assignIssueToMe(issueNumber) {
223
- return __awaiter(this, void 0, void 0, function* () {
224
- const user = yield this.getUser();
225
- const issue = yield this.getIssue(issueNumber);
226
- const mutation = `
227
- mutation assignUser( $issueId: ID!, $userId: ID!) {
228
- addAssigneesToAssignable(input: {
229
- assignableId: $issueId
230
- assigneeIds: [ $userId ]
231
- }) {
232
- assignable {
233
- assignees {
234
- totalCount
235
- }
236
- }
237
- }
238
- }
239
- `;
240
- const { addAssigneesToAssignable } = yield this.graphqlAuth(mutation, { issueId: issue.id, userId: user.id });
241
- return addAssigneesToAssignable.assignable.assignees.totalCount > 0;
242
- });
243
- }
244
- getCommit(commitSha) {
245
- return __awaiter(this, void 0, void 0, function* () {
246
- const query = `
247
- query getCommit($owner:String!, $repo: String!, $commitSha: String!) {
248
- repository(owner: $owner, name: $repo) {
249
- object(expression: $commitSha) {
250
- ... on Commit {
251
- id
252
- oid
253
- }
254
- }
255
- }
256
- } `;
257
- const { repository } = yield this.graphqlAuth(query, Object.assign({ commitSha }, this.repoVar));
258
- return repository.object;
259
- });
260
- }
261
- assignBranchToIssue(issueNumber, branchName, commitSha) {
262
- var _a;
263
- return __awaiter(this, void 0, void 0, function* () {
264
- const issue = yield this.getIssue(issueNumber);
265
- const commit = yield this.getCommit(commitSha);
266
- const mutation = `
267
- mutation createLinkedBranch( $issueId: ID!, $oid: GitObjectID!, $branchName: String!) {
268
- createLinkedBranch(input: {
269
- issueId: $issueId
270
- oid: $oid
271
- name: $branchName
272
- })
273
- {
274
- issue {
275
- id
276
- }
277
- }
278
- }`;
279
- const { createLinkedBranch } = yield this.graphqlAuth(mutation, { issueId: issue.id, oid: commit.oid, branchName });
280
- console.log(createLinkedBranch);
281
- return ((_a = createLinkedBranch === null || createLinkedBranch === void 0 ? void 0 : createLinkedBranch.issue) === null || _a === void 0 ? void 0 : _a.id) ? true : false;
282
- });
283
- }
284
- getIssueState(issueNumber) {
285
- var _a, _b, _c;
286
- return __awaiter(this, void 0, void 0, function* () {
287
- const issue = yield this.getIssue(issueNumber);
288
- return (_c = (_b = (_a = issue.projectItems) === null || _a === void 0 ? void 0 : _a.nodes[0]) === null || _b === void 0 ? void 0 : _b.fieldValueByName) === null || _c === void 0 ? void 0 : _c.name;
289
- });
290
- }
291
- getIssueName(title) {
292
- return title.toLowerCase().replaceAll(' ', '-');
293
- }
294
- getIssueObject(issueNumber) {
295
- return __awaiter(this, void 0, void 0, function* () {
296
- const issue = yield this.getIssue(issueNumber);
297
- const issueObject = { title: issue.title };
298
- issueObject.name = this.getIssueName(issue.title);
299
- if (issue.linkedBranches.nodes.length > 0) {
300
- issueObject.branch = issue.linkedBranches.nodes[0].ref.name;
301
- }
302
- if (issue.projectItems.nodes.length > 0) {
303
- issueObject.state = issue.projectItems.nodes[0].fieldValueByName.name;
304
- }
305
- if (issue.labels.nodes.length > 0) {
306
- issueObject.labels = [];
307
- for (const node of issue.labels.nodes) {
308
- issueObject.labels.push(node.name);
309
- }
310
- }
311
- return issueObject;
312
- });
313
- }
314
- getIssue(issueNumber) {
315
- return __awaiter(this, void 0, void 0, function* () {
316
- const query = `
317
- query getIssue($owner:String!, $repo: String!, $issueNumber: Int!) {
318
- repository(owner: $owner, name: $repo) {
319
- issue(number: $issueNumber) {
320
- title
321
- id
322
- labels(first:3, orderBy: { field: CREATED_AT, direction: DESC}) {
323
- nodes {
324
- color
325
- name
326
- }
327
- }
328
- projectItems(last: 1) {
329
- nodes{
330
- id,
331
- project {
332
- id
333
- }
334
- fieldValueByName(name: "Status"){
335
- ... on ProjectV2ItemFieldSingleSelectValue {
336
- name
337
- id
338
- field {
339
- ... on ProjectV2SingleSelectField {
340
- id
341
- }
342
- }
343
- }
344
- }
345
- }
346
- }
347
- linkedBranches(last:1){
348
- nodes {
349
- ref {
350
- id
351
- name
352
- }
353
- }
354
- }
355
- }
356
- }
357
- }
358
- `;
359
- const { repository } = yield this.graphqlAuth(query, Object.assign({ issueNumber }, this.repoVar));
360
- return repository.issue;
361
- });
362
- }
363
- }
1
+ // import { graphql } from "@octokit/graphql";
2
+ export {};
3
+ // export class GitHubApi implements IGitApi, IProjectApi {
4
+ // repoVar;
5
+ // projectNumber;
6
+ // graphqlAuth;
7
+ // constructor(token: string, owner: string, repo: string, projectNumber?: number) {
8
+ // this.repoVar = { owner, repo };
9
+ // this.projectNumber = projectNumber;
10
+ // this.graphqlAuth = graphql.defaults({
11
+ // headers: {
12
+ // authorization: `Bearer ${token}`,
13
+ // "X-Github-Next-Global-ID": 1
14
+ // },
15
+ // })
16
+ // }
17
+ // async getUser() {
18
+ // const query = `{
19
+ // viewer {
20
+ // login
21
+ // id
22
+ // }
23
+ // }`;
24
+ // const {viewer }: {viewer: { login: string, id: number}} = await this.graphqlAuth(query);
25
+ // return viewer;
26
+ // }
27
+ // async getRepository(label?: string) {
28
+ // const query = `
29
+ // query getRepo($owner:String!, $repo: String!, $projectNumber: Int!, ${label ? '$label: String!': ''} ) {
30
+ // repository(owner: $owner, name: $repo) {
31
+ // id
32
+ // ${ label ?
33
+ // `label(name: $label) {
34
+ // id
35
+ // }` :''
36
+ // }
37
+ // projectV2( number: $projectNumber ) {
38
+ // id
39
+ // field(name: "Status") {
40
+ // ... on ProjectV2SingleSelectField {
41
+ // id
42
+ // name
43
+ // options {
44
+ // name
45
+ // id
46
+ // }
47
+ // }
48
+ // }
49
+ // }
50
+ // }
51
+ // }
52
+ // `;
53
+ // const { repository }: {repository: { id: string, label?: { id: string}, projectV2: { id: string, field: { id: string, name: string, options: { name: string, id: string}[] }}}} = await this.graphqlAuth(query, { label, projectNumber: this.projectNumber,...this.repoVar});
54
+ // return repository;
55
+ // }
56
+ // async createPullRequest(branchName: string, title: string, body: string): Promise<boolean> {
57
+ // const repository = await this.getRepository();
58
+ // const repositoryId = repository.id;
59
+ // const headRefName = 'main';
60
+ // const baseRefName = branchName;
61
+ // const mutationPullRequest = `
62
+ // mutation createPullRequest( $baseRefName: String!, $headRefName: String!, $headRepositoryId: ID, $repositoryId: ID!, $title: String!, $body: String ) {
63
+ // createPullRequest(
64
+ // input: {
65
+ // repositoryId: $repositoryId,
66
+ // headRefName: $headRefName,
67
+ // headRepositoryId: $headRepositoryId,
68
+ // baseRefName: $baseRefName,
69
+ // title: $title,
70
+ // body: $body
71
+ // }
72
+ // ) {
73
+ // pullRequest {
74
+ // id
75
+ // }
76
+ // }
77
+ // }`;
78
+ // try {
79
+ // const {createPullRequest}: { createPullRequest: { pullRequest: { id: string} }} = await this.graphqlAuth(mutationPullRequest, { baseRefName, headRefName, headRepositoryId: repositoryId, repositoryId, title, body });
80
+ // return createPullRequest.pullRequest ? true : false;
81
+ // } catch (error) {
82
+ // console.log(error);
83
+ // }
84
+ // return false;
85
+ // }
86
+ // async getColumnValueMap(){
87
+ // const query = `
88
+ // query getFieldOptions($owner:String!, $repo: String!, $projectNumber: Int!) {
89
+ // repository(owner: $owner, name: $repo) {
90
+ // projectV2(number: $projectNumber) {
91
+ // field(name: "Status") {
92
+ // ... on ProjectV2SingleSelectField {
93
+ // id
94
+ // name
95
+ // options {
96
+ // name
97
+ // id
98
+ // }
99
+ // }
100
+ // }
101
+ // }
102
+ // }
103
+ // }
104
+ // `;
105
+ // const { repository }: {repository: { id: string, projectV2: { id: string, field: { id: string, name: string, options: { name: string, id: string}[] }}}} = await this.graphqlAuth(query, { projectNumber: this.projectNumber,...this.repoVar});
106
+ // const mapValues: Record<string, string> = {}
107
+ // for ( const option of repository.projectV2.field.options ) {
108
+ // mapValues[option.name] = option.id;
109
+ // }
110
+ // return mapValues;
111
+ // }
112
+ // async createIssue(title: string, state?: string, label?: string, milestone?: string, body?: string ) {
113
+ // const user = await this.getUser();
114
+ // const repository = await this.getRepository(label);
115
+ // const repositoryId = repository.id;
116
+ // const labelId = repository.label?.id;
117
+ // const projectId = repository.projectV2.id;
118
+ // const mutationIssue = `
119
+ // mutation createIssue($repositoryId: ID!, $assignId: ID!, $title: String!, $body: String, ${ labelId ? '$labelId: ID!': ''} , $milestoneId: ID ) {
120
+ // createIssue(
121
+ // input: {
122
+ // repositoryId: $repositoryId,
123
+ // assigneeIds: [$assignId],
124
+ // ${labelId ? 'labelIds: [$labelId],': ''}
125
+ // title: $title,
126
+ // milestoneId: $milestoneId,
127
+ // body: $body
128
+ // }
129
+ // ) {
130
+ // issue {
131
+ // id
132
+ // number
133
+ // }
134
+ // }
135
+ // }`;
136
+ // const { createIssue }: {createIssue: { issue: { id: string, number: number } }} = await this.graphqlAuth(mutationIssue, { labelId, body, assignId: user.id, projectId, repositoryId, title, label: label? [label]: null });
137
+ // const issue = createIssue.issue;
138
+ // if ( !state || !issue.number) {
139
+ // return issue.number;
140
+ // }
141
+ // const mutationItem = `
142
+ // mutation addProjectV2ItemById($projectId: ID!, $contentId: ID! ) {
143
+ // addProjectV2ItemById(
144
+ // input: {
145
+ // projectId: $projectId
146
+ // contentId: $contentId
147
+ // }
148
+ // ) {
149
+ // clientMutationId,
150
+ // item {
151
+ // id
152
+ // }
153
+ // }
154
+ // }`;
155
+ // const { addProjectV2ItemById }: {addProjectV2ItemById: { item: { id: string } }} = await this.graphqlAuth(mutationItem, { projectId, contentId: issue.id });
156
+ // const itemId = addProjectV2ItemById.item.id;
157
+ // const fieldId = repository.projectV2.field.id;
158
+ // const mapValues = await this.getColumnValueMap();
159
+ // const columnValue = mapValues[state];
160
+ // const mutationColumn = `
161
+ // mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $columnValue: String!) {
162
+ // updateProjectV2ItemFieldValue(
163
+ // input: {
164
+ // projectId: $projectId,
165
+ // itemId: $itemId,
166
+ // fieldId: $fieldId,
167
+ // value: {singleSelectOptionId: $columnValue}
168
+ // }
169
+ // ) {
170
+ // clientMutationId
171
+ // }
172
+ // }`;
173
+ // const {updateProjectV2ItemFieldValue }: {updateProjectV2ItemFieldValue: { clientMutationId: string }} = await this.graphqlAuth(mutationColumn, { projectId, itemId, fieldId, columnValue });
174
+ // if ( !updateProjectV2ItemFieldValue.clientMutationId ) {
175
+ // return 0;
176
+ // }
177
+ // return issue.number;
178
+ // }
179
+ // async moveIssue(issueNumber: number, state: string): Promise<boolean> {
180
+ // const issue = await this.getIssue(issueNumber);
181
+ // const itemId = issue.projectItems.nodes[0].id;
182
+ // const projectId = issue.projectItems.nodes[0].project.id;
183
+ // const fieldId = issue.projectItems.nodes[0].fieldValueByName.field.id;
184
+ // const mapValues = await this.getColumnValueMap();
185
+ // const columnValue = mapValues[state];
186
+ // const mutation = `
187
+ // mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $columnValue: String!) {
188
+ // updateProjectV2ItemFieldValue(
189
+ // input: {
190
+ // projectId: $projectId,
191
+ // itemId: $itemId,
192
+ // fieldId: $fieldId,
193
+ // value: {singleSelectOptionId: $columnValue}
194
+ // }
195
+ // ) {
196
+ // projectV2Item {
197
+ // id
198
+ // }
199
+ // }
200
+ // }`;
201
+ // const {updateProjectV2ItemFieldValue }: {updateProjectV2ItemFieldValue: { projectV2Item: { id: string } }} = await this.graphqlAuth(mutation, { projectId, itemId, fieldId, columnValue });
202
+ // return updateProjectV2ItemFieldValue?.projectV2Item ? true: false ;
203
+ // }
204
+ // async assignIssueToMe(issueNumber: number): Promise<boolean> {
205
+ // const user = await this.getUser();
206
+ // const issue = await this.getIssue(issueNumber);
207
+ // const mutation = `
208
+ // mutation assignUser( $issueId: ID!, $userId: ID!) {
209
+ // addAssigneesToAssignable(input: {
210
+ // assignableId: $issueId
211
+ // assigneeIds: [ $userId ]
212
+ // }) {
213
+ // assignable {
214
+ // assignees {
215
+ // totalCount
216
+ // }
217
+ // }
218
+ // }
219
+ // }
220
+ // `;
221
+ // const {addAssigneesToAssignable }: {addAssigneesToAssignable: { assignable: { assignees: { totalCount: number } } }} = await this.graphqlAuth(mutation, { issueId: issue.id, userId: user.id });
222
+ // return addAssigneesToAssignable.assignable.assignees.totalCount > 0 ;
223
+ // }
224
+ // async getCommit(commitSha: string) {
225
+ // const query = `
226
+ // query getCommit($owner:String!, $repo: String!, $commitSha: String!) {
227
+ // repository(owner: $owner, name: $repo) {
228
+ // object(expression: $commitSha) {
229
+ // ... on Commit {
230
+ // id
231
+ // oid
232
+ // }
233
+ // }
234
+ // }
235
+ // } `;
236
+ // const { repository }: {repository:{ object: { id: string; oid: string}}} = await this.graphqlAuth(query, { commitSha,...this.repoVar});
237
+ // return repository.object;
238
+ // }
239
+ // async assignBranchToIssue(issueNumber: number, branchName: string, commitSha: string) {
240
+ // const issue = await this.getIssue(issueNumber);
241
+ // const commit = await this.getCommit(commitSha);
242
+ // const mutation = `
243
+ // mutation createLinkedBranch( $issueId: ID!, $oid: GitObjectID!, $branchName: String!) {
244
+ // createLinkedBranch(input: {
245
+ // issueId: $issueId
246
+ // oid: $oid
247
+ // name: $branchName
248
+ // })
249
+ // {
250
+ // issue {
251
+ // id
252
+ // }
253
+ // }
254
+ // }`;
255
+ // const {createLinkedBranch }: {createLinkedBranch: { issue: { id: string } }} = await this.graphqlAuth(mutation, { issueId: issue.id, oid: commit.oid, branchName });
256
+ // console.log(createLinkedBranch);
257
+ // return createLinkedBranch?.issue?.id ? true: false ;
258
+ // }
259
+ // async getIssueState(issueNumber: number){
260
+ // const issue = await this.getIssue(issueNumber);
261
+ // return issue.projectItems?.nodes[0]?.fieldValueByName?.name;
262
+ // }
263
+ // getIssueName(title: string) {
264
+ // return title.toLowerCase().replaceAll(' ', '-');
265
+ // }
266
+ // async getIssueObject(issueNumber: number) {
267
+ // const issue = await this.getIssue(issueNumber);
268
+ // const issueObject: IIssueObject = { title: issue.title};
269
+ // issueObject.name = this.getIssueName(issue.title);
270
+ // if ( issue.linkedBranches.nodes.length > 0 ) {
271
+ // issueObject.branch = issue.linkedBranches.nodes[0].ref.name;
272
+ // }
273
+ // if ( issue.projectItems.nodes.length > 0 ) {
274
+ // issueObject.state = issue.projectItems.nodes[0].fieldValueByName.name;
275
+ // }
276
+ // if ( issue.labels.nodes.length > 0 ) {
277
+ // issueObject.labels = [];
278
+ // for ( const node of issue.labels.nodes ) {
279
+ // issueObject.labels.push(node.name);
280
+ // }
281
+ // }
282
+ // return issueObject;
283
+ // }
284
+ // async getIssue(issueNumber: number){
285
+ // const query = `
286
+ // query getIssue($owner:String!, $repo: String!, $issueNumber: Int!) {
287
+ // repository(owner: $owner, name: $repo) {
288
+ // issue(number: $issueNumber) {
289
+ // title
290
+ // id
291
+ // labels(first:3, orderBy: { field: CREATED_AT, direction: DESC}) {
292
+ // nodes {
293
+ // color
294
+ // name
295
+ // }
296
+ // }
297
+ // projectItems(last: 1) {
298
+ // nodes{
299
+ // id,
300
+ // project {
301
+ // id
302
+ // }
303
+ // fieldValueByName(name: "Status"){
304
+ // ... on ProjectV2ItemFieldSingleSelectValue {
305
+ // name
306
+ // id
307
+ // field {
308
+ // ... on ProjectV2SingleSelectField {
309
+ // id
310
+ // }
311
+ // }
312
+ // }
313
+ // }
314
+ // }
315
+ // }
316
+ // linkedBranches(last:1){
317
+ // nodes {
318
+ // ref {
319
+ // id
320
+ // name
321
+ // }
322
+ // }
323
+ // }
324
+ // }
325
+ // }
326
+ // }
327
+ // `;
328
+ // const { repository }: { repository: { issue: { id: string, title: string, labels: { nodes: { name: string, color: string}[] }, projectItems: { nodes: { id: string, project: { id: string }, fieldValueByName: { name: string, id: string, field: { id: string }} }[] }, linkedBranches: { nodes: { ref: { id: string, name: string } } [] } } } } = await this.graphqlAuth(query, { issueNumber,...this.repoVar});
329
+ // return repository.issue;
330
+ // }
331
+ // }