Skip to content

Commit c361612

Browse files
v2.15.0 RC (MrRefactoring#209)
* 2.15.0 Version 2 API updates * MrRefactoring#206 issueWorklogs.addWorklog comment can be added now (MrRefactoring#208) * MrRefactoring#205 Max content length was increased for attachments (MrRefactoring#207) * MrRefactoring#205 maxContentLength was increased for attachments * package-lock.json reverted * 2.15.0 Version 3 API updates * 2.15.0 build fixes, improvements
1 parent 39ca5a3 commit c361612

File tree

84 files changed

+1692
-360
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+1692
-360
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Jira.js changelog
22

3+
### 2.15.0
4+
5+
- Version 3: addWorklog and updateWorklog comment field type fixed. Thanks to [RealBuddy](https://github.com/RealBuddy) for reporting the issue.
6+
- Version 3: maxContentLength was increased for attachments upload. Thanks to [RealBuddy](https://github.com/RealBuddy) for reporting the issue.
7+
- Version 2, Version 3:
8+
- `uiModificationsApps` API added.
9+
- `query` property added to `getProjectsForIssueTypeScreenScheme` method `IssueTypeScreenSchemes` API.
10+
- `commentId` property added to `getMyPermissions` method `Permissions` API.
11+
- `createPriority`, `searchPriorities`, `updatePriority` methods added to `IssuePriorities` API.
12+
313
### 2.14.0
414

515
- README: Fast jump to basic authentication topic fixed.

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,7 @@ Available groups:
303303
- [status](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-status/#api-group-status)
304304
- [tasks](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-tasks/#api-group-tasks)
305305
- [timeTracking](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-time-tracking/#api-group-time-tracking)
306+
- [uiModificationsApps](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-ui-modifications--apps-/#api-group-ui-modifications--apps-)
306307
- [users](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-users/#api-group-users)
307308
- [userProperties](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-user-properties/#api-group-user-properties)
308309
- [userSearch](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-user-search/#api-group-user-search)
@@ -391,6 +392,7 @@ Available groups:
391392
- [status](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-status/#api-group-status)
392393
- [tasks](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-tasks/#api-group-tasks)
393394
- [timeTracking](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-time-tracking/#api-group-time-tracking)
395+
- [uiModificationsApps](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-ui-modifications--apps-/#api-group-ui-modifications--apps-)
394396
- [users](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-users/#api-group-users)
395397
- [userProperties](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-user-properties/#api-group-user-properties)
396398
- [userSearch](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-user-search/#api-group-user-search)

package-lock.json

Lines changed: 237 additions & 224 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
{
22
"name": "jira.js",
3-
"version": "2.14.0",
3+
"version": "2.15.0",
44
"description": "jira.js is a powerful Node.JS/Browser module that allows you to interact with the Jira API very easily",
55
"main": "out/index.js",
66
"types": "out/index.d.ts",
77
"repository": "https://github.com/MrRefactoring/jira.js.git",
88
"author": "Vladislav Tupikin <mrrefactoring@yandex.ru>",
99
"license": "MIT",
1010
"keywords": [
11+
"atlassian",
1112
"jira",
1213
"api",
1314
"agile",
@@ -52,25 +53,25 @@
5253
"devDependencies": {
5354
"@swc-node/register": "^1.5.1",
5455
"@types/express": "^4.17.13",
55-
"@types/node": "^17.0.33",
56+
"@types/node": "^17.0.42",
5657
"@types/oauth": "^0.9.1",
5758
"@types/sinon": "^10.0.11",
58-
"@typescript-eslint/eslint-plugin": "^5.23.0",
59-
"@typescript-eslint/parser": "^5.23.0",
60-
"ava": "^4.2.0",
59+
"@typescript-eslint/eslint-plugin": "^5.28.0",
60+
"@typescript-eslint/parser": "^5.28.0",
61+
"ava": "^4.3.0",
6162
"dotenv": "^16.0.1",
62-
"eslint": "^8.15.0",
63+
"eslint": "^8.17.0",
6364
"eslint-config-airbnb": "^19.0.4",
6465
"eslint-config-airbnb-typescript": "^17.0.0",
6566
"eslint-import-resolver-typescript": "^2.7.1",
6667
"eslint-plugin-import": "^2.26.0",
6768
"eslint-plugin-sort-exports": "^0.6.0",
68-
"prettier": "^2.6.2",
69+
"prettier": "^2.7.0",
6970
"prettier-plugin-jsdoc": "^0.3.38",
7071
"sinon": "^14.0.0",
71-
"typedoc": "^0.22.15",
72+
"typedoc": "^0.22.17",
7273
"typedoc-plugin-extras": "^2.2.3",
73-
"typescript": "^4.6.4"
74+
"typescript": "^4.7.3"
7475
},
7576
"dependencies": {
7677
"atlassian-jwt": "^2.0.2",

src/version2/client/version2Client.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ import {
7272
Status,
7373
Tasks,
7474
TimeTracking,
75+
UIModificationsApps,
7576
UserProperties,
7677
Users,
7778
UserSearch,
@@ -159,6 +160,7 @@ export class Version2Client extends BaseClient {
159160
status = new Status(this);
160161
tasks = new Tasks(this);
161162
timeTracking = new TimeTracking(this);
163+
uiModificationsApps = new UIModificationsApps(this);
162164
userProperties = new UserProperties(this);
163165
users = new Users(this);
164166
userSearch = new UserSearch(this);

src/version2/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ export * from './serverInfo';
7070
export * from './status';
7171
export * from './tasks';
7272
export * from './timeTracking';
73+
export * from './uIModificationsApps';
7374
export * from './userProperties';
7475
export * from './userSearch';
7576
export * from './users';

src/version2/issueAdjustmentsApps.ts

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,18 @@ export class IssueAdjustmentsApps {
88
constructor(private client: Client) {}
99

1010
/**
11-
* Gets issue adjustments. Issue adjustments can only be retrieved by Forge apps.
11+
* @deprecated Gets issue adjustments. Issue adjustments can only be retrieved by Forge apps.
1212
*
13-
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
13+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
1414
*/
1515
async getIssueAdjustments<T = Models.PageIssueAdjustmentDetails>(
1616
parameters: Parameters.GetIssueAdjustments | undefined,
1717
callback: Callback<T>
1818
): Promise<void>;
1919
/**
20-
* Gets issue adjustments. Issue adjustments can only be retrieved by Forge apps.
20+
* @deprecated Gets issue adjustments. Issue adjustments can only be retrieved by Forge apps.
2121
*
22-
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
22+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
2323
*/
2424
async getIssueAdjustments<T = Models.PageIssueAdjustmentDetails>(
2525
parameters?: Parameters.GetIssueAdjustments,
@@ -43,30 +43,30 @@ export class IssueAdjustmentsApps {
4343
}
4444

4545
/**
46-
* Creates an issue adjustment. Issue adjustment can only be created by Forge apps.
46+
* @deprecated Creates an issue adjustment. Issue adjustment can only be created by Forge apps.
4747
*
48-
* Each app can define up to 100 issue adjustments. Each issue adjustment can define up to 1000 contexts.
48+
* Each app can define up to 100 issue adjustments. Each issue adjustment can define up to 1000 contexts.
4949
*
50-
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
50+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
5151
*
52-
* - _None_ if the issue adjustment is created without contexts.
53-
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
54-
* issue adjustment is created with contexts.
52+
* - _None_ if the issue adjustment is created without contexts.
53+
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
54+
* issue adjustment is created with contexts.
5555
*/
5656
async createIssueAdjustment<T = Models.IssueAdjustmentIdentifiers>(
5757
parameters: Parameters.CreateIssueAdjustment | undefined,
5858
callback: Callback<T>
5959
): Promise<void>;
6060
/**
61-
* Creates an issue adjustment. Issue adjustment can only be created by Forge apps.
61+
* @deprecated Creates an issue adjustment. Issue adjustment can only be created by Forge apps.
6262
*
63-
* Each app can define up to 100 issue adjustments. Each issue adjustment can define up to 1000 contexts.
63+
* Each app can define up to 100 issue adjustments. Each issue adjustment can define up to 1000 contexts.
6464
*
65-
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
65+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
6666
*
67-
* - _None_ if the issue adjustment is created without contexts.
68-
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
69-
* issue adjustment is created with contexts.
67+
* - _None_ if the issue adjustment is created without contexts.
68+
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
69+
* issue adjustment is created with contexts.
7070
*/
7171
async createIssueAdjustment<T = Models.IssueAdjustmentIdentifiers>(
7272
parameters?: Parameters.CreateIssueAdjustment,
@@ -91,30 +91,30 @@ export class IssueAdjustmentsApps {
9191
}
9292

9393
/**
94-
* Updates an issue adjustment. Issue adjustment can only be updated by Forge apps.
94+
* @deprecated Updates an issue adjustment. Issue adjustment can only be updated by Forge apps.
9595
*
96-
* Each issue adjustment can define up to 1000 contexts.
96+
* Each issue adjustment can define up to 1000 contexts.
9797
*
98-
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
98+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
9999
*
100-
* - _None_ if the issue adjustment is created without contexts.
101-
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
102-
* issue adjustment is created with contexts.
100+
* - _None_ if the issue adjustment is created without contexts.
101+
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
102+
* issue adjustment is created with contexts.
103103
*/
104104
async updateIssueAdjustment<T = void>(
105105
parameters: Parameters.UpdateIssueAdjustment,
106106
callback: Callback<T>
107107
): Promise<void>;
108108
/**
109-
* Updates an issue adjustment. Issue adjustment can only be updated by Forge apps.
109+
* @deprecated Updates an issue adjustment. Issue adjustment can only be updated by Forge apps.
110110
*
111-
* Each issue adjustment can define up to 1000 contexts.
111+
* Each issue adjustment can define up to 1000 contexts.
112112
*
113-
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
113+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
114114
*
115-
* - _None_ if the issue adjustment is created without contexts.
116-
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
117-
* issue adjustment is created with contexts.
115+
* - _None_ if the issue adjustment is created without contexts.
116+
* - _Browse projects_ [project permission](https://confluence.atlassian.com/x/yodKLg) for one or more projects, if the
117+
* issue adjustment is created with contexts.
118118
*/
119119
async updateIssueAdjustment<T = void>(parameters: Parameters.UpdateIssueAdjustment, callback?: never): Promise<T>;
120120
async updateIssueAdjustment<T = void>(
@@ -136,20 +136,20 @@ export class IssueAdjustmentsApps {
136136
}
137137

138138
/**
139-
* Deletes an issue adjustment. All the contexts that belong to the issue adjustment are deleted too. Issue adjustment
140-
* can only be deleted by Forge apps.
139+
* @deprecated Deletes an issue adjustment. All the contexts that belong to the issue adjustment are deleted too.
140+
* Issue adjustment can only be deleted by Forge apps.
141141
*
142-
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
142+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
143143
*/
144144
async deleteIssueAdjustment<T = void>(
145145
parameters: Parameters.DeleteIssueAdjustment,
146146
callback: Callback<T>
147147
): Promise<void>;
148148
/**
149-
* Deletes an issue adjustment. All the contexts that belong to the issue adjustment are deleted too. Issue adjustment
150-
* can only be deleted by Forge apps.
149+
* @deprecated Deletes an issue adjustment. All the contexts that belong to the issue adjustment are deleted too.
150+
* Issue adjustment can only be deleted by Forge apps.
151151
*
152-
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
152+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:** None.
153153
*/
154154
async deleteIssueAdjustment<T = void>(parameters: Parameters.DeleteIssueAdjustment, callback?: never): Promise<T>;
155155
async deleteIssueAdjustment<T = void>(

src/version2/issueAttachments.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,8 @@ export class IssueAttachments {
419419
...formData.getHeaders?.(),
420420
},
421421
data: formData,
422+
maxBodyLength: Infinity,
423+
maxContentLength: Infinity,
422424
};
423425

424426
return this.client.sendRequest(config, callback);

src/version2/issuePriorities.ts

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,89 @@ export class IssuePriorities {
3030
return this.client.sendRequest(config, callback);
3131
}
3232

33+
/**
34+
* Creates an issue priority.
35+
*
36+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
37+
* _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
38+
*/
39+
async createPriority<T = Models.PriorityId>(
40+
parameters: Parameters.CreatePriority | undefined,
41+
callback: Callback<T>
42+
): Promise<void>;
43+
/**
44+
* Creates an issue priority.
45+
*
46+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
47+
* _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
48+
*/
49+
async createPriority<T = Models.PriorityId>(parameters?: Parameters.CreatePriority, callback?: never): Promise<T>;
50+
async createPriority<T = Models.PriorityId>(
51+
parameters?: Parameters.CreatePriority,
52+
callback?: Callback<T>,
53+
): Promise<void | T> {
54+
const config: RequestConfig = {
55+
url: '/rest/api/2/priority',
56+
method: 'POST',
57+
data: {
58+
name: parameters?.name,
59+
description: parameters?.description,
60+
iconUrl: parameters?.iconUrl,
61+
statusColor: parameters?.statusColor,
62+
},
63+
};
64+
65+
return this.client.sendRequest(config, callback);
66+
}
67+
68+
/**
69+
* Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
70+
* priorities. The list can contain all priorities or a subset determined by any combination of these criteria:
71+
*
72+
* - A list of priority IDs. Any invalid priority IDs are ignored.
73+
* - Whether the field configuration is a default. This returns priorities from company-managed (classic) projects only,
74+
* as there is no concept of default priorities in team-managed projects.
75+
*
76+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
77+
* Permission to access Jira.
78+
*/
79+
async searchPriorities<T = Models.PagePriority>(
80+
parameters: Parameters.SearchPriorities | undefined,
81+
callback: Callback<T>
82+
): Promise<void>;
83+
/**
84+
* Returns a [paginated](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#pagination) list of
85+
* priorities. The list can contain all priorities or a subset determined by any combination of these criteria:
86+
*
87+
* - A list of priority IDs. Any invalid priority IDs are ignored.
88+
* - Whether the field configuration is a default. This returns priorities from company-managed (classic) projects only,
89+
* as there is no concept of default priorities in team-managed projects.
90+
*
91+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
92+
* Permission to access Jira.
93+
*/
94+
async searchPriorities<T = Models.PagePriority>(
95+
parameters?: Parameters.SearchPriorities,
96+
callback?: never
97+
): Promise<T>;
98+
async searchPriorities<T = Models.PagePriority>(
99+
parameters?: Parameters.SearchPriorities,
100+
callback?: Callback<T>,
101+
): Promise<void | T> {
102+
const config: RequestConfig = {
103+
url: '/rest/api/2/priority/search',
104+
method: 'GET',
105+
params: {
106+
startAt: parameters?.startAt,
107+
maxResults: parameters?.maxResults,
108+
id: parameters?.id,
109+
onlyDefault: parameters?.onlyDefault,
110+
},
111+
};
112+
113+
return this.client.sendRequest(config, callback);
114+
}
115+
33116
/**
34117
* Returns an issue priority.
35118
*
@@ -55,4 +138,33 @@ export class IssuePriorities {
55138

56139
return this.client.sendRequest(config, callback);
57140
}
141+
142+
/**
143+
* Updates an issue priority.
144+
*
145+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
146+
* _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
147+
*/
148+
async updatePriority<T = void>(parameters: Parameters.UpdatePriority, callback: Callback<T>): Promise<void>;
149+
/**
150+
* Updates an issue priority.
151+
*
152+
* **[Permissions](https://developer.atlassian.com/cloud/jira/platform/rest/v2/intro/#permissions) required:**
153+
* _Administer Jira_ [global permission](https://confluence.atlassian.com/x/x4dKLg).
154+
*/
155+
async updatePriority<T = void>(parameters: Parameters.UpdatePriority, callback?: never): Promise<T>;
156+
async updatePriority<T = void>(parameters: Parameters.UpdatePriority, callback?: Callback<T>): Promise<void | T> {
157+
const config: RequestConfig = {
158+
url: `/rest/api/2/priority/${parameters.id}`,
159+
method: 'PUT',
160+
data: {
161+
name: parameters.name,
162+
description: parameters.description,
163+
iconUrl: parameters.iconUrl,
164+
statusColor: parameters.statusColor,
165+
},
166+
};
167+
168+
return this.client.sendRequest(config, callback);
169+
}
58170
}

src/version2/issueTypeScreenSchemes.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,7 @@ export class IssueTypeScreenSchemes {
427427
params: {
428428
startAt: parameters.startAt,
429429
maxResults: parameters.maxResults,
430+
query: parameters.query,
430431
},
431432
};
432433

0 commit comments

Comments
 (0)