Share via


Git pull request iterations

TFS 2017 | TFS 2015 | TFS 2013

Note

Looking for REST APIS that support TFS 2018 or later versions? See the Azure DevOps REST API Reference.

api-version = 3.0-preview

This API in preview. Learn more

If you haven't already, look at the information on getting started with these APIs.

Iterations contain the history of the pull request. Every time commits are pushed to the source branch and when the pull request is created, an iteration is created. Each iteration can contain more than one commit.

Get a list of iterations

GET https://{instance}/DefaultCollection/{project}/_apis/repos/git/repositories/{repository}/pullRequests/{pullRequest}/iterations?api-version={version}
Parameter Type Notes
URL
instance string TFS server name ({server:port}).
project string ID or name of the project. Optional if specifying an ID for repository.
repository string ID of the repository.
pullRequest integer ID of the pull request.
Query
api-version string Version of the API to use.

Note

Repositories have both a name and an identifier. Identifiers are globally unique, but several projects may contain a repository of the same name. You don't need to include the project if you specify a repository by ID. However, if you specify a repository by name, you must also specify the project (by name or ID).

Sample request

GET https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/iterations?api-version=3.0

Sample response

{
  "value": [
    {
      "id": 1,
      "description": "Added new_feature.cpp",
      "author": {
        "id": "d6245f20-2af8-44f4-9451-8107cb2767db",
        "displayName": "Normal Paulk",
        "uniqueName": "fabrikamfiber16@hotmail.com",
        "url": "https://mytfsserver/DefaultCollection/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
        "imageUrl": "https://mytfsserver/DefaultCollection/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
      },
      "createdDate": "2016-11-01T16:30:32.1228821Z",
      "updatedDate": "2016-11-01T16:30:32.124882Z",
      "sourceRefCommit": {
        "commitId": "b60280bc6e62e2f880f1b63c1e24987664d3bda3"
      },
      "targetRefCommit": {
        "commitId": "f47bbc106853afe3c1b07a81754bce5f4b8dbf62"
      },
      "commonRefCommit": {
        "commitId": "f47bbc106853afe3c1b07a81754bce5f4b8dbf62"
      },
      "hasMoreCommits": false
    },
    {
      "id": 2,
      "description": "Updated new_feature.cpp",
      "author": {
        "id": "d6245f20-2af8-44f4-9451-8107cb2767db",
        "displayName": "Normal Paulk",
        "uniqueName": "fabrikamfiber16@hotmail.com",
        "url": "https://mytfsserver/DefaultCollection/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
        "imageUrl": "https://mytfsserver/DefaultCollection/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
      },
      "createdDate": "2016-11-01T16:30:40.7955627Z",
      "updatedDate": "2016-11-01T16:30:40.7965635Z",
      "sourceRefCommit": {
        "commitId": "8c9396b5cf22f929767c7172e9dbbe777ddc6357"
      },
      "targetRefCommit": {
        "commitId": "f47bbc106853afe3c1b07a81754bce5f4b8dbf62"
      },
      "commonRefCommit": {
        "commitId": "f47bbc106853afe3c1b07a81754bce5f4b8dbf62"
      },
      "hasMoreCommits": false,
      "push": {
        "pushId": 188
      }
    }
  ],
  "count": 2
}

Get a specific iteration

GET https://{instance}/DefaultCollection/{project}/_apis/repos/git/repositories/{repository}/pullRequests/{pullRequest}/iterations/{iterationId}?api-version={version}
Parameter Type Notes
URL
instance string TFS server name ({server:port}).
project string ID or name of the project. Optional if specifying an ID for repository.
repository string ID of the repository.
pullRequest integer ID of the pull request.
iterationId integer ID of the iteration.
Query
api-version string Version of the API to use.

Sample request

GET https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/iterations/2?api-version=3.0

Sample response

{
  "id": 2,
  "description": "Updated new_feature.cpp",
  "author": {
    "id": "d6245f20-2af8-44f4-9451-8107cb2767db",
    "displayName": "Normal Paulk",
    "uniqueName": "fabrikamfiber16@hotmail.com",
    "url": "https://mytfsserver/DefaultCollection/_apis/Identities/d6245f20-2af8-44f4-9451-8107cb2767db",
    "imageUrl": "https://mytfsserver/DefaultCollection/_api/_common/identityImage?id=d6245f20-2af8-44f4-9451-8107cb2767db"
  },
  "createdDate": "2016-11-01T16:30:40.7955627Z",
  "updatedDate": "2016-11-01T16:30:40.7965635Z",
  "sourceRefCommit": {
    "commitId": "8c9396b5cf22f929767c7172e9dbbe777ddc6357"
  },
  "targetRefCommit": {
    "commitId": "f47bbc106853afe3c1b07a81754bce5f4b8dbf62"
  },
  "commonRefCommit": {
    "commitId": "f47bbc106853afe3c1b07a81754bce5f4b8dbf62"
  },
  "hasMoreCommits": false,
  "push": {
    "pushId": 188
  },
  "_links": {
    "self": {
      "href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/iterations/2"
    },
    "repository": {
      "href": "https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719"
    }
  }
}

Get the commits for an iteration

GET https://{instance}/DefaultCollection/{project}/_apis/repos/git/repositories/{repository}/pullRequests/{pullRequest}/iterations/{iterationId}/commits?api-version={version}
Parameter Type Notes
URL
instance string TFS server name ({server:port}).
project string ID or name of the project. Optional if specifying an ID for repository.
repository string ID of the repository.
pullRequest integer ID of the pull request.
iterationId integer ID of the iteration.
Query
api-version string Version of the API to use.

Sample request

GET https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/iterations/2/commits?api-version=3.0

Sample response

{
  "value": [
    {
      "commitId": "8c9396b5cf22f929767c7172e9dbbe777ddc6357",
      "author": {
        "name": "Normal Paulk",
        "email": "fabrikamfiber16@hotmail.com",
        "date": "2016-11-01T16:30:37Z"
      },
      "committer": {
        "name": "Normal Paulk",
        "email": "fabrikamfiber16@hotmail.com",
        "date": "2016-11-01T16:30:37Z"
      },
      "comment": "Updated new_feature.cpp",
      "url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/commits/8c9396b5cf22f929767c7172e9dbbe777ddc6357"
    },
    {
      "commitId": "b60280bc6e62e2f880f1b63c1e24987664d3bda3",
      "author": {
        "name": "Normal Paulk",
        "email": "fabrikamfiber16@hotmail.com",
        "date": "2016-11-01T16:30:28Z"
      },
      "committer": {
        "name": "Normal Paulk",
        "email": "fabrikamfiber16@hotmail.com",
        "date": "2016-11-01T16:30:28Z"
      },
      "comment": "Added new_feature.cpp",
      "url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/commits/b60280bc6e62e2f880f1b63c1e24987664d3bda3"
    },
    {
      "commitId": "050acf036bcef766bcbe61abeb0aa67a56ca8586",
      "author": {
        "name": "Normal Paulk",
        "email": "fabrikamfiber16@hotmail.com",
        "date": "2016-11-01T16:30:25Z"
      },
      "committer": {
        "name": "Normal Paulk",
        "email": "fabrikamfiber16@hotmail.com",
        "date": "2016-11-01T16:30:25Z"
      },
      "comment": "Added new_feature.h",
      "url": "https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/commits/050acf036bcef766bcbe61abeb0aa67a56ca8586"
    }
  ],
  "count": 3
}

Get the changes in the pull request at an iteration

GET https://{instance}/DefaultCollection/{project}/_apis/repos/git/repositories/{repository}/pullRequests/{pullRequest}/iterations/{iterationId}/changes?$top={top};$skip={skip};$compareTo={compareTo};api-version={version}
Parameter Type Notes
URL
instance string TFS server name ({server:port}).
project string ID or name of the project. Optional if specifying an ID for repository.
repository string ID of the repository.
pullRequest integer ID of the pull request.
iterationId integer ID of the iteration.
Query
top integer the number of changes to retrieve
skip integer the number of changes to ignore
compareTo integer ID of an iteration to compare against. If not specified, the iteration is compared against the common commit with the target branch of the pull request.
api-version string Version of the API to use.

Sample request

GET https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/iterations/2/changes?api-version=3.0

Sample response

{
  "changeEntries": [
    {
      "changeTrackingId": 1,
      "changeId": 1,
      "item": {
        "objectId": "e21e56d119ae81fb4ffebc4fefc6351f5b5ef888",
        "path": "/new_feature.cpp"
      },
      "changeType": "add"
    },
    {
      "changeTrackingId": 2,
      "changeId": 2,
      "item": {
        "objectId": "5ec0f71ffb8b47bd4c0117f624647963e021f3d2",
        "path": "/new_feature.h"
      },
      "changeType": "add"
    }
  ]
}

Get the changes in an iteration compared to another iteration

Sample request

GET https://mytfsserver/DefaultCollection/_apis/git/repositories/3411ebc1-d5aa-464f-9615-0b527bc66719/pullRequests/22/iterations/2/changes?$compareTo=1&api-version=3.0

Sample response

{
  "changeEntries": [
    {
      "changeTrackingId": 1,
      "changeId": 1,
      "item": {
        "objectId": "e21e56d119ae81fb4ffebc4fefc6351f5b5ef888",
        "originalObjectId": "ff93e64a68f5538ad87cd06dcd50ebd107967933",
        "path": "/new_feature.cpp"
      },
      "changeType": "edit"
    }
  ]
}