---
title: "Store development information"
method: POST
path: "/rest/devinfo/0.10/bulk"
tags: ["Development Information"]
---

# Store development information

`POST /rest/devinfo/0.10/bulk`

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.

## Headers

- `Authorization` string, required

## Request body

- object — Request object for development information push operations, entities are grouped by repository
  - `repositories` object[], required — List of repositories containing development information. Must not contain duplicates. Maximum number of entities across all repositories is 1000.
    - `name` string, required — The name of this repository. Max length is 255 characters.
    - `description` string — Description of this repository. Max length is 1024 characters.
    - `forkOf` string — The ID of the repository this repository was forked from, if it's a fork. Max length is 1024 characters.
    - `url` string, url, required — The URL of this repository. Max length is 2000 characters.
    - `commits` object[] — List of commits to update in this repository. Must not contain duplicate entity IDs. Maximum number of commits is 400
      - `id` string, required — The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits 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` string[] — List of issues keys that this entity is associated with. They must be valid Jira issue keys.
      - `associations` IssueIdOrKeysAssociation[] — The Jira issue keys or IDs to associate the commit with.
        - `associationType` 'issueKeys' | 'issueIdOrKeys', required — Defines the association type.
        - `values` string[], required — The Jira issue keys or IDs to associate the entity with. The number of values counted across all associationTypes must not exceed a limit of 500.
      - `updateSequenceId` integer, required — 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` string — Deprecated. Use the id field instead.
      - `flags` string[] — The set of flags for this commit
      - `message` string, required — The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down to 1024 characters.
      - `author` object, required — Describes the author of a particular entity
        - `name` string — Deprecated. The name of this user in a format suitable for display. Max length is 255 characters.
        - `email` string — The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters.
        - `username` string — Deprecated. 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` string — Deprecated. The URL of the profile for this user. Max length is 2000 characters.
        - `avatar` string — Deprecated. The URL of the avatar for this user. Max length is 2000 characters.
      - `fileCount` integer, required — The total number of files added, removed, or modified by this commit
      - `url` string, url, required — The URL of this commit. Max length is 2000 characters.
      - `files` object[] — 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.
        - `path` string, required — The path of the file. Max length is 1024 characters.
        - `url` string, url, required — The URL of this file. Max length is 2000 characters.
        - `changeType` 'ADDED' | 'COPIED' | 'DELETED' | 'MODIFIED' | 'MOVED' | 'UNKNOWN', required — The operation performed on this file
        - `linesAdded` integer, required — Number of lines added to the file
        - `linesRemoved` integer, required — Number of lines removed from the file
      - `authorTimestamp` string, required — The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format.
      - `displayId` string, required — Shortened identifier for this commit, used for display. Max length is 255 characters.
    - `branches` object[] — List of branches to update in this repository. Must not contain duplicate entity IDs. Maximum number of branches is 400.
      - `id` string, required — 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` string[] — List of issues keys that this entity is associated with. They must be valid Jira issue keys.
      - `associations` IssueIdOrKeysAssociation[] — The Jira issue keys or IDs to associate the branch with.
        - `associationType` 'issueKeys' | 'issueIdOrKeys', required — Defines the association type.
        - `values` string[], required — The Jira issue keys or IDs to associate the entity with. The number of values counted across all associationTypes must not exceed a limit of 500.
      - `updateSequenceId` integer, required — 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` string, required — The name of the branch. Max length is 512 characters.
      - `lastCommit` object, required — Represents a commit in the version control system.
        - `id` string, required — The identifier or hash of the commit. Will be used for cross entity linking. Must be unique for all commits 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` string[], required — List of issues keys that this entity is associated with. They must be valid Jira issue keys.
        - `updateSequenceId` integer, required — 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` string — Deprecated. Use the id field instead.
        - `flags` string[] — The set of flags for this commit
        - `message` string, required — The commit message. Max length is 1024 characters. If anything longer is supplied, it will be truncated down to 1024 characters.
        - `author` object, required — Describes the author of a particular entity
          - `name` string — Deprecated. The name of this user in a format suitable for display. Max length is 255 characters.
          - `email` string — The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters.
          - `username` string — Deprecated. 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` string — Deprecated. The URL of the profile for this user. Max length is 2000 characters.
          - `avatar` string — Deprecated. The URL of the avatar for this user. Max length is 2000 characters.
        - `fileCount` integer, required — The total number of files added, removed, or modified by this commit
        - `url` string, url, required — The URL of this commit. Max length is 2000 characters.
        - `files` object[] — 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.
          - `path` string, required — The path of the file. Max length is 1024 characters.
          - `url` string, url, required — The URL of this file. Max length is 2000 characters.
          - `changeType` 'ADDED' | 'COPIED' | 'DELETED' | 'MODIFIED' | 'MOVED' | 'UNKNOWN', required — The operation performed on this file
          - `linesAdded` integer, required — Number of lines added to the file
          - `linesRemoved` integer, required — Number of lines removed from the file
        - `authorTimestamp` string, required — The author timestamp of this commit. Formatted as a UTC ISO 8601 date time format.
        - `displayId` string, required — Shortened identifier for this commit, used for display. Max length is 255 characters.
      - `createPullRequestUrl` string — The URL of the page for creating a pull request from this branch. Max length is 2000 characters.
      - `url` string, required — The URL of the branch. Max length is 2000 characters.
    - `pullRequests` object[] — List of pull requests to update in this repository. Must not contain duplicate entity IDs. Maximum number of pull requests is 400
      - `id` string, required — 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` string[] — List of issues keys that this entity is associated with. They must be valid Jira issue keys.
      - `associations` IssueIdOrKeysAssociation[] — The Jira issue keys or IDs to associate the pull request with.
        - `associationType` 'issueKeys' | 'issueIdOrKeys', required — Defines the association type.
        - `values` string[], required — The Jira issue keys or IDs to associate the entity with. The number of values counted across all associationTypes must not exceed a limit of 500.
      - `updateSequenceId` integer, required — 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.
      - `status` 'OPEN' | 'MERGED' | 'DECLINED' | 'UNKNOWN', required — The status of the pull request. In the case of concurrent updates, priority is given in the order OPEN, MERGED, DECLINED, UNKNOWN
      - `title` string, required — Title of the pull request. Max length is 1024 characters.
      - `author` object, required — Describes the author of a particular entity
        - `name` string — Deprecated. The name of this user in a format suitable for display. Max length is 255 characters.
        - `email` string — The email address of the user. Used to associate the user with a Jira user. Max length is 255 characters.
        - `username` string — Deprecated. 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` string — Deprecated. The URL of the profile for this user. Max length is 2000 characters.
        - `avatar` string — Deprecated. The URL of the avatar for this user. Max length is 2000 characters.
      - `commentCount` integer, required — The number of comments on the pull request
      - `sourceBranch` string, required — The name of the source branch of this PR. Max length is 255 characters.
      - `sourceBranchUrl` string, url — The url of the source branch of this PR. This is used to match this PR against the branch. Max length is 2000 characters.
      - `lastUpdate` string, required — The most recent update to this PR. Formatted as a UTC ISO 8601 date time format.
      - `destinationBranch` string — The name of destination branch of this PR. Max length is 255 characters.
      - `destinationBranchUrl` string, url — The url of the destination branch of this PR. Max length is 2000 characters.
      - `reviewers` object[] — The list of reviewers of this pull request
        - `name` string — Deprecated. The name of this reviewer. Max length is 255 characters.
        - `approvalStatus` 'APPROVED' | 'UNAPPROVED' — The approval status of this reviewer, default is UNAPPROVED.
        - `url` string, url — Deprecated. The URL of the profile for this reviewer. Max length is 2000 characters.
        - `avatar` string, url — Deprecated. The URL of the avatar for this reviewer. Max length is 2000 characters.
        - `email` string — The email address of this reviewer. Max length is 254 characters.
        - `accountId` string — The Atlassian Account ID (AAID) of this reviewer. Max length is 128 characters.
      - `url` string, url, required — The URL of this pull request. Max length is 2000 characters.
      - `displayId` string, required — Shortened identifier for this pull request, used for display. Max length is 255 characters.
    - `avatar` string, url — The URL of the avatar for this repository. Max length is 2000 characters.
    - `avatarDescription` string — Description of the avatar for this repository. Max length is 1024 characters.
    - `id` string, required — 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.
    - `updateSequenceId` integer, required — 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.
  - `preventTransitions` boolean — Flag to prevent automatic issue transitions and smart commits being fired, default is false.
  - `operationType` 'NORMAL' | 'BACKFILL' — Indicates the operation being performed by the provider system when sending this data. "NORMAL" - Data received during normal operation (e.g. a user pushing a branch). "BACKFILL" - Data received while backfilling existing data (e.g. indexing a newly connected account). Default is "NORMAL". Please note that "BACKFILL" operations have a much higher rate-limiting threshold but are also processed slower in comparison to "NORMAL" operations.
  - `properties` object — Arbitrary properties to tag the submitted repositories with. These properties can be used for delete operations to e.g. clean up all development information associated with an account in the event that the account is removed from the provider system. Note that these properties will never be returned with repository or entity data. They are not intended for use as metadata to associate with a repository. Maximum length of each key or value is 255 characters. Maximum allowed number of properties key/value pairs is 5. Properties keys cannot start with '_' character. Properties keys cannot contain ':' character.
  - `providerMetadata` object — Information about the provider. This is useful for auditing, logging, debugging, and other internal uses. It is not considered private information. Hence, it may not contain personally identifiable information.
    - `product` string — An optional name of the source of the development information data.

## Response `202`

Submission accepted. Each submitted repository and entity that is of a valid format will be eventually available in Jira.

- object — The result of a successful store development information request
  - `acceptedDevinfoEntities` object — The IDs of devinfo entities that have been accepted for submission grouped by their repository IDs. Note that a devinfo entity that isn't updated due to it's updateSequenceId being out of order is not considered a failed submission.
  - `failedDevinfoEntities` object — IDs of devinfo entities that have not been accepted for submission and caused error descriptions, usually due to a problem with the request data. The entities (if present) will be grouped by their repository id and type. Entity IDs are listed with errors associated with that devinfo entity that have prevented it being submitted.
  - `unknownIssueKeys` string[] — Issue keys that are not known on this Jira instance (if any). These may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be for projects that no longer exist. If a devinfo entity has been associated with issue keys other than those in this array it will still be stored against those valid keys.
  - `unknownAssociations` IssueIdOrKeysAssociation[] — Associations that are not known on this Jira instance (if any). These may be invalid keys (e.g. `UTF-8` is sometimes incorrectly identified as a Jira issue key), or they may be for projects that no longer exist. If a development information entity has been associated with any other association other than those in this array it will still be stored against those valid associations. If a development information entity was only associated with the associations in this array, it is deemed to be invalid and it won't be persisted.
    - `associationType` 'issueKeys' | 'issueIdOrKeys', required — Defines the association type.
    - `values` string[], required — The Jira issue keys or IDs to associate the entity with. The number of values counted across all associationTypes must not exceed a limit of 500.

## Other responses

- `400` — Request has incorrect format. It will fail in the following cases: If no repositories or development information entities were provided, or more than 5 properties were submitted, or there are one or more properties with leading underscore '_' symbol in their keys.
- `401` — Missing a JWT token, or token is invalid.
- `403` — The JWT token used does not correspond to an app that defines the jiraDevelopmentTool module, or the app does not define the 'WRITE' scope
- `413` — Data is too large. Submit fewer devinfo entities in each payload.
- `429` — API rate limit has been exceeded.
- `500` — An unknown error has occurred.
- `503` — Service is unavailable due to maintenance or other reasons.

---

[API](https://skmtc.net/atlassian/apis/jira-software-cloud-api.md) · [All operations](https://skmtc.net/atlassian/apis/jira-software-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/atlassian/jira-software-cloud-api/revisions/4e108d54b990/schema)
