fetch-jira-software

A simple and typed library, based on OpenAPI spec from developer.atlassian.com, for accessing product APIs.

Usage no npm install needed!

<script type="module">
  import fetchJiraSoftware from 'https://cdn.skypack.dev/fetch-jira-software';
</script>

README

fetch-jira-software

A simple and typed library, based on OpenAPI spec from developer.atlassian.com, for accessing product APIs.

TypeScript

Fetch Jira Software - Documentation

Contents

Methods


The BacklogApi object

moveIssuesToBacklog() - Move issues to backlog

Move issues to the backlog.
This operation is equivalent to remove future and active sprints from a given set of issues. At most 50 issues may be moved at once.

Usage:

import { BacklogApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BacklogApi(config).moveIssuesToBacklog({
  moveIssuesToBacklog: { ... }
});
moveIssuesToBacklogForBoard() - Move issues to backlog for board

Move issues to the backlog of a particular board (if they are already on that board).
This operation is equivalent to remove future and active sprints from a given set of issues if the board has sprints If the board does not have sprints this will put the issues back into the backlog from the board. At most 50 issues may be moved at once.

Usage:

import { BacklogApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BacklogApi(config).moveIssuesToBacklogForBoard({
  boardId: integer
  moveIssuesToBacklogForBoard: { ... }
});

The BoardApi object

createBoard() - Create board

Creates a new board. Board name, type and filter ID is required.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).createBoard({
  bodies_createBoard: { ... }
});
deleteBoard() - Delete board

Deletes the board. Admin without the view permission can still remove the board.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).deleteBoard({ ...args });
deleteBoardProperty() - Delete board property

Removes the property from the board identified by the id. Ths user removing the property is required to have permissions to modify the board.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).deleteBoardProperty({ ...args });
getAllBoards() - Get all boards

Returns all boards. This only includes boards that the user has permission to view.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getAllBoards({ ...args });
getAllQuickFilters() - Get all quick filters

Returns all quick filters from a board, for a given board ID.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getAllQuickFilters({ ...args });
getAllSprints() - Get all sprints

Returns all sprints from a board, for a given board ID. This only includes sprints that the user has permission to view.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getAllSprints({ ...args });
getAllVersions() - Get all versions

Returns all versions from a board, for a given board ID. This only includes versions that the user has permission to view. Note, if the user does not have permission to view the board, no versions will be returned at all. Returned versions are ordered by the name of the project from which they belong and then by sequence defined by user.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getAllVersions({ ...args });
getBoard() - Get board

Returns the board for the given board ID. This board will only be returned if the user has permission to view it. Admins without the view permission will see the board as a private one, so will see only a subset of the board's data (board location for instance).

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getBoard({ ...args });
getBoardByFilterId() - Get board by filter id

Returns any boards which use the provided filter id. This method can be executed by users without a valid software license in order to find which boards are using a particular filter.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getBoardByFilterId({ ...args });
getBoardProperty() - Get board property

Returns the value of the property with a given key from the board identified by the provided id. The user who retrieves the property is required to have permissions to view the board.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getBoardProperty({ ...args });
getBoardPropertyKeys() - Get board property keys

Returns the keys of all properties for the board identified by the id. The user who retrieves the property keys is required to have permissions to view the board.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getBoardPropertyKeys({ ...args });
getConfiguration() - Get configuration

Get the board configuration. The response contains the following fields:

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getConfiguration({ ...args });
getEpics() - Get epics

Returns all epics from the board, for the given board ID. This only includes epics that the user has permission to view. Note, if the user does not have permission to view the board, no epics will be returned at all.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getEpics({ ...args });
getFeaturesForBoard() - Get features for board

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getFeaturesForBoard({ ...args });
getIssuesForBacklog() - Get issues for backlog

Returns all issues from the board's backlog, for the given board ID. This only includes issues that the user has permission to view. The backlog contains incomplete issues that are not assigned to any future or active sprint. Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getIssuesForBacklog({ ...args });
getIssuesForBoard() - Get issues for board

Returns all issues from a board, for a given board ID. This only includes issues that the user has permission to view. An issue belongs to the board if its status is mapped to the board's column. Epic issues do not belongs to the scrum boards. Note, if the user does not have permission to view the board, no issues will be returned at all. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getIssuesForBoard({ ...args });
getIssuesForEpic() - Get issues for epic

Returns all issues that belong to an epic on the board, for the given epic ID and the board ID. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getIssuesForEpic({ ...args });
getIssuesForSprint() - Get issues for sprint

Get all issues you have access to that belong to the sprint from the board. Issue returned from this resource contains additional fields like: sprint, closedSprints, flagged and epic. Issues are returned ordered by rank. JQL order has higher priority than default rank.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getIssuesForSprint({ ...args });
getIssuesWithoutEpic() - Get issues without epic

Returns all issues that do not belong to any epic on a board, for a given board ID. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getIssuesWithoutEpic({ ...args });
getProjects() - Get projects

Returns all projects that are associated with the board, for the given board ID. If the user does not have permission to view the board, no projects will be returned at all. Returned projects are ordered by the name.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getProjects({ ...args });
getProjectsFull() - Get projects full

Returns all projects that are statically associated with the board, for the given board ID. Returned projects are ordered by the name.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getProjectsFull({ ...args });
getQuickFilter() - Get quick filter

Returns the quick filter for a given quick filter ID. The quick filter will only be returned if the user can view the board that the quick filter belongs to.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getQuickFilter({ ...args });
getReportsForBoard() - Get reports for board

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).getReportsForBoard({ ...args });
moveIssuesToBoard() - Move issues to board

Move issues from the backog to the board (if they are already in the backlog of that board).
This operation either moves an issue(s) onto a board from the backlog (by adding it to the issueList for the board) Or transitions the issue(s) to the first column for a kanban board with backlog. At most 50 issues may be moved at once.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).moveIssuesToBoard({
  boardId: integer
  moveIssuesToBacklogForBoard: { ... }
});
setBoardProperty() - Set board property

Sets the value of the specified board's property.

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).setBoardProperty({ ...args });
toggleFeatures() - Toggle features

Usage:

import { BoardApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BoardApi(config).toggleFeatures({
  boardId: integer
  bodies_toggleFeatures: { ... }
});

The BuildsApi object

deleteBuildByKey() - Delete a build by key

Delete the build data currently stored for the given pipelineId and buildNumber combination. Deletion is performed asynchronously. The getBuildByKey operation can be used to confirm that data has been deleted successfully (if needed). Only apps that define the jiraBuildInfoProvider module can access this resource. This resource requires the 'DELETE' scope.

Usage:

import { BuildsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BuildsApi(config).deleteBuildByKey({ ...args });
deleteBuildsByProperty() - Delete builds by Property

Bulk delete all builds data that match the given request. In addition to the optional _updateSequenceNumber, one or more query params must be supplied to specify Properties to delete by. If more than one Property is provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND). See the documentation for the submitBuilds operation for more details. e.g. DELETE /bulkByProperties?accountId=account-123&repoId=repo-345 Deletion is performed asynchronously. The getBuildByKey operation can be used to confirm that data has been deleted successfully (if needed). Only apps that define the jiraBuildInfoProvider module can access this resource. This resource requires the 'DELETE' scope.

Usage:

import { BuildsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BuildsApi(config).deleteBuildsByProperty({ ...args });
getBuildByKey() - Get a build by key

Retrieve the currently stored build data for the given pipelineId and buildNumber combination. The result will be what is currently stored, ignoring any pending updates or deletes. Only apps that define the jiraBuildInfoProvider module can access this resource. This resource requires the 'READ' scope.

Usage:

import { BuildsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BuildsApi(config).getBuildByKey({ ...args });
submitBuilds() - Submit build data

Update / insert builds data. Builds are identified by the combination of pipelineId and buildNumber, and existing build data for the same build will be replaced if it exists and the updateSequenceNumber of the existing data is less than the incoming data. Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are available within a short period of time, but may take some time during peak load and/or maintenance times. The getBuildByKey operation can be used to confirm that data has been stored successfully (if needed). In the case of multiple builds being submitted in one request, each is validated individually prior to submission. Details of which build failed submission (if any) are available in the response object. Only apps that define the jiraBuildInfoProvider module can access this resource. This resource requires the 'WRITE' scope.

Usage:

import { BuildsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new BuildsApi(config).submitBuilds({
  bodies_submitBuilds: { ... }
});

The DeploymentsApi object

deleteDeploymentByKey() - Delete a deployment by key

Delete the currently stored deployment data for the given pipelineId, environmentId and deploymentSequenceNumber combination. Deletion is performed asynchronously. The getDeploymentByKey operation can be used to confirm that data has been deleted successfully (if needed). Only apps that define the jiraDeploymentInfoProvider module can access this resource. This resource requires the 'DELETE' scope.

Usage:

import { DeploymentsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DeploymentsApi(config).deleteDeploymentByKey({ ...args });
deleteDeploymentsByProperty() - Delete deployments by Property

Bulk delete all deployments that match the given request. In addition to the optional _updateSequenceNumber, one or more query params must be supplied to specify the Properties to delete by. If more than one Property is provided, data will be deleted that matches ALL of the Properties (i.e. treated as AND). See the documentation for the submitDeployments operation for more details. Example operation: DELETE /bulkByProperties?accountId=account-123&createdBy=user-456 Deletion is performed asynchronously. The getDeploymentByKey operation can be used to confirm that data has been deleted successfully (if needed). Only apps that define the jiraDeploymentInfoProvider module can access this resource. This resource requires the 'DELETE' scope.

Usage:

import { DeploymentsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DeploymentsApi(config).deleteDeploymentsByProperty({ ...args });
getDeploymentByKey() - Get a deployment by key

Retrieve the currently stored deployment data for the given pipelineId, environmentId and deploymentSequenceNumber combination. The result will be what is currently stored, ignoring any pending updates or deletes. Only apps that define the jiraDeploymentInfoProvider module can access this resource. This resource requires the 'READ' scope.

Usage:

import { DeploymentsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DeploymentsApi(config).getDeploymentByKey({ ...args });
submitDeployments() - Submit deployment data

Update / insert deployment data. Deployments are identified by the combination of pipelineId, environmentId and deploymentSequenceNumber, and existing deployment data for the same deployment will be replaced if it exists and the updateSequenceNumber of existing data is less than the incoming data. Submissions are processed asynchronously. Submitted data will eventually be available in Jira. Most updates are available within a short period of time, but may take some time during peak load and/or maintenance times. The getDeploymentByKey operation can be used to confirm that data has been stored successfully (if needed). In the case of multiple deployments being submitted in one request, each is validated individually prior to submission. Details of which deployments failed submission (if any) are available in the response object. Only apps that define the jiraDeploymentInfoProvider module can access this resource. This resource requires the 'WRITE' scope.

Usage:

import { DeploymentsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DeploymentsApi(config).submitDeployments({
  bodies_submitDeployments: { ... }
});

The DevelopmentInformationApi object

deleteByProperties() - Delete development information by properties

Deletes development information entities which have all the provided properties. Entities will be deleted that match ALL of the properties (i.e. treated as an AND). For example if request is DELETE bulk?accountId=123&projectId=ABC entities which have properties accountId=123 and projectId=ABC will be deleted. Special property '_updateSequenceId' can be used to delete all entities with updateSequenceId less or equal than the value specified. In addition to the optional '_updateSequenceId', one or more query params must be supplied to specify properties to delete by. Deletion is performed asynchronously: specified entities will eventually be removed from Jira.

Usage:

import { DevelopmentInformationApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DevelopmentInformationApi(config).deleteByProperties({ ...args });
deleteEntity() - Delete development information entity

Deletes particular development information entity. Deletion is performed asynchronously.

Usage:

import { DevelopmentInformationApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DevelopmentInformationApi(config).deleteEntity({ ...args });
deleteRepository() - Delete repository

Deletes the repository data stored by the given ID and all related development information entities. Deletion is performed asynchronously.

Usage:

import { DevelopmentInformationApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DevelopmentInformationApi(config).deleteRepository({ ...args });
existsByProperties() - Check if data exists for the supplied properties

Checks if development information which have all the provided properties exists. For example, if request is GET existsByProperties?accountId=123&projectId=ABC then result will be positive only if there is at least one entity or repository with both properties accountId=123 and projectId=ABC. Special property '_updateSequenceId' can be used to filter all entities with updateSequenceId less or equal than the value specified. In addition to the optional '_updateSequenceId', one or more query params must be supplied to specify properties to search by.

Usage:

import { DevelopmentInformationApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DevelopmentInformationApi(config).existsByProperties({ ...args });
getRepository() - Get repository

For the specified repository ID, retrieves the repository and the most recent 400 development information entities. The result will be what is currently stored, ignoring any pending updates or deletes.

Usage:

import { DevelopmentInformationApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DevelopmentInformationApi(config).getRepository({ ...args });
storeDevelopmentInformation() - Store development information

Stores development information provided in the request to make it available when viewing issues in JIRA. Existing repository and entity data for the same ID will be replaced if the updateSequenceId of existing data is less than the incoming data. Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are available within a short period of time, but may take some time during peak load and/or maintenance times.

Usage:

import { DevelopmentInformationApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new DevelopmentInformationApi(config).storeDevelopmentInformation({
  Authorization: string
  bodies_storeDevelopmentInformation: { ... }
});

The EpicApi object

getEpic() - Get epic

Returns the epic for a given epic ID. This epic will only be returned if the user has permission to view it. Note: This operation does not work for epics in next-gen projects.

Usage:

import { EpicApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new EpicApi(config).getEpic({ ...args });
getIssuesForEpic1() - Get issues for epic

Returns all issues that belong to the epic, for the given epic ID. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank. Note: If you are querying a next-gen project, do not use this operation. Instead, search for issues that belong to an epic by using the Search for issues using JQL operation in the Jira platform REST API. Build your JQL query using the parent clause. For more information on the parent JQL field, see Advanced searching.

Usage:

import { EpicApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new EpicApi(config).getIssuesForEpic1({ ...args });
getIssuesWithoutEpic1() - Get issues without epic

Returns all issues that do not belong to any epic. This only includes issues that the user has permission to view. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic. By default, the returned issues are ordered by rank. Note: If you are querying a next-gen project, do not use this operation. Instead, search for issues that don't belong to an epic by using the Search for issues using JQL operation in the Jira platform REST API. Build your JQL query using the parent is empty clause. For more information on the parent JQL field, see Advanced searching.

Usage:

import { EpicApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new EpicApi(config).getIssuesWithoutEpic1({ ...args });
moveIssuesToEpic() - Move issues to epic

Moves issues to an epic, for a given epic id. Issues can be only in a single epic at the same time. That means that already assigned issues to an epic, will not be assigned to the previous epic anymore. The user needs to have the edit issue permission for all issue they want to move and to the epic. The maximum number of issues that can be moved in one operation is 50. Note: This operation does not work for epics in next-gen projects.

Usage:

import { EpicApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new EpicApi(config).moveIssuesToEpic({
  epicIdOrKey: string
  moveIssuesToBacklog: { ... }
});
partiallyUpdateEpic() - Partially update epic

Performs a partial update of the epic. A partial update means that fields not present in the request JSON will not be updated. Valid values for color are color_1 to color_9. Note: This operation does not work for epics in next-gen projects.

Usage:

import { EpicApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new EpicApi(config).partiallyUpdateEpic({
  epicIdOrKey: string
  bodies_partiallyUpdateEpic: { ... }
});
rankEpics() - Rank epics

Moves (ranks) an epic before or after a given epic.

Usage:

import { EpicApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new EpicApi(config).rankEpics({
  epicIdOrKey: string
  bodies_rankEpics: { ... }
});
removeIssuesFromEpic() - Remove issues from epic

Removes issues from epics. The user needs to have the edit issue permission for all issue they want to remove from epics. The maximum number of issues that can be moved in one operation is 50. Note: This operation does not work for epics in next-gen projects.

Usage:

import { EpicApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new EpicApi(config).removeIssuesFromEpic({
  moveIssuesToBacklog: { ... }
});

The FeatureFlagsApi object

deleteFeatureFlagById() - Delete a Feature Flag by ID

Delete the Feature Flag data currently stored for the given ID. Deletion is performed asynchronously. The getFeatureFlagById operation can be used to confirm that data has been deleted successfully (if needed). Only apps that define the Feature Flags module can access this resource. This resource requires the 'DELETE' scope.

Usage:

import { FeatureFlagsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new FeatureFlagsApi(config).deleteFeatureFlagById({ ...args });
deleteFeatureFlagsByProperty() - Delete Feature Flags by Property

Bulk delete all Feature Flags that match the given request. In addition to the optional updateSequenceId, one or more query params must be supplied to specify Properties to delete by. If more than one Property is provided, data will be deleted that matches ALL of the Properties (e.g. treated as an AND). See the documentation for the submitFeatureFlags operation for more details. e.g. DELETE /bulkByProperties?accountId=account-123&createdBy=user-456 Deletion is performed asynchronously. The getFeatureFlagById operation can be used to confirm that data has been deleted successfully (if needed). Only apps that define the Feature Flags module can access this resource. This resource requires the 'DELETE' scope.

Usage:

import { FeatureFlagsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new FeatureFlagsApi(config).deleteFeatureFlagsByProperty({ ...args });
getFeatureFlagById() - Get a Feature Flag by ID

Retrieve the currently stored Feature Flag data for the given ID. The result will be what is currently stored, ignoring any pending updates or deletes. Only apps that define the Feature Flags module can access this resource. This resource requires the 'READ' scope.

Usage:

import { FeatureFlagsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new FeatureFlagsApi(config).getFeatureFlagById({ ...args });
submitFeatureFlags() - Submit Feature Flag data

Update / insert Feature Flag data. Feature Flags are identified by their ID, and existing Feature Flag data for the same ID will be replaced if it exists and the updateSequenceId of existing data is less than the incoming data. Submissions are performed asynchronously. Submitted data will eventually be available in Jira; most updates are available within a short period of time, but may take some time during peak load and/or maintenance times. The getFeatureFlagById operation can be used to confirm that data has been stored successfully (if needed). In the case of multiple Feature Flags being submitted in one request, each is validated individually prior to submission. Details of which Feature Flags failed submission (if any) are available in the response object. Only apps that define the Feature Flags module can access this resource. This resource requires the 'WRITE' scope.

Usage:

import { FeatureFlagsApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new FeatureFlagsApi(config).submitFeatureFlags({
  bodies_submitFeatureFlags: { ... }
});

The IssueApi object

estimateIssueForBoard() - Estimate issue for board

Updates the estimation of the issue. boardId param is required. This param determines which field will be updated on a issue.

Usage:

import { IssueApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new IssueApi(config).estimateIssueForBoard({
  issueIdOrKey: string
  boardId: integer
  bodies_estimateIssueForBoard: { ... }
});
getIssue() - Get issue

Returns a single issue, for a given issue ID or issue key. Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic.

Usage:

import { IssueApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new IssueApi(config).getIssue({ ...args });
getIssueEstimationForBoard() - Get issue estimation for board

Returns the estimation of the issue and a fieldId of the field that is used for it. boardId param is required. This param determines which field will be updated on a issue.

Usage:

import { IssueApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new IssueApi(config).getIssueEstimationForBoard({ ...args });
rankIssues() - Rank issues

Moves (ranks) issues before or after a given issue. At most 50 issues may be ranked at once.

Usage:

import { IssueApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new IssueApi(config).rankIssues({
  bodies_rankIssues: { ... }
});

The SprintApi object

createSprint() - Create sprint

Creates a future sprint. Sprint name and origin board id are required. Start date, end date, and goal are optional.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).createSprint({
  bodies_createSprint: { ... }
});
deleteProperty() - Delete property

Removes the property from the sprint identified by the id. Ths user removing the property is required to have permissions to modify the sprint.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).deleteProperty({ ...args });
deleteSprint() - Delete sprint

Deletes a sprint. Once a sprint is deleted, all open issues in the sprint will be moved to the backlog.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).deleteSprint({ ...args });
getIssuesForSprint1() - Get issues for sprint

Returns all issues in a sprint, for a given sprint ID. This only includes issues that the user has permission to view. By default, the returned issues are ordered by rank.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).getIssuesForSprint1({ ...args });
getPropertiesKeys() - Get properties keys

Returns the keys of all properties for the sprint identified by the id. The user who retrieves the property keys is required to have permissions to view the sprint.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).getPropertiesKeys({ ...args });
getProperty() - Get property

Returns the value of the property with a given key from the sprint identified by the provided id. The user who retrieves the property is required to have permissions to view the sprint.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).getProperty({ ...args });
getSprint() - Get sprint

Returns the sprint for a given sprint ID. The sprint will only be returned if the user can view the board that the sprint was created on, or view at least one of the issues in the sprint.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).getSprint({ ...args });
moveIssuesToSprintAndRank() - Move issues to sprint and rank

Moves issues to a sprint, for a given sprint ID. Issues can only be moved to open or active sprints. The maximum number of issues that can be moved in one operation is 50.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).moveIssuesToSprintAndRank({
  sprintId: integer
  moveIssuesToBacklogForBoard: { ... }
});
partiallyUpdateSprint() - Partially update sprint

Performs a partial update of a sprint. A partial update means that fields not present in the request JSON will not be updated.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).partiallyUpdateSprint({
  sprintId: integer
  partiallyUpdateSprint: { ... }
});
setProperty() - Set property

Sets the value of the specified sprint's property.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).setProperty({ ...args });
swapSprint() - Swap sprint

Swap the position of the sprint with the second sprint.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).swapSprint({
  sprintId: integer
  bodies_swapSprint: { ... }
});
updateSprint() - Update sprint

Performs a full update of a sprint. A full update means that the result will be exactly the same as the request body. Any fields not present in the request JSON will be set to null.

Usage:

import { SprintApi, Configuration } from 'fetch-jira-software';

const config: Configuration = new Configuration({
  fetchApi: yourFetchClient,
  basePath: "<your base path>"
});

const responsePromise = new SprintApi(config).updateSprint({
  sprintId: integer
  partiallyUpdateSprint: { ... }
});

References

bodies_com.atlassian.greenhopper.api.rest.BacklogResource.moveIssuesToBacklogForBoard_postIssuerankrequestbean

{
  "type": "object",
  "properties": {
    "issues": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "rankBeforeIssue": {
      "type": "string"
    },
    "rankAfterIssue": {
      "type": "string"
    },
    "rankCustomFieldId": {
      "type": "integer",
      "format": "int64"
    }
  }
}

bodies_com.atlassian.greenhopper.api.rest.BacklogResource.moveIssuesToBacklog_postIssueassignrequestbean

{
  "type": "object",
  "properties": {
    "issues": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "type": "string"
      }
    }
  }
}

bodies_com.atlassian.greenhopper.api.rest.SprintResource.partiallyUpdateSprint_postSprintbean

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "self": {
      "type": "string",
      "format": "uri"
    },
    "state": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "completeDate": {
      "type": "string"
    },
    "originBoardId": {
      "type": "integer",
      "format": "int64"
    },
    "goal": {
      "type": "string"
    }
  }
}

moveIssuesToBacklog

{
  "type": "object",
  "properties": {
    "issues": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "type": "string"
      }
    }
  },
  "title": "bodies_com.atlassian.greenhopper.api.rest.BacklogResource.moveIssuesToBacklog_postIssueassignrequestbean"
}

moveIssuesToBacklogForBoard

{
  "type": "object",
  "properties": {
    "issues": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "rankBeforeIssue": {
      "type": "string"
    },
    "rankAfterIssue": {
      "type": "string"
    },
    "rankCustomFieldId": {
      "type": "integer",
      "format": "int64"
    }
  },
  "title": "bodies_com.atlassian.greenhopper.api.rest.BacklogResource.moveIssuesToBacklogForBoard_postIssuerankrequestbean"
}

partiallyUpdateSprint

{
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64"
    },
    "self": {
      "type": "string",
      "format": "uri"
    },
    "state": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "completeDate": {
      "type": "string"
    },
    "originBoardId": {
      "type": "integer",
      "format": "int64"
    },
    "goal": {
      "type": "string"
    }
  },
  "title": "bodies_com.atlassian.greenhopper.api.rest.SprintResource.partiallyUpdateSprint_postSprintbean"
}

bodies_createBoard

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "filterId": {
      "type": "integer",
      "format": "int64"
    },
    "location": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string"
        },
        "projectKeyOrId": {
          "type": "string"
        }
      }
    }
  }
}

bodies_toggleFeatures

{
  "type": "object",
  "properties": {
    "boardId": {
      "type": "integer",
      "format": "int64"
    },
    "feature": {
      "type": "string"
    },
    "enabling": {
      "type": "boolean"
    }
  }
}

bodies_partiallyUpdateEpic

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "summary": {
      "type": "string"
    },
    "color": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "enum": [
            "color_1",
            "color_2",
            "color_3",
            "color_4",
            "color_5",
            "color_6",
            "color_7",
            "color_8",
            "color_9",
            "color_10",
            "color_11",
            "color_12",
            "color_13",
            "color_14"
          ]
        }
      }
    },
    "done": {
      "type": "boolean"
    }
  }
}

bodies_rankEpics

{
  "type": "object",
  "properties": {
    "rankBeforeEpic": {
      "type": "string"
    },
    "rankAfterEpic": {
      "type": "string"
    },
    "rankCustomFieldId": {
      "type": "integer",
      "format": "int64"
    }
  }
}

bodies_rankIssues

{
  "type": "object",
  "properties": {
    "issues": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "rankBeforeIssue": {
      "type": "string"
    },
    "rankAfterIssue": {
      "type": "string"
    },
    "rankCustomFieldId": {
      "type": "integer",
      "format": "int64"
    }
  }
}

bodies_estimateIssueForBoard

{
  "type": "object",
  "properties": {
    "value": {
      "type": "string"
    }
  }
}

bodies_createSprint

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string"
    },
    "startDate": {
      "type": "string"
    },
    "endDate": {
      "type": "string"
    },
    "originBoardId": {
      "type": "integer",
      "format": "int64"
    },
    "goal": {
      "type": "string"
    }
  }
}

bodies_swapSprint

{
  "type": "object",
  "properties": {
    "sprintToSwapWith": {
      "type": "integer",
      "format": "int64"
    }
  }
}

bodies_storeDevelopmentInformation

{
  "type": "object",
  "required": [
    "repositories"
  ],
  "properties": {
    "repositories": {
      "type": "array",
      "maxItems": 100,
      "description": "List of repositories containing development information. Must not contain duplicates. Maximum number of entities across all repositories is 1000",
      "items": {
        "type": "object",
        "required": [
          "id",
          "name",
          "updateSequenceId",
          "url"
        ],
        "properties": {
          "name": {
            "type": "string",
            "example": "atlassian-connect-jira-example",
            "description": "The name of this repository. Max length is 255 characters"
          },
          "description": {
            "type": "string",
            "example": "The repository which stores code of the Atlassian Connect Add-on Devinfo application.",
            "description": "Description of this repository. Max length is 1024 characters"
          },
          "forkOf": {
            "type": "string",
            "example": "56c7c750-cee2-48e2-b920-d7706dfd11f7",
            "description": "The ID of the repository this repository was forked from, if it's a fork. Max length is 255 characters"
          },
          "url": {
            "type": "string",
            "example": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example",
            "description": "The URL of this repository. Max length is 1024 characters"
          },
          "commits": {
            "type": "array",
            "description": "List of commits to update in this repository. Must not contain duplicate entity IDs. Maximum number of commits is 400",
            "items": {
              "type": "object",
              "required": [
                "id",
                "issueKeys",
                "updateSequenceId",
                "author",
                "authorTimestamp",
                "displayId",
                "fileCount",
                "hash",
                "message",
                "url"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "c6c7c750-cee2-48e2-b920-d7706dfd11f9",
                  "description": "The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters"
                },
                "issueKeys": {
                  "type": "array",
                  "example": "[\"ISSUE-1\",\"TEST-2\"]",
                  "description": "List of issues keys that this entity is associated with. They must be valid JIRA issue keys. Minimum number of issue keys is 1. Maximum number of issue keys is 100",
                  "items": {
                    "type": "string"
                  }
                },
                "updateSequenceId": {
                  "type": "integer",
                  "format": "int64",
                  "example": 1523494301248,
                  "description": " An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored. "
                },
                "hash": {
                  "type": "string",
                  "example": "a7727ee6350c33cdf90826dc21abaa26a5704370",
                  "description": "The hash of the commit. Max length is 255 characters"
                },
                "flags": {
                  "type": "array",
                  "example": "[MERGE_COMMIT]",
                  "description": "The set of flags for this commit",
                  "uniqueItems": true,
                  "items": {
                    "type": "string",
                    "enum": [
                      "MERGE_COMMIT"
                    ]
                  }
                },
                "message": {
                  "type": "string",
                  "example": "README.md edited online with Bitbucket",
                  "description": "The commit message. Max length is 1024 characters"
                },
                "author": {
                  "description": "The author of this commit",
                  "type": "object",
                  "required": [
                    "name"
                  ],
                  "properties": {
                    "name": {
                      "type": "string",
                      "example": "Jane Doe",
                      "description": "The name of this user in a format suitable for display. Max length is 255 characters"
                    },
                    "email": {
                      "type": "string",
                      "example": "jane_doe@atlassian.com",
                      "description": "The email address of the user, used to associate the user with a JIRA user. Max length is 255 characters"
                    },
                    "username": {
                      "type": "string",
                      "example": "jdoe",
                      "description": "The username of the user, used to associate the user with a JIRA user if there are multiple users for a given email. Max length is 255 characters"
                    },
                    "url": {
                      "type": "string",
                      "example": "https://atlassian.com/account/jane_doe",
                      "description": "The URL of the profile for this user. Max length is 1024 characters"
                    },
                    "avatar": {
                      "type": "string",
                      "example": "https://atlassian.com/account/jane_doe/avatar/32",
                      "description": "The URL of the avatar for this user. Max length is 1024 characters"
                    }
                  }
                },
                "fileCount": {
                  "type": "integer",
                  "format": "int32",
                  "example": 1,
                  "description": "The total number of files added, removed, or modified by this commit",
                  "minimum": 0
                },
                "url": {
                  "type": "string",
                  "example": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/commits/a7727ee6350c33cdf90826dc21abaa26a5704370",
                  "description": "The URL of this commit. Max length is 1024 characters"
                },
                "files": {
                  "type": "array",
                  "description": "List of file changes. Max number of files is 10. Currently, only the first 5 files are shown (sorted by path) in the UI. This UI behavior may change without notice",
                  "items": {
                    "type": "object",
                    "required": [
                      "changeType",
                      "linesAdded",
                      "linesRemoved",
                      "path",
                      "url"
                    ],
                    "properties": {
                      "path": {
                        "type": "string",
                        "example": "/home/user/src/atlassian-connect-jira-example/README.md",
                        "description": "The path of the file. Max length is 1024 characters"
                      },
                      "url": {
                        "type": "string",
                        "example": "https://bitbucket.org/atlassianlabs/atlassian-connect-jira-example/src/a7727ee6350c33cdf90826dc21abaa26a5704370/README.md",
                        "description": "The URL of this file. Max length is 1024 characters"
                      },
                      "changeType": {
                        "type": "string",
                        "example": "MODIFIED",
                        "description": "The operation performed on this file",
                        "enum": [
                          "ADDED",
                          "COPIED",
                          "DELETED",
                          "MODIFIED",
                          "MOVED",
                          "UNKNOWN"
                        ]
                      },
                      "linesAdded": {
                        "type": "integer",
                        "format": "int32",
                        "example": 0,
                        "description": "Number of lines added to the file",
                        "minimum": 0
                      },
                      "linesRemoved": {
                        "type": "integer",
                        "format": "int32",
                        "example": 1,
                        "description": "Number of lines removed from the file",
                        "minimum": 0
                      }
                    },
                    "description": "Describes changes to a file"
                  }
                },
                "authorTimestamp": {
                  "type": "string",
                  "example": "2016-10-31T23:27:25+00:00",
                  "description": "The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format"
                },
                "displayId": {
                  "type": "string",
                  "example": "a7727ee",
                  "description": "Shortened identifier for this commit, used for display. Max length is 255 characters"
                }
              },
              "description": "Represents a commit in the version control system"
            },
            "minItems": 0,
            "maxItems": 400
          },
          "branches": {
            "type": "array",
            "description": "List of branches to update in this repository. Must not contain duplicate entity IDs. Maximum number of commits is 400",
            "items": {
              "type": "object",
              "required": [
                "id",
                "issueKeys",
                "updateSequenceId",
                "lastCommit",
                "name",
                "url"
              ],
              "properties": {
                "id": {
                  "type": "string",
                  "example": "c6c7c750-cee2-48e2-b920-d7706dfd11f9",
                  "description": "The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters"
                },
                "issueKeys": {
                  "type": "array",
                  "example": "[\"ISSUE-1\",\"TEST-2\"]",
                  "description": "List of issues keys that this entity is associated with. They must be valid JIRA issue keys. Minimum number of issue keys is 1. Maximum number of issue keys is 100",
                  "items": {
                    "type": "string"
                  }
                },
                "updateSequenceId": {
                  "type": "integer",
                  "format": "int64",
                  "example": 1523494301248,
                  "description": " An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored. "
                },
                "name": {
                  "type": "string",
                  "example": "master",
                  "description": "The name of the branch. Max length is 255 characters"
                },
                "lastCommit": {
                  "description": "The most recent commit on this branch, used to display the date of the latest activity for this branch",
                  "type": "object",
                  "required": [
                    "id",
                    "issueKeys",
                    "updateSequenceId",
                    "author",
                    "authorTimestamp",
                    "displayId",
                    "fileCount",
                    "hash",
                    "message",
                    "url"
                  ],
                  "properties": {
                    "id": {
                      "type": "string",
                      "example": "c6c7c750-cee2-48e2-b920-d7706dfd11f9",
                      "description": "The ID of this entity. Will be used for cross entity linking. Must be unique by entity type within a repository, i.e., only one commit can have ID 'X' in repository 'Y'. But adding, e.g., a branch with ID 'X' to repository 'Y' is acceptable. Only alphanumeric characters, and '~.-_', are allowed. Max length is 1024 characters"
                    },
                    "issueKeys": {
                      "type": "array",
                      "example": "[\"ISSUE-1\",\"TEST-2\"]",
                      "description": "List of issues keys that this entity is associated with. They must be valid JIRA issue keys. Minimum number of issue keys is 1. Maximum number of issue keys is 100",
                      "items": {
                        "type": "string"
                      }
                    },
                    "updateSequenceId": {
                      "type": "integer",
                      "format": "int64",
                      "example": 1523494301248,
                      "description": " An ID used to apply an ordering to updates for this entity in the case of out-of-order receipt of update requests. This can be any monotonically increasing number. A suggested implementation is to use epoch millis from the provider system, but other alternatives are valid (e.g. a provider could store a counter against each entity and increment that on each update to Jira). Updates for an entity that are received with an updateSqeuenceId lower than what is currently stored will be ignored. "
                    },
                    "hash": {
                      "type": "string",
                      "example": "a7727ee6350c33cdf90826dc21abaa26a5704370",
                      "description": "The hash of the commit. Max length is 255 characters"
                    },
                    "flags": {
                      "type": "array",
                      "example": "[MERGE_COMMIT]",
                      "description": "The set of flags for this commit",
                      "uniqueItems": true,
                      "items": {
                        "type": "string",
                        "enum": [
                          "MERGE_COMMIT"
                        ]
                      }
                    },
                    "message": {
                      "type": "string",
                      "example": "README.md edited online with Bitbucket",
                      "description": "The commit message. Max length is 1024 characters"
                    },
                    "author": {
                      "description": "The author of this commit",
                      "type": "object",
                      "required": [
                        "name"
                      ],
                      "properties": {
                        "name": {
                          "type": "string",
                          "example": "Jane Doe",