UNPKG

@esm-js/jira.js

Version:

A comprehensive JavaScript/TypeScript library designed for both Node.JS and browsers, facilitating seamless interaction with the Atlassian Jira API.

1 lines 3.28 MB
{"version":3,"sources":["../src/agile/index.ts","../src/agile/backlog.ts","../src/agile/board.ts","../src/agile/builds.ts","../src/agile/deployments.ts","../src/agile/developmentInformation.ts","../src/agile/devopsComponents.ts","../src/agile/epic.ts","../src/agile/featureFlags.ts","../src/agile/issue.ts","../src/agile/operations.ts","../src/agile/remoteLinks.ts","../src/agile/securityInformation.ts","../src/agile/sprint.ts","../src/agile/models/index.ts","../src/agile/parameters/index.ts","../src/clients/baseClient.ts","../src/config.ts","../src/services/authenticationService/base64Encoder.ts","../src/services/authenticationService/authentications/createBasicAuthenticationToken.ts","../src/services/authenticationService/authentications/createOAuth2AuthenticationToken.ts","../src/services/authenticationService/getAuthenticationToken.ts","../src/clients/httpException.ts","../src/agile/client/agileClient.ts","../src/version2/index.ts","../src/version2/announcementBanner.ts","../src/version2/appDataPolicies.ts","../src/version2/appMigration.ts","../src/version2/appProperties.ts","../src/version2/applicationRoles.ts","../src/version2/auditRecords.ts","../src/version2/avatars.ts","../src/version2/classificationLevels.ts","../src/paramSerializer.ts","../src/version2/dashboards.ts","../src/version2/dynamicModules.ts","../src/version2/filterSharing.ts","../src/version2/filters.ts","../src/version2/groupAndUserPicker.ts","../src/version2/groups.ts","../src/version2/issueAttachments.ts","../src/version2/issueCommentProperties.ts","../src/version2/issueComments.ts","../src/version2/issueCustomFieldAssociations.ts","../src/version2/issueCustomFieldConfigurationApps.ts","../src/version2/issueCustomFieldContexts.ts","../src/version2/issueCustomFieldOptions.ts","../src/version2/issueCustomFieldOptionsApps.ts","../src/version2/issueCustomFieldValuesApps.ts","../src/version2/issueFieldConfigurations.ts","../src/version2/issueFields.ts","../src/version2/issueLinkTypes.ts","../src/version2/issueLinks.ts","../src/version2/issueNavigatorSettings.ts","../src/version2/issueNotificationSchemes.ts","../src/version2/issuePriorities.ts","../src/version2/issueProperties.ts","../src/version2/issueRemoteLinks.ts","../src/version2/issueResolutions.ts","../src/version2/issueSearch.ts","../src/version2/issueSecurityLevel.ts","../src/version2/issueSecuritySchemes.ts","../src/version2/issueTypeProperties.ts","../src/version2/issueTypeSchemes.ts","../src/version2/issueTypeScreenSchemes.ts","../src/version2/issueTypes.ts","../src/version2/issueVotes.ts","../src/version2/issueWatchers.ts","../src/version2/issueWorklogProperties.ts","../src/version2/issueWorklogs.ts","../src/version2/issues.ts","../src/version2/jiraExpressions.ts","../src/version2/jiraSettings.ts","../src/version2/jQL.ts","../src/version2/jqlFunctionsApps.ts","../src/version2/labels.ts","../src/version2/licenseMetrics.ts","../src/version2/myself.ts","../src/version2/permissionSchemes.ts","../src/version2/permissions.ts","../src/version2/plans.ts","../src/version2/prioritySchemes.ts","../src/version2/projectAvatars.ts","../src/version2/projectCategories.ts","../src/version2/projectClassificationLevels.ts","../src/version2/projectComponents.ts","../src/version2/projectEmail.ts","../src/version2/projectFeatures.ts","../src/version2/projectKeyAndNameValidation.ts","../src/version2/projectPermissionSchemes.ts","../src/version2/projectProperties.ts","../src/version2/projectRoleActors.ts","../src/version2/projectRoles.ts","../src/version2/projectTemplates.ts","../src/version2/projectTypes.ts","../src/version2/projectVersions.ts","../src/version2/projects.ts","../src/version2/screenSchemes.ts","../src/version2/screenTabFields.ts","../src/version2/screenTabs.ts","../src/version2/screens.ts","../src/version2/serverInfo.ts","../src/version2/serviceRegistry.ts","../src/version2/status.ts","../src/version2/tasks.ts","../src/version2/teamsInPlan.ts","../src/version2/timeTracking.ts","../src/version2/uIModificationsApps.ts","../src/version2/userProperties.ts","../src/version2/userSearch.ts","../src/version2/userNavProperties.ts","../src/version2/users.ts","../src/version2/webhooks.ts","../src/version2/workflowSchemeDrafts.ts","../src/version2/workflowSchemeProjectAssociations.ts","../src/version2/workflowSchemes.ts","../src/version2/workflowStatusCategories.ts","../src/version2/workflowStatuses.ts","../src/version2/workflowTransitionProperties.ts","../src/version2/workflowTransitionRules.ts","../src/version2/workflows.ts","../src/version2/client/version2Client.ts","../src/version2/models/index.ts","../src/version2/parameters/index.ts","../src/version3/index.ts","../src/version3/announcementBanner.ts","../src/version3/appDataPolicies.ts","../src/version3/applicationRoles.ts","../src/version3/appMigration.ts","../src/version3/appProperties.ts","../src/version3/auditRecords.ts","../src/version3/avatars.ts","../src/version3/classificationLevels.ts","../src/version3/dashboards.ts","../src/version3/dynamicModules.ts","../src/version3/filters.ts","../src/version3/filterSharing.ts","../src/version3/groupAndUserPicker.ts","../src/version3/groups.ts","../src/version3/instanceInformation.ts","../src/version3/issueAttachments.ts","../src/version3/issueBulkOperations.ts","../src/version3/issueCommentProperties.ts","../src/version3/issueComments.ts","../src/version3/issueCustomFieldAssociations.ts","../src/version3/issueCustomFieldConfigurationApps.ts","../src/version3/issueCustomFieldContexts.ts","../src/version3/issueCustomFieldOptions.ts","../src/version3/issueCustomFieldOptionsApps.ts","../src/version3/issueCustomFieldValuesApps.ts","../src/version3/issueFieldConfigurations.ts","../src/version3/issueFields.ts","../src/version3/issueLinks.ts","../src/version3/issueLinkTypes.ts","../src/version3/issueNavigatorSettings.ts","../src/version3/issueNotificationSchemes.ts","../src/version3/issuePriorities.ts","../src/version3/issueProperties.ts","../src/version3/issueRemoteLinks.ts","../src/version3/issueResolutions.ts","../src/version3/issues.ts","../src/version3/issueSearch.ts","../src/version3/issueSecurityLevel.ts","../src/version3/issueSecuritySchemes.ts","../src/version3/issueTypeProperties.ts","../src/version3/issueTypes.ts","../src/version3/issueTypeSchemes.ts","../src/version3/issueTypeScreenSchemes.ts","../src/version3/issueVotes.ts","../src/version3/issueWatchers.ts","../src/version3/issueWorklogProperties.ts","../src/version3/issueWorklogs.ts","../src/version3/jiraExpressions.ts","../src/version3/jiraSettings.ts","../src/version3/jQL.ts","../src/version3/jqlFunctionsApps.ts","../src/version3/labels.ts","../src/version3/licenseMetrics.ts","../src/version3/myself.ts","../src/version3/permissions.ts","../src/version3/permissionSchemes.ts","../src/version3/plans.ts","../src/version3/prioritySchemes.ts","../src/version3/projectAvatars.ts","../src/version3/projectCategories.ts","../src/version3/projectClassificationLevels.ts","../src/version3/projectComponents.ts","../src/version3/projectEmail.ts","../src/version3/projectFeatures.ts","../src/version3/projectKeyAndNameValidation.ts","../src/version3/projectPermissionSchemes.ts","../src/version3/projectProperties.ts","../src/version3/projectRoleActors.ts","../src/version3/projectRoles.ts","../src/version3/projects.ts","../src/version3/projectTemplates.ts","../src/version3/projectTypes.ts","../src/version3/projectVersions.ts","../src/version3/screens.ts","../src/version3/screenSchemes.ts","../src/version3/screenTabFields.ts","../src/version3/screenTabs.ts","../src/version3/serverInfo.ts","../src/version3/serviceRegistry.ts","../src/version3/status.ts","../src/version3/tasks.ts","../src/version3/teamsInPlan.ts","../src/version3/timeTracking.ts","../src/version3/uIModificationsApps.ts","../src/version3/userNavProperties.ts","../src/version3/userProperties.ts","../src/version3/users.ts","../src/version3/userSearch.ts","../src/version3/webhooks.ts","../src/version3/workflows.ts","../src/version3/workflowSchemeDrafts.ts","../src/version3/workflowSchemeProjectAssociations.ts","../src/version3/workflowSchemes.ts","../src/version3/workflowStatusCategories.ts","../src/version3/workflowStatuses.ts","../src/version3/workflowTransitionProperties.ts","../src/version3/workflowTransitionRules.ts","../src/version3/client/version3Client.ts","../src/version3/models/index.ts","../src/version3/parameters/index.ts","../src/serviceDesk/index.ts","../src/serviceDesk/customer.ts","../src/serviceDesk/info.ts","../src/serviceDesk/insight.ts","../src/serviceDesk/knowledgeBase.ts","../src/serviceDesk/organization.ts","../src/serviceDesk/request.ts","../src/serviceDesk/requestType.ts","../src/serviceDesk/serviceDesk.ts","../src/serviceDesk/models/index.ts","../src/serviceDesk/parameters/index.ts","../src/serviceDesk/client/serviceDeskClient.ts","../src/createClient.ts"],"sourcesContent":["export * from './backlog';\nexport * from './board';\nexport * from './builds';\nexport * from './deployments';\nexport * from './developmentInformation';\nexport * from './devopsComponents';\nexport * from './epic';\nexport * from './featureFlags';\nexport * from './issue';\nexport * from './operations';\nexport * from './remoteLinks';\nexport * from './securityInformation';\nexport * from './sprint';\n\nexport * as AgileModels from './models';\nexport * as AgileParameters from './parameters';\nexport * from './client';\n","import type * as Parameters from './parameters';\nimport type { Client } from '../clients';\nimport type { Callback } from '../callback';\nimport type { RequestConfig } from '../requestConfig';\n\nexport class Backlog {\n constructor(private client: Client) {}\n\n /**\n * Move issues to the backlog.\\\n * This operation is equivalent to remove future and active sprints from a given set of issues. At most 50 issues may\n * be moved at once.\n */\n async moveIssuesToBacklog<T = void>(parameters: Parameters.MoveIssuesToBacklog, callback: Callback<T>): Promise<void>;\n /**\n * Move issues to the backlog.\\\n * This operation is equivalent to remove future and active sprints from a given set of issues. At most 50 issues may\n * be moved at once.\n */\n async moveIssuesToBacklog<T = void>(parameters: Parameters.MoveIssuesToBacklog, callback?: never): Promise<T>;\n async moveIssuesToBacklog<T = void>(\n parameters: Parameters.MoveIssuesToBacklog,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: '/rest/agile/1.0/backlog/issue',\n method: 'POST',\n data: {\n issues: parameters.issues,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Move issues to the backlog of a particular board (if they are already on that board).\\\n * This operation is equivalent to remove future and active sprints from a given set of issues if the board has\n * sprints If the board does not have sprints this will put the issues back into the backlog from the board. At most\n * 50 issues may be moved at once.\n */\n async moveIssuesToBacklogForBoard<T = void>(\n parameters: Parameters.MoveIssuesToBacklogForBoard,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Move issues to the backlog of a particular board (if they are already on that board).\\\n * This operation is equivalent to remove future and active sprints from a given set of issues if the board has\n * sprints If the board does not have sprints this will put the issues back into the backlog from the board. At most\n * 50 issues may be moved at once.\n */\n async moveIssuesToBacklogForBoard<T = void>(\n parameters: Parameters.MoveIssuesToBacklogForBoard,\n callback?: never,\n ): Promise<T>;\n async moveIssuesToBacklogForBoard<T = void>(\n parameters: Parameters.MoveIssuesToBacklogForBoard,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/backlog/${parameters.boardId}/issue`,\n method: 'POST',\n data: {\n issues: parameters.issues,\n rankAfterIssue: parameters.rankAfterIssue,\n rankBeforeIssue: parameters.rankBeforeIssue,\n rankCustomFieldId: parameters.rankCustomFieldId,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n}\n","import type * as Models from './models';\nimport type * as Parameters from './parameters';\nimport type { Client } from '../clients';\nimport type { Callback } from '../callback';\nimport type { Paginated } from '../paginated';\nimport type { RequestConfig } from '../requestConfig';\n\nexport class Board {\n constructor(private client: Client) {}\n\n /**\n * Returns all boards. This only includes boards that the user has permission to view.\n *\n * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on February 15, 2024.\n *\n * - `read:board-scope:jira-software`, `read:project:jira`\n */\n async getAllBoards<T = Models.GetAllBoards>(\n parameters: Parameters.GetAllBoards | undefined,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns all boards. This only includes boards that the user has permission to view.\n *\n * **Deprecation notice:** The required OAuth 2.0 scopes will be updated on February 15, 2024.\n *\n * - `read:board-scope:jira-software`, `read:project:jira`\n */\n async getAllBoards<T = Models.GetAllBoards>(parameters?: Parameters.GetAllBoards, callback?: never): Promise<T>;\n async getAllBoards<T = Models.GetAllBoards>(\n parameters?: Parameters.GetAllBoards,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: '/rest/agile/1.0/board',\n method: 'GET',\n params: {\n startAt: parameters?.startAt,\n maxResults: parameters?.maxResults,\n type: parameters?.type,\n name: parameters?.name,\n projectKeyOrId: parameters?.projectKeyOrId,\n accountIdLocation: parameters?.accountIdLocation,\n projectLocation: parameters?.projectLocation,\n includePrivate: parameters?.includePrivate,\n negateLocationFiltering: parameters?.negateLocationFiltering,\n orderBy: parameters?.orderBy,\n expand: parameters?.expand,\n projectTypeLocation: parameters?.projectTypeLocation,\n filterId: parameters?.filterId,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Creates a new board. Board name, type and filter ID is required.\n *\n * - `name` - Must be less than 255 characters.\n * - `type` - Valid values: scrum, kanban\n * - `filterId` - ID of a filter that the user has permissions to view. Note, if the user does not have the 'Create\n * shared objects' permission and tries to create a shared board, a private board will be created instead (remember\n * that board sharing depends on the filter sharing).\n * - `location` - The container that the board will be located in. `location` must include the `type` property (Valid\n * values: project, user). If choosing 'project', then a project must be specified by a `projectKeyOrId` property in\n * `location`. If choosing 'user', the current user is chosen by default. The `projectKeyOrId` property should not\n * be provided.\n *\n * Note:\n *\n * - If you want to create a new project with an associated board, use the [Jira platform REST\n * API](https://docs.atlassian.com/jira/REST/latest). For more information, see the [Create\n * project](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-post)\n * method. The `projectTypeKey` for software boards must be 'software' and the `projectTemplateKey` must be either\n * `com.pyxis.greenhopper.jira:gh-kanban-template` or `com.pyxis.greenhopper.jira:gh-scrum-template`.\n * - You can create a filter using the [Jira REST API](https://docs.atlassian.com/jira/REST/latest). For more\n * information, see the [Create\n * filter](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-filters/#api-rest-api-3-filter-post)\n * method.\n * - If you do not ORDER BY the Rank field for the filter of your board, you will not be able to reorder issues on the\n * board.\n */\n async createBoard<T = Models.CreateBoard>(parameters: Parameters.CreateBoard, callback: Callback<T>): Promise<void>;\n /**\n * Creates a new board. Board name, type and filter ID is required.\n *\n * - `name` - Must be less than 255 characters.\n * - `type` - Valid values: scrum, kanban\n * - `filterId` - ID of a filter that the user has permissions to view. Note, if the user does not have the 'Create\n * shared objects' permission and tries to create a shared board, a private board will be created instead (remember\n * that board sharing depends on the filter sharing).\n * - `location` - The container that the board will be located in. `location` must include the `type` property (Valid\n * values: project, user). If choosing 'project', then a project must be specified by a `projectKeyOrId` property in\n * `location`. If choosing 'user', the current user is chosen by default. The `projectKeyOrId` property should not\n * be provided.\n *\n * Note:\n *\n * - If you want to create a new project with an associated board, use the [Jira platform REST\n * API](https://docs.atlassian.com/jira/REST/latest). For more information, see the [Create\n * project](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-projects/#api-rest-api-3-project-post)\n * method. The `projectTypeKey` for software boards must be 'software' and the `projectTemplateKey` must be either\n * `com.pyxis.greenhopper.jira:gh-kanban-template` or `com.pyxis.greenhopper.jira:gh-scrum-template`.\n * - You can create a filter using the [Jira REST API](https://docs.atlassian.com/jira/REST/latest). For more\n * information, see the [Create\n * filter](https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-filters/#api-rest-api-3-filter-post)\n * method.\n * - If you do not ORDER BY the Rank field for the filter of your board, you will not be able to reorder issues on the\n * board.\n */\n async createBoard<T = Models.CreateBoard>(parameters: Parameters.CreateBoard, callback?: never): Promise<T>;\n async createBoard<T = Models.CreateBoard>(\n parameters: Parameters.CreateBoard,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: '/rest/agile/1.0/board',\n method: 'POST',\n data: {\n filterId: parameters.filterId,\n location: parameters.location,\n name: parameters.name,\n type: parameters.type,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns any boards which use the provided filter id. This method can be executed by users without a valid software\n * license in order to find which boards are using a particular filter.\n */\n async getBoardByFilterId<T = Models.GetBoardByFilterId>(\n parameters: Parameters.GetBoardByFilterId,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns any boards which use the provided filter id. This method can be executed by users without a valid software\n * license in order to find which boards are using a particular filter.\n */\n async getBoardByFilterId<T = Models.GetBoardByFilterId>(\n parameters: Parameters.GetBoardByFilterId,\n callback?: never,\n ): Promise<T>;\n async getBoardByFilterId<T = Models.GetBoardByFilterId>(\n parameters: Parameters.GetBoardByFilterId,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/filter/${parameters.filterId}`,\n method: 'GET',\n params: {\n startAt: parameters.startAt,\n maxResults: parameters.maxResults,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns the board for the given board ID. This board will only be returned if the user has permission to view it.\n * Admins without the view permission will see the board as a private one, so will see only a subset of the board's\n * data (board location for instance).\n */\n async getBoard<T = Models.GetBoard>(parameters: Parameters.GetBoard, callback: Callback<T>): Promise<void>;\n /**\n * Returns the board for the given board ID. This board will only be returned if the user has permission to view it.\n * Admins without the view permission will see the board as a private one, so will see only a subset of the board's\n * data (board location for instance).\n */\n async getBoard<T = Models.GetBoard>(parameters: Parameters.GetBoard, callback?: never): Promise<T>;\n async getBoard<T = Models.GetBoard>(parameters: Parameters.GetBoard, callback?: Callback<T>): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}`,\n method: 'GET',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /** Deletes the board. Admin without the view permission can still remove the board. */\n async deleteBoard<T = void>(parameters: Parameters.DeleteBoard, callback: Callback<T>): Promise<void>;\n /** Deletes the board. Admin without the view permission can still remove the board. */\n async deleteBoard<T = void>(parameters: Parameters.DeleteBoard, callback?: never): Promise<T>;\n async deleteBoard<T = void>(parameters: Parameters.DeleteBoard, callback?: Callback<T>): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}`,\n method: 'DELETE',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns all issues from the board's backlog, for the given board ID. This only includes issues that the user has\n * permission to view. The backlog contains incomplete issues that are not assigned to any future or active sprint.\n * Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned\n * from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned\n * issues are ordered by rank.\n */\n async getIssuesForBacklog<T = Models.SearchResults>(\n parameters: Parameters.GetIssuesForBacklog,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns all issues from the board's backlog, for the given board ID. This only includes issues that the user has\n * permission to view. The backlog contains incomplete issues that are not assigned to any future or active sprint.\n * Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned\n * from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned\n * issues are ordered by rank.\n */\n async getIssuesForBacklog<T = Models.SearchResults>(\n parameters: Parameters.GetIssuesForBacklog,\n callback?: never,\n ): Promise<T>;\n async getIssuesForBacklog<T = Models.SearchResults>(\n parameters: Parameters.GetIssuesForBacklog,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/backlog`,\n method: 'GET',\n params: {\n startAt: parameters.startAt,\n maxResults: parameters.maxResults,\n jql: parameters.jql,\n validateQuery: parameters.validateQuery,\n fields: parameters.fields,\n expand: parameters.expand,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Get the board configuration. The response contains the following fields:\n *\n * - `id` - ID of the board.\n * - `name` - Name of the board.\n * - `filter` - Reference to the filter used by the given board.\n * - `location` - Reference to the container that the board is located in. Includes the container type (Valid values:\n * project, user).\n * - `subQuery` (Kanban only) - JQL subquery used by the given board.\n * - `columnConfig` - The column configuration lists the columns for the board, in the order defined in the column\n * configuration. For each column, it shows the issue status mapping as well as the constraint type (Valid values:\n * none, issueCount, issueCountExclSubs) for the min/max number of issues. Note, the last column with statuses\n * mapped to it is treated as the \"Done\" column, which means that issues in that column will be marked as already\n * completed.\n * - `estimation` (Scrum only) - Contains information about type of estimation used for the board. Valid values: none,\n * issueCount, field. If the estimation type is \"field\", the ID and display name of the field used for estimation is\n * also returned. Note, estimates for an issue can be updated by a PUT /rest/api/3/issue/{issueIdOrKey} request,\n * however the fields must be on the screen. \"timeoriginalestimate\" field will never be on the screen, so in order\n * to update it \"originalEstimate\" in \"timetracking\" field should be updated.\n * - `ranking` - Contains information about custom field used for ranking in the given board.\n */\n async getConfiguration<T = Models.GetConfiguration>(\n parameters: Parameters.GetConfiguration,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Get the board configuration. The response contains the following fields:\n *\n * - `id` - ID of the board.\n * - `name` - Name of the board.\n * - `filter` - Reference to the filter used by the given board.\n * - `location` - Reference to the container that the board is located in. Includes the container type (Valid values:\n * project, user).\n * - `subQuery` (Kanban only) - JQL subquery used by the given board.\n * - `columnConfig` - The column configuration lists the columns for the board, in the order defined in the column\n * configuration. For each column, it shows the issue status mapping as well as the constraint type (Valid values:\n * none, issueCount, issueCountExclSubs) for the min/max number of issues. Note, the last column with statuses\n * mapped to it is treated as the \"Done\" column, which means that issues in that column will be marked as already\n * completed.\n * - `estimation` (Scrum only) - Contains information about type of estimation used for the board. Valid values: none,\n * issueCount, field. If the estimation type is \"field\", the ID and display name of the field used for estimation is\n * also returned. Note, estimates for an issue can be updated by a PUT /rest/api/3/issue/{issueIdOrKey} request,\n * however the fields must be on the screen. \"timeoriginalestimate\" field will never be on the screen, so in order\n * to update it \"originalEstimate\" in \"timetracking\" field should be updated.\n * - `ranking` - Contains information about custom field used for ranking in the given board.\n */\n async getConfiguration<T = Models.GetConfiguration>(\n parameters: Parameters.GetConfiguration,\n callback?: never,\n ): Promise<T>;\n async getConfiguration<T = Models.GetConfiguration>(\n parameters: Parameters.GetConfiguration,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/configuration`,\n method: 'GET',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns all epics from the board, for the given board ID. This only includes epics that the user has permission to\n * view. Note, if the user does not have permission to view the board, no epics will be returned at all.\n */\n async getEpics<T = Paginated<Models.Epic>>(parameters: Parameters.GetEpics, callback: Callback<T>): Promise<void>;\n /**\n * Returns all epics from the board, for the given board ID. This only includes epics that the user has permission to\n * view. Note, if the user does not have permission to view the board, no epics will be returned at all.\n */\n async getEpics<T = Paginated<Models.Epic>>(parameters: Parameters.GetEpics, callback?: never): Promise<T>;\n async getEpics<T = Paginated<Models.Epic>>(\n parameters: Parameters.GetEpics,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/epic`,\n method: 'GET',\n params: {\n startAt: parameters.startAt,\n maxResults: parameters.maxResults,\n done: parameters.done,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns all issues that do not belong to any epic on a board, for a given board ID. This only includes issues that\n * the user has permission to view. Issues returned from this resource include Agile fields, like sprint,\n * closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.\n */\n async getIssuesWithoutEpicForBoard<T = Models.SearchResults>(\n parameters: Parameters.GetIssuesWithoutEpicForBoard,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns all issues that do not belong to any epic on a board, for a given board ID. This only includes issues that\n * the user has permission to view. Issues returned from this resource include Agile fields, like sprint,\n * closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.\n */\n async getIssuesWithoutEpicForBoard<T = Models.SearchResults>(\n parameters: Parameters.GetIssuesWithoutEpicForBoard,\n callback?: never,\n ): Promise<T>;\n async getIssuesWithoutEpicForBoard<T = Models.SearchResults>(\n parameters: Parameters.GetIssuesWithoutEpicForBoard,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/epic/none/issue`,\n method: 'GET',\n params: {\n startAt: parameters.startAt,\n maxResults: parameters.maxResults,\n jql: parameters.jql,\n validateQuery: parameters.validateQuery,\n fields: parameters.fields,\n expand: parameters.expand,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns all issues that belong to an epic on the board, for the given epic ID and the board ID. This only includes\n * issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint,\n * closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.\n */\n async getBoardIssuesForEpic<T = Models.SearchResults>(\n parameters: Parameters.GetBoardIssuesForEpic,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns all issues that belong to an epic on the board, for the given epic ID and the board ID. This only includes\n * issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint,\n * closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.\n */\n async getBoardIssuesForEpic<T = Models.SearchResults>(\n parameters: Parameters.GetBoardIssuesForEpic,\n callback?: never,\n ): Promise<T>;\n async getBoardIssuesForEpic<T = Models.SearchResults>(\n parameters: Parameters.GetBoardIssuesForEpic,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/epic/${parameters.epicId}/issue`,\n method: 'GET',\n params: {\n startAt: parameters.startAt,\n maxResults: parameters.maxResults,\n jql: parameters.jql,\n validateQuery: parameters.validateQuery,\n fields: parameters.fields,\n expand: parameters.expand,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n async getFeaturesForBoard<T = Models.GetFeaturesForBoard>(\n parameters: Parameters.GetFeaturesForBoard,\n callback: Callback<T>,\n ): Promise<void>;\n async getFeaturesForBoard<T = Models.GetFeaturesForBoard>(\n parameters: Parameters.GetFeaturesForBoard,\n callback?: never,\n ): Promise<T>;\n async getFeaturesForBoard<T = Models.GetFeaturesForBoard>(\n parameters: Parameters.GetFeaturesForBoard,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/features`,\n method: 'GET',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n async toggleFeatures<T = Models.ToggleFeatures>(\n parameters: Parameters.ToggleFeatures,\n callback: Callback<T>,\n ): Promise<void>;\n async toggleFeatures<T = Models.ToggleFeatures>(parameters: Parameters.ToggleFeatures, callback?: never): Promise<T>;\n async toggleFeatures<T = Models.ToggleFeatures>(\n parameters: Parameters.ToggleFeatures,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/features`,\n method: 'PUT',\n data: parameters.body,\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns all issues from a board, for a given board ID. This only includes issues that the user has permission to\n * view. An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to\n * the scrum boards. Note, if the user does not have permission to view the board, no issues will be returned at all.\n * Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default,\n * the returned issues are ordered by rank.\n */\n async getIssuesForBoard<T = Models.SearchResults>(\n parameters: Parameters.GetIssuesForBoard,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns all issues from a board, for a given board ID. This only includes issues that the user has permission to\n * view. An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to\n * the scrum boards. Note, if the user does not have permission to view the board, no issues will be returned at all.\n * Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default,\n * the returned issues are ordered by rank.\n */\n async getIssuesForBoard<T = Models.SearchResults>(\n parameters: Parameters.GetIssuesForBoard,\n callback?: never,\n ): Promise<T>;\n async getIssuesForBoard<T = Models.SearchResults>(\n parameters: Parameters.GetIssuesForBoard,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/issue`,\n method: 'GET',\n params: {\n startAt: parameters.startAt,\n maxResults: parameters.maxResults,\n jql: parameters.jql,\n validateQuery: parameters.validateQuery,\n fields: parameters.fields,\n expand: parameters.expand,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Move issues from the backlog to the board (if they are already in the backlog of that board).\\\n * This operation either moves an issue(s) onto a board from the backlog (by adding it to the issueList for the board)\n * Or transitions the issue(s) to the first column for a kanban board with backlog. At most 50 issues may be moved at\n * once.\n */\n async moveIssuesToBoard<T = void>(parameters: Parameters.MoveIssuesToBoard, callback: Callback<T>): Promise<void>;\n /**\n * Move issues from the backlog to the board (if they are already in the backlog of that board).\\\n * This operation either moves an issue(s) onto a board from the backlog (by adding it to the issueList for the board)\n * Or transitions the issue(s) to the first column for a kanban board with backlog. At most 50 issues may be moved at\n * once.\n */\n async moveIssuesToBoard<T = void>(parameters: Parameters.MoveIssuesToBoard, callback?: never): Promise<T>;\n async moveIssuesToBoard<T = void>(\n parameters: Parameters.MoveIssuesToBoard,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/issue`,\n method: 'POST',\n data: {\n issues: parameters.issues,\n rankAfterIssue: parameters.rankAfterIssue,\n rankBeforeIssue: parameters.rankBeforeIssue,\n rankCustomFieldId: parameters.rankCustomFieldId,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns all projects that are associated with the board, for the given board ID. If the user does not have\n * permission to view the board, no projects will be returned at all. Returned projects are ordered by the name.\n *\n * A project is associated with a board if the board filter contains reference the project or there is an issue from\n * the project that belongs to the board.\n *\n * The board filter contains reference the project only if JQL query guarantees that returned issues will be returned\n * from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have\n * reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to\n * any project.\n *\n * An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to the\n * scrum boards.\n */\n async getProjects<T = Paginated<Models.Projects>>(\n parameters: Parameters.GetProjects,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns all projects that are associated with the board, for the given board ID. If the user does not have\n * permission to view the board, no projects will be returned at all. Returned projects are ordered by the name.\n *\n * A project is associated with a board if the board filter contains reference the project or there is an issue from\n * the project that belongs to the board.\n *\n * The board filter contains reference the project only if JQL query guarantees that returned issues will be returned\n * from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have\n * reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to\n * any project.\n *\n * An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to the\n * scrum boards.\n */\n async getProjects<T = Paginated<Models.Projects>>(parameters: Parameters.GetProjects, callback?: never): Promise<T>;\n async getProjects<T = Paginated<Models.Projects>>(\n parameters: Parameters.GetProjects,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/project`,\n method: 'GET',\n params: {\n startAt: parameters.startAt,\n maxResults: parameters.maxResults,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns all projects that are statically associated with the board, for the given board ID. Returned projects are\n * ordered by the name.\n *\n * A project is associated with a board if the board filter contains reference the project.\n *\n * The board filter contains reference the project only if JQL query guarantees that returned issues will be returned\n * from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have\n * reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to\n * any project.\n */\n async getProjectsFull<T = Models.Projects[]>(\n parameters: Parameters.GetProjectsFull,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns all projects that are statically associated with the board, for the given board ID. Returned projects are\n * ordered by the name.\n *\n * A project is associated with a board if the board filter contains reference the project.\n *\n * The board filter contains reference the project only if JQL query guarantees that returned issues will be returned\n * from the project set defined in JQL. For instance the query `project in (ABC, BCD) AND reporter = admin` have\n * reference to ABC and BCD projects but query `project in (ABC, BCD) OR reporter = admin` doesn't have reference to\n * any project.\n */\n async getProjectsFull<T = Models.Projects[]>(parameters: Parameters.GetProjectsFull, callback?: never): Promise<T>;\n async getProjectsFull<T = Models.Projects[]>(\n parameters: Parameters.GetProjectsFull,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/project/full`,\n method: 'GET',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns the keys of all properties for the board identified by the id. The user who retrieves the property keys is\n * required to have permissions to view the board.\n */\n async getBoardPropertyKeys<T = unknown>(\n parameters: Parameters.GetBoardPropertyKeys,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns the keys of all properties for the board identified by the id. The user who retrieves the property keys is\n * required to have permissions to view the board.\n */\n async getBoardPropertyKeys<T = unknown>(parameters: Parameters.GetBoardPropertyKeys, callback?: never): Promise<T>;\n async getBoardPropertyKeys<T = unknown>(\n parameters: Parameters.GetBoardPropertyKeys,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/properties`,\n method: 'GET',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns the value of the property with a given key from the board identified by the provided id. The user who\n * retrieves the property is required to have permissions to view the board.\n */\n async getBoardProperty<T = unknown>(parameters: Parameters.GetBoardProperty, callback: Callback<T>): Promise<void>;\n /**\n * Returns the value of the property with a given key from the board identified by the provided id. The user who\n * retrieves the property is required to have permissions to view the board.\n */\n async getBoardProperty<T = unknown>(parameters: Parameters.GetBoardProperty, callback?: never): Promise<T>;\n async getBoardProperty<T = unknown>(\n parameters: Parameters.GetBoardProperty,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/properties/${parameters.propertyKey}`,\n method: 'GET',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Sets the value of the specified board's property.\n *\n * You can use this resource to store a custom data against the board identified by the id. The user who stores the\n * data is required to have permissions to modify the board.\n */\n async setBoardProperty<T = unknown>(parameters: Parameters.SetBoardProperty, callback: Callback<T>): Promise<void>;\n /**\n * Sets the value of the specified board's property.\n *\n * You can use this resource to store a custom data against the board identified by the id. The user who stores the\n * data is required to have permissions to modify the board.\n */\n async setBoardProperty<T = unknown>(parameters: Parameters.SetBoardProperty, callback?: never): Promise<T>;\n async setBoardProperty<T = unknown>(\n parameters: Parameters.SetBoardProperty,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/properties/${parameters.propertyKey}`,\n method: 'PUT',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Removes the property from the board identified by the id. Ths user removing the property is required to have\n * permissions to modify the board.\n */\n async deleteBoardProperty<T = void>(parameters: Parameters.DeleteBoardProperty, callback: Callback<T>): Promise<void>;\n /**\n * Removes the property from the board identified by the id. Ths user removing the property is required to have\n * permissions to modify the board.\n */\n async deleteBoardProperty<T = void>(parameters: Parameters.DeleteBoardProperty, callback?: never): Promise<T>;\n async deleteBoardProperty<T = void>(\n parameters: Parameters.DeleteBoardProperty,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/properties/${parameters.propertyKey}`,\n method: 'DELETE',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /** Returns all quick filters from a board, for a given board ID. */\n async getAllQuickFilters<T = Models.GetAllQuickFilters>(\n parameters: Parameters.GetAllQuickFilters,\n callback: Callback<T>,\n ): Promise<void>;\n /** Returns all quick filters from a board, for a given board ID. */\n async getAllQuickFilters<T = Models.GetAllQuickFilters>(\n parameters: Parameters.GetAllQuickFilters,\n callback?: never,\n ): Promise<T>;\n async getAllQuickFilters<T = Models.GetAllQuickFilters>(\n parameters: Parameters.GetAllQuickFilters,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/quickfilter`,\n method: 'GET',\n params: {\n startAt: parameters.startAt,\n maxResults: parameters.maxResults,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns the quick filter for a given quick filter ID. The quick filter will only be returned if the user can view\n * the board that the quick filter belongs to.\n */\n async getQuickFilter<T = Models.GetQuickFilter>(\n parameters: Parameters.GetQuickFilter,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns the quick filter for a given quick filter ID. The quick filter will only be returned if the user can view\n * the board that the quick filter belongs to.\n */\n async getQuickFilter<T = Models.GetQuickFilter>(parameters: Parameters.GetQuickFilter, callback?: never): Promise<T>;\n async getQuickFilter<T = Models.GetQuickFilter>(\n parameters: Parameters.GetQuickFilter,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/quickfilter/${parameters.quickFilterId}`,\n method: 'GET',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n async getReportsForBoard<T = Models.GetReportsForBoard>(\n parameters: Parameters.GetReportsForBoard,\n callback: Callback<T>,\n ): Promise<void>;\n async getReportsForBoard<T = Models.GetReportsForBoard>(\n parameters: Parameters.GetReportsForBoard,\n callback?: never,\n ): Promise<T>;\n async getReportsForBoard<T = Models.GetReportsForBoard>(\n parameters: Parameters.GetReportsForBoard,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/reports`,\n method: 'GET',\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Returns all sprints from a board, for a given board ID. This only includes sprints that the user has permission to\n * view.\n */\n async getAllSprints<T = Paginated<Models.Sprint>>(\n parameters: Parameters.GetAllSprints,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Returns all sprints from a board, for a given board ID. This only includes sprints that the user has permission to\n * view.\n */\n async getAllSprints<T = Paginated<Models.Sprint>>(parameters: Parameters.GetAllSprints, callback?: never): Promise<T>;\n async getAllSprints<T = Paginated<Models.Sprint>>(\n parameters: Parameters.GetAllSprints,\n callback?: Callback<T>,\n ): Promise<void | T> {\n const config: RequestConfig = {\n url: `/rest/agile/1.0/board/${parameters.boardId}/sprint`,\n method: 'GET',\n params: {\n startAt: parameters.startAt,\n maxResults: parameters.maxResults,\n state: parameters.state,\n },\n };\n\n return this.client.sendRequest(config, callback);\n }\n\n /**\n * Get all issues you have access to that belong to the sprint from the board. Issue returned from this resource\n * contains additional fields like: sprint, closedSprints, flagged and epic. Issues are returned ordered by rank. JQL\n * order has higher priority than default rank.\n */\n async getBoardIssuesForSprint<T = unknown>(\n parameters: Parameters.GetBoardIssuesForSprint,\n callback: Callback<T>,\n ): Promise<void>;\n /**\n * Get all issues you have access to that belong to the sprint from the board. Issue returned from this resource\n * contains additional fields like: sprint, closedSprints, flagged and epic. Issue