Skip to content

Commit a099929

Browse files
Release: v4.1.0 (#346)
* Version 3 simple updates * CHANGELOG updated * New API classes added to version3 client * `Avatar.storeAvatar` method fixed * Few increment improvements * Few incremental improvements * Few incremental improvements * Few incremental improvements * Few incremental improvements * Few incremental improvements * Feature/#354 deprecation of jql search and evaluate expression endpoints (#355) * chore: Vulnerability fix `npm fix audit` * chore: fix error when running vitest RangeError: options.minThreads and options.maxThreads must not conflict Fixed by adding `--minWorkers=8` to `test:unit` in package.json * test: define unit test for v3 enhanced search * feat: implement v3 enhanced search * chore: fix broken anchor * test: define unit test for v2 enhanced search * feat: implement v2 enhanced search * chore: fix typo in v2 * chore: fix wrong interface name * test: define unit test for v3 jiraExpressions Only implemented unit test for the newly added function evaluateJiraExpressionUsingEnhancedSearch() * feat: implement v3 jiraExpressions Implemented new function evaluateJiraExpressionUsingEnhancedSearch() * test: define unit test for v2 jiraExpressions Only implemented unit test for the newly added function evaluateJiraExpressionUsingEnhancedSearch() * feat: implement v2 jiraExpressions Implemented new function evaluateJiraExpressionUsingEnhancedSearch() * chore: change minWorkers to 1 for vitest --------- Co-authored-by: Vladislav Tupikin <[email protected]> * Few incremental improvements * Few incremental improvements * Few incremental improvements * The latest Jira Cloud API changes pulled * Build fixes * Plans.updatePlan refined * Wrong types for projectId (#356) * fix: accept number for all projectIdOrKey * fix: accept string for projectId `projectId` is `int64` on Jira API. The API accepts both number string and number. * fix: duplicate key * fix: CreateProjectAvatar discrepancy * CHANGELOG.md updated * Add new API in `Version2Client` (#357) * Add boilerplate for new API in Version2Client * Check and apply changes in Version3Client to Version2Client (#359) * fix: build error * chore: update unit test * fix: missing failFast in SearchAndReconcileRequest * fix: improvement to updateComment Forgot to clone the same improvement as addComment. * feat: v2 IssueBulkOperations * fix: apply the same improvement to v2 prioritySchemes * chore: remove unused import * fix: apply the same improvement as v3 `ProjectKeyAndNameValidation.getValidProjectName` from `unknown` to `string` for improved type safety and usability. * fix: Apply the same fix as v3 Improvement: Added the avatarId parameter to the IssuePriorities.createPriority method. This parameter will replace iconUrl starting March 16, 2025. The iconUrl parameter is now marked as deprecated. * fix: apply the same fix as v3 Improvement: Added the avatarId parameter to the IssuePriorities.updatePriority method. This parameter will replace iconUrl starting March 16, 2025. The iconUrl parameter is now marked as deprecated. * fix: apply the same fix as v3 Fix: Improved the Avatars.storeAvatar method * fix: apply the same fix as v3 Fix: Improved the IssueTypes.createIssueTypeAvatar method * fix: apply the same deprecation notes as v3 * fix: align v3 naming to v2 issueSearch and jiraExpression with enhanced search * Update readme.md 1. moved API token like to API token section 2. added description and link to PAT 3. moved Basic auth to bottom as it's the least preferred way to auth * fix: rollback changes on v2 Copied v3 feat to v2 by mistake * Update src/version2/parameters/getAvailableTransitions.ts add number support to issue ids or keys Co-authored-by: Vladislav Tupikin <[email protected]> * Update src/version2/parameters/getBulkEditableFields.ts add number support to issueIdsOrKeys Co-authored-by: Vladislav Tupikin <[email protected]> * fix: startAt and maxResults should be number * fix: wrong link to v3 in version 2 * fix: incorrect version in anchor * fix: revert changes on adding v3 only model * Update src/version3/parameters/searchWorkflows.ts Co-authored-by: Vladislav Tupikin <[email protected]> * Update src/version3/parameters/searchWorkflows.ts Co-authored-by: Vladislav Tupikin <[email protected]> * chore: revert changes on README.md move it to another PR * fix: update *DTO in v3 --------- Co-authored-by: Vladislav Tupikin <[email protected]> * `bulkFetchIssues` returned back for version2 client * Clients added to Version2Client * Clients added to README.md * Integration test fixes * Build fix * Fixes * Incremental improvements * Incremental improvements --------- Co-authored-by: Ness Li <[email protected]> * Unused code removed * Incremental improvements --------- Co-authored-by: Ness Li <[email protected]>
1 parent 4dc5acb commit a099929

File tree

820 files changed

+15796
-2199
lines changed

Some content is hidden

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

820 files changed

+15796
-2199
lines changed

.eslintrc.yml

+2
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ parserOptions:
66
project: ./tsconfig.lint.json
77
plugins:
88
- import
9+
- "@typescript-eslint"
910
env:
1011
node: true
1112
browser: true
1213
rules:
1314
"@typescript-eslint/lines-between-class-members": off
15+
"@typescript-eslint/no-unnecessary-condition": [ error, { allowConstantLoopConditions: false } ]
1416
arrow-parens:
1517
- error
1618
- as-needed

CHANGELOG.md

+164
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,169 @@
11
# Jira.js changelog
22

3+
### 4.1.0
4+
5+
- **General Improvements:** Enhanced JSDoc documentation across the project for better clarity and developer experience.
6+
7+
- **Deprecation:** Marked the `InstanceInformation.getLicense` method as deprecated.
8+
- **Deprecation:** Marked the `Issues.getCreateIssueMeta` method as deprecated.
9+
- **Deprecation:** Marked the `PageBeanFieldConfigurationDetails` class as deprecated. Use `Paginated<FieldConfigurationDetails>` instead.
10+
- **Deprecation:** Marked the `WorkflowUpdateResponse` and `WorkflowCreateResponse` classes as deprecated.
11+
12+
- **New APIs:** Added the following classes to support additional Jira APIs:
13+
- **`AppDataPolicies`**: Manage app access rule data policies, allowing developers to set and retrieve rules controlling app access ([documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-app-data-policies/#api-group-app-data-policies)).
14+
- **`ClassificationLevels`**: Define and manage classification levels for sensitive information in Jira ([documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-classification-levels/#api-group-classification-levels)).
15+
- **`IssueBulkOperations`**: Perform bulk operations on issues, such as moving multiple issues between projects or updating multiple fields in one request. For additional guidance, refer to [Bulk operation APIs: additional examples and FAQ](https://developer.atlassian.com/cloud/jira/platform/bulk-operation-additional-examples-and-faqs/) ([documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issue-bulk-operations/#api-group-issue-bulk-operations)).
16+
- **`Plans`**: Manage advanced roadmaps plans, including creating, duplicating, updating, archiving, and trashing plans ([documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-plans/#api-group-plans)).
17+
- **`PrioritySchemes`**: Create, retrieve, update, and delete issue priority schemes to standardize prioritization across projects ([documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-priority-schemes/#api-group-priority-schemes)).
18+
- **`ProjectClassificationLevels`**: View and manage classification levels within individual projects to ensure compliance with organizational standards ([documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-project-classification-levels/#api-group-project-classification-levels)).
19+
- **`ServiceRegistry`**: Access and manage attributes related to Jira Service Management’s service registry, which helps organize and maintain services ([documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-service-registry/#api-group-service-registry)).
20+
- **`TeamsInPlan`**: Configure settings for Atlassian and custom teams within advanced roadmaps plans, including creating, updating, and deleting team configurations ([documentation](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-teams-in-plan/#api-group-teams-in-plan)).
21+
22+
- **Improvement:** Changed the return type of `ProjectKeyAndNameValidation.getValidProjectKey` and `ProjectKeyAndNameValidation.getValidProjectName` from `unknown` to `string` for improved type safety and usability.
23+
- **Improvement:** Added the `approximateLastUsed` parameter to the `Filters.createFilter` method.
24+
- **Improvement:** Added the `isSubstringMatch` parameter to the `Filters.getFiltersPaginated` method.
25+
- **Improvement:** Updated the `IssueComments.updateComment` method to allow passing a plain string for the comment instead of requiring a specific object format.
26+
- **Improvement:** Added the `parentId` parameter to the `IssueComments.deleteComment` method.
27+
- **Improvement:** Added the `releasedProjectKeys` property to the `Projects.updateProject` method.
28+
- **Improvement:** Added the `avatarId` parameter to the `IssuePriorities.createPriority` method. This parameter will replace `iconUrl` starting **March 16, 2025**. The `iconUrl` parameter is now marked as deprecated.
29+
- **Improvement:** Added the `priorityName` and `expand` properties to the `IssuePriorities.searchPriorities` method.
30+
- **Improvement:** Added the `avatarId` parameter to the `IssuePriorities.updatePriority` method. This parameter will replace `iconUrl` starting **March 16, 2025**. The `iconUrl` parameter is now marked as deprecated.
31+
- **Improvement:** Added the `issueId` property to the `UserSearch.findAssignableUsers` method.
32+
- **Improvement:** Added the optional `skipNotFoundPrecomputations` property to the `JqlFunctionsApps.updatePrecomputations` method.
33+
- **Improvement:** Added the `failFast` parameter to the `Issues.getIssue` method.
34+
- **Improvement:** Added the `failFast` parameter to the `IssueSearch.searchForIssuesUsingJql` method.
35+
- **Improvement:** Added the `ari` and `metadata` parameters to the `ProjectComponents.createComponent` method.
36+
- **Improvement:** Added the optional `componentSource` parameter to the `ProjectComponents.getProjectComponentsPaginated` method.
37+
- **Improvement:** Added the optional `componentSource` parameter to the `ProjectComponents.getProjectComponents` method.
38+
- **Improvement:** Added the `approvers` and `driver` parameters to the `ProjectVersions.createVersion` and `ProjectVersions.updateVersion` methods.
39+
- **Improvement:** Replaced the `maxResults` property with `maxResult` in the `UserSearch.findUserKeysByQuery` method.
40+
- **Improvement:** Added the `extendAdminPermissions` parameter to the following methods in the `Dashboard` class:
41+
- `Dashboard.createDashboard`
42+
- `Dashboard.updateDashboard`
43+
- `Dashboard.copyDashboard`
44+
45+
- **New Method:** Added the `getCustomFieldsConfigurations` method to the `IssueCustomFieldConfigurationApps` class.
46+
- **New Method:** Added the `replaceCustomFieldOption` method to the `IssueCustomFieldOptions` class.
47+
- **New Methods:** Added the following methods to the `WorkflowSchemes` class:
48+
- `readWorkflowSchemes`: Retrieve workflow schemes.
49+
- `updateSchemes`: Update workflow schemes.
50+
- `updateWorkflowSchemeMappings`: Update workflow scheme mappings.
51+
- **New Method:** Added the `getNotificationSchemeForProject` method to the `Projects` class.
52+
- **New Method:** Added the `getBulkScreenTabs` method to the `ScreenTabs` class.
53+
- **New Method:** Added the `deletePriority` method to the `IssuePriorities` class.
54+
- **New Method:** Added the `getPrecomputationsByID` method to the `JqlFunctionsApps` class.
55+
- **New Methods:** Added the following methods to the `Workflows` class:
56+
- `readWorkflows`: Retrieve workflows.
57+
- `workflowCapabilities`: Get workflow capabilities.
58+
- `createWorkflows`: Create new workflows.
59+
- `validateCreateWorkflows`: Validate workflow creation.
60+
- `updateWorkflows`: Update existing workflows.
61+
- `validateUpdateWorkflows`: Validate workflow updates.
62+
- **New Methods:** Added the following methods to the `Issues` class:
63+
- `getBulkChangelogs`: Retrieve changelogs for multiple issues in bulk.
64+
- `bulkFetchIssues`: Fetch multiple issues in bulk.
65+
- `getCreateIssueMetaIssueTypes`: Retrieve metadata for issue types when creating issues.
66+
- `getCreateIssueMetaIssueTypeId`: Retrieve metadata for a specific issue type by ID when creating issues.
67+
- `getIssueLimitReport`: Retrieve a report on issue limits.
68+
- **New Methods:** Added the following methods to the `IssueSearch` class:
69+
- `countIssues`: Count issues matching a query.
70+
- `searchForIssuesIds`: Search for issue IDs using a query.
71+
- `searchForIssuesUsingJqlEnhancedSearch`: Search and reconcile issues using JQL.
72+
- `searchForIssuesUsingJqlEnhancedSearchPost`: Search and reconcile issues using JQL via POST request.
73+
- **New Methods:** Added the following methods to the `IssueWorklogs` class:
74+
- `bulkDeleteWorklogs`: Delete multiple worklogs in bulk.
75+
- `bulkMoveWorklogs`: Move multiple worklogs in bulk.
76+
- **New Method:** Added the `evaluateJiraExpressionUsingEnhancedSearch` method to the `JiraExpressions` class.
77+
- **New Method:** Added the `findComponentsForProjects` method to the `ProjectComponents` class.
78+
- **New Methods:** Added the following methods to the `ProjectVersions` class:
79+
- `deleteRelatedWork`: Delete related work for a version.
80+
- `updateRelatedWork`: Update related work for a version.
81+
- `createRelatedWork`: Create related work for a version.
82+
- `getRelatedWork`: Retrieve related work for a version.
83+
- **New Method:** Added the `getProjectUsagesForWorkflowScheme` method to the `WorkflowSchemes` class.
84+
- **New Method:** Added the `getWorkflowProjectIssueTypeUsages` method to the `Workflows` class.
85+
- **New Methods:** Added the following methods to the `Status` class:
86+
- `getProjectIssueTypeUsagesForStatus`
87+
- `getProjectUsagesForStatus`
88+
- `getWorkflowUsagesForStatus`
89+
90+
- **Fix:** Updated the following methods in `Version2Client` and `Version3Client` to make the `parameters` argument mandatory (as it should have been initially):
91+
- `IssueFieldConfigurations.createFieldConfiguration`
92+
- `IssueFieldConfigurations.createFieldConfigurationScheme`
93+
- `IssueLinks.linkIssues`
94+
- `IssueTypeSchemes.createIssueTypeScheme`
95+
- `IssueTypeSchemes.assignIssueTypeSchemeToProject`
96+
- `IssueTypeScreenSchemes.createIssueTypeScreenScheme`
97+
- `JQL.parseJqlQueries`
98+
- `TimeTracking.setSharedTimeTrackingConfiguration`
99+
- `WorkflowSchemeProjectAssociations.assignSchemeToProject`
100+
- `IssueTypes.createIssueType`
101+
- `IssueSearch.matchIssues`
102+
- `IssueSearch.searchForIssuesUsingJql`
103+
- `JiraExpressions.evaluateJiraExpression`
104+
- `Users.setUserColumns`
105+
- `Users.getUser`
106+
- **Fix:** Improved the `Avatars.storeAvatar` method:
107+
- Added the `mimeType` parameter to specify the type of the uploaded avatar.
108+
- Updated the type of the `avatar` parameter from `any` to `Buffer | ArrayBuffer | Uint8Array | any` for better type safety.
109+
- Set the default value of the `size` parameter to `0`.
110+
- **Fix:** Improved the `IssueTypes.createIssueTypeAvatar` method:
111+
- Added the `mimeType` parameter to specify the type of the uploaded avatar.
112+
- Added the `avatar` parameter with the type `Buffer | ArrayBuffer | Uint8Array`.
113+
- Set the default value of the `size` parameter to `0`.
114+
- **Fix:** Improved the `ProjectAvatars.createProjectAvatar` method:
115+
- Added the `mimeType` parameter to specify the type of the uploaded avatar.
116+
- Updated the type of the `avatar` parameter from `any` to `Buffer | ArrayBuffer | Uint8Array | any`.
117+
- Set the default value of the `size` parameter to `0`.
118+
119+
- **Change:** Removed the `filter` parameter from the `JqlFunctionsApps.getPrecomputations` method (experimental method, not a breaking change).
120+
- **Change:** Renamed `JiraExpressionEvaluateContextBean` to `JiraExpressionEvaluateContext`.
121+
122+
- **Improvement:** Added type `string` for properties `projectId` in parameters and models:
123+
- Model `Version`
124+
- Parameter `GetFieldConfigurationSchemeProjectMapping`
125+
- Parameter `GetHierarchy`
126+
- Parameter `GetIssueTypeSchemeForProjects`
127+
- Parameter `GetIssueTypeScreenSchemeProjectAssociations`
128+
- Parameter `GetIssueTypesForProject`
129+
- Parameter `GetProjectEmail`
130+
- Parameter `GetWorkflowSchemeProjectAssociations`
131+
- Parameter `UpdateProjectEmail`
132+
- **Improvement:** Added type `number` for properties `projectIdOrKey` in parameters and models:
133+
- Parameter `AddActorUsers`
134+
- Parameter `ArchiveProject`
135+
- Parameter `CreateProjectAvatar`
136+
- Parameter `DeleteActor`
137+
- Parameter `DeleteProject`
138+
- Parameter `DeleteProjectAsynchronously`
139+
- Parameter `DeleteProjectAvatar`
140+
- Parameter `DeleteProjectProperty`
141+
- Parameter `GetAllProjectAvatars`
142+
- Parameter `GetAllStatuses`
143+
- Parameter `GetFeaturesForProject`
144+
- Parameter `GetProjectComponents`
145+
- Parameter `GetProjectComponentsPaginated`
146+
- Parameter `GetProjectProperty`
147+
- Parameter `GetProjectPropertyKeys`
148+
- Parameter `GetProjectRole`
149+
- Parameter `GetProjectRoleDetails`
150+
- Parameter `GetProjectRoles`
151+
- Parameter `GetProjectVersions`
152+
- Parameter `GetProjectVersionsPaginated`
153+
- Parameter `Restore`
154+
- Parameter `SetActors`
155+
- Parameter `SetProjectProperty`
156+
- Parameter `ToggleFeatureForProject`
157+
- Parameter `UpdateProject`
158+
- Parameter `UpdateProjectAvatar`
159+
160+
---
161+
162+
- **Special thanks to Ness Li ([nessgor](https://github.com/nessgor)) for implementing the changes above. PR: [#356](https://github.com/MrRefactoring/jira.js/pull/356).**
163+
- **Thanks to Niklas Correnz ([uncaught](https://github.com/uncaught)) for reporting the issue: [#352](https://github.com/MrRefactoring/jira.js/issues/352).**
164+
165+
---
166+
3167
### 4.0.6
4168

5169
- **#347:** Fixed an issue with adding attachments of type `Readable` or `ReadableStream` (e.g., `fs.createReadStream`). Thanks to [Lunatic174](https://github.com/Lunatic174) for [reporting the issue](https://github.com/MrRefactoring/jira.js/issues/347).

0 commit comments

Comments
 (0)