Pull Requests - Get Pull Request

检索拉取请求。

GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}?api-version=7.1
GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}?maxCommentLength={maxCommentLength}&$skip={$skip}&$top={$top}&includeCommits={includeCommits}&includeWorkItemRefs={includeWorkItemRefs}&api-version=7.1

URI 参数

名称 必需 类型 说明
organization
path True

string

Azure DevOps 组织的名称。

pullRequestId
path True

integer (int32)

要检索的拉取请求的 ID。

repositoryId
path True

string

拉取请求的目标分支的存储库 ID。

project
path

string

项目 ID 或项目名称

api-version
query True

string

要使用的 API 版本。 这应设置为“7.1”才能使用此版本的 API。

$skip
query

integer (int32)

未使用。

$top
query

integer (int32)

未使用。

includeCommits
query

boolean

如果为 true,则拉取请求将返回与关联的提交。

includeWorkItemRefs
query

boolean

如果为 true,则拉取请求将返回与关联的工作项引用。

maxCommentLength
query

integer (int32)

未使用。

响应

名称 类型 说明
200 OK

GitPullRequest

成功作

安全性

oauth2

类型: oauth2
流向: accessCode
授权 URL: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
令牌 URL: https://app.vssps.visualstudio.com/oauth2/token?client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&grant_type=urn:ietf:params:oauth:grant-type:jwt-bearer

作用域

名称 说明
vso.code 授予读取有关提交、更改集、分支和其他版本控制项目的源代码和元数据的能力。 此外,还可以通过服务挂钩搜索代码并获取有关版本控制事件的通知。

定义

名称 说明
ChangeCountDictionary
GitChange
GitCommitRef

提供描述 Git 提交和关联元数据的属性。

GitForkRef

有关分叉引用的信息。

GitPullRequest

表示与拉取请求关联的所有数据。

GitPullRequestCompletionOptions

有关如何完成拉取请求的首选项。

GitPullRequestMergeOptions

创建拉取请求合并时使用的选项。

GitPullRequestMergeStrategy

指定用于在完成期间合并拉取请求的策略。 如果未将 MergeStrategy 设置为任何值,则如果 SquashMerge == false,则会创建 no-FF 合并。 如果未将 MergeStrategy 设置为任何值,则如果 SquashMerge == true,则拉取请求提交将被挤压。 SquashMerge 属性已弃用。 建议在所有情况下显式设置 MergeStrategy。 如果为 MergeStrategy 提供显式值,将忽略 SquashMerge 属性。

GitPushRef
GitRepository
GitRepositoryRef
GitStatus

此类包含发布状态的服务/扩展的元数据。

GitStatusContext

唯一标识状态的状态上下文。

GitStatusState

状态。

GitTemplate
GitUserDate

Git作的用户信息和日期。

IdentityRef
IdentityRefWithVote

标识信息,包括对拉取请求的投票。

ItemContent
ItemContentType
ProjectState

项目状态。

ProjectVisibility

项目可见性。

PullRequestAsyncStatus

拉取请求合并的当前状态。

PullRequestMergeFailureType

拉取请求合并的失败类型(如果有)。

PullRequestStatus

拉取请求的状态。

ReferenceLinks

表示 REST 引用链接集合的类。

ResourceRef
TeamProjectCollectionReference

TeamProjectCollection 的引用对象。

TeamProjectReference

表示对 TeamProject 的浅表引用。

VersionControlChangeType

对项所做的更改的类型。

WebApiTagDefinition

通过网络发送的标记定义的表示形式。

ChangeCountDictionary

GitChange

名称 类型 说明
changeId

integer (int32)

更改组中更改的 ID。

changeType

VersionControlChangeType

对项所做的更改的类型。

item

string (T)

当前版本。

newContent

ItemContent

更改后项的内容。

newContentTemplate

GitTemplate

推送新更改时要使用的新内容模板。

originalPath

string

项目的原始路径(如果与当前路径不同)。

sourceServerItem

string

服务器上的项的路径。

url

string

用于检索项的 URL。

GitCommitRef

提供描述 Git 提交和关联元数据的属性。

名称 类型 说明
_links

ReferenceLinks

相关 REST 引用链接的集合。

author

GitUserDate

提交作者。

changeCounts

ChangeCountDictionary

提交中包含的更改类型(编辑、删除等)的计数。

changes

GitChange[]

提交中包含的更改的枚举。

comment

string

提交注释或消息。

commentTruncated

boolean

指示注释是否从完整的 Git 提交注释消息中截断。

commitId

string

提交的 ID (SHA-1)。

commitTooManyChanges

boolean

指示提交包含过多的更改无法显示

committer

GitUserDate

提交者。

parents

string[]

此提交的父提交 ID 的枚举。

push

GitPushRef

与此提交关联的推送。

remoteUrl

string

提交远程 URL 路径。

statuses

GitStatus[]

服务和扩展中的状态元数据列表,这些元数据可能会将其他信息与提交相关联。

url

string

此资源的 REST URL。

workItems

ResourceRef[]

与此提交关联的工作项列表。

GitForkRef

有关分叉引用的信息。

名称 类型 说明
_links

ReferenceLinks

表示 REST 引用链接集合的类。

creator

IdentityRef

isLocked

boolean

isLockedBy

IdentityRef

name

string

objectId

string

peeledObjectId

string

repository

GitRepository

分叉的存储库 ID。

statuses

GitStatus[]

此类包含发布状态的服务/扩展的元数据。

url

string

GitPullRequest

表示与拉取请求关联的所有数据。

名称 类型 说明
_links

ReferenceLinks

指向其他相关对象的链接。

artifactId

string

唯一标识此拉取请求的字符串。 若要为拉取请求生成项目 ID,请使用此模板:vstfs:///Git/PullRequestId/{projectId}/{repositoryId}/{pullRequestId}

autoCompleteSetBy

IdentityRef

如果已设置,则会为此拉取请求启用自动完成,这是启用该请求的标识。

closedBy

IdentityRef

关闭拉取请求的用户。

closedDate

string (date-time)

拉取请求已关闭(在外部完成、放弃或合并)的日期。

codeReviewId

integer (int32)

拉取请求的代码评审 ID。 在内部使用。

commits

GitCommitRef[]

拉取请求中包含的提交。

completionOptions

GitPullRequestCompletionOptions

影响拉取请求在完成时合并方式的选项。

completionQueueTime

string (date-time)

拉取请求进入要完成的队列的最近日期。 在内部使用。

createdBy

IdentityRef

创建拉取请求的用户的标识。

creationDate

string (date-time)

创建拉取请求的日期。

description

string

拉取请求的说明。

forkSource

GitForkRef

如果这是分叉的 PR,则包含有关其源的信息。

hasMultipleMergeBases

boolean

多个合并库警告

isDraft

boolean

草稿/WIP 拉取请求。

labels

WebApiTagDefinition[]

与拉取请求关联的标签。

lastMergeCommit

GitCommitRef

最新拉取请求合并的提交。 如果为空,则最近的合并正在进行或失败。

lastMergeSourceCommit

GitCommitRef

上次拉取请求合并时源分支的头的提交。

lastMergeTargetCommit

GitCommitRef

上次拉取请求合并时目标分支的头的提交。

mergeFailureMessage

string

如果已设置,则拉取请求合并失败,原因如下。

mergeFailureType

PullRequestMergeFailureType

拉取请求合并的失败类型(如果有)。

mergeId

string (uuid)

用于运行拉取请求合并的作业的 ID。 在内部使用。

mergeOptions

GitPullRequestMergeOptions

拉取请求合并运行时使用的选项。 这些选项与完成选项分开,因为每次拉取请求的源分支发生更改时,都会运行一个新合并。

mergeStatus

PullRequestAsyncStatus

拉取请求合并的当前状态。

pullRequestId

integer (int32)

拉取请求的 ID。

remoteUrl

string

在内部使用。

repository

GitRepository

包含拉取请求的目标分支的存储库。

reviewers

IdentityRefWithVote[]

拉取请求的审阅者列表及其投票状态。

sourceRefName

string

拉取请求的源分支的名称。

status

PullRequestStatus

拉取请求的状态。

supportsIterations

boolean

如果为 true,则此拉取请求支持多次迭代。 迭代支持意味着可以查看拉取请求源分支的单个推送,并在一次迭代中留下的注释将在将来的迭代中跟踪。

targetRefName

string

拉取请求的目标分支的名称。

title

string

拉取请求的标题。

url

string

在内部使用。

workItemRefs

ResourceRef[]

与此拉取请求关联的任何工作项引用。

GitPullRequestCompletionOptions

有关如何完成拉取请求的首选项。

名称 类型 说明
autoCompleteIgnoreConfigIds

integer[] (int32)

自动完成的任何策略配置 ID 的列表不应等待。 仅适用于可选策略(isBlocking == false)。 自动完成始终等待所需的策略(isBlocking == true)。

bypassPolicy

boolean

如果为 true,则拉取请求完成后,将显式绕过策略。

bypassReason

string

如果绕过策略,则此原因会存储为为何使用绕过。

deleteSourceBranch

boolean

如果为 true,则拉取请求的源分支将在完成后删除。

mergeCommitMessage

string

如果已设置,则会将其用作合并提交的提交消息。

mergeStrategy

GitPullRequestMergeStrategy

指定用于在完成期间合并拉取请求的策略。 如果未将 MergeStrategy 设置为任何值,则如果 SquashMerge == false,则会创建 no-FF 合并。 如果未将 MergeStrategy 设置为任何值,则如果 SquashMerge == true,则拉取请求提交将被挤压。 SquashMerge 属性已弃用。 建议在所有情况下显式设置 MergeStrategy。 如果为 MergeStrategy 提供显式值,将忽略 SquashMerge 属性。

squashMerge

boolean

SquashMerge 已弃用。 应显式设置 MergeStrategy 的值。 如果 MergeStrategy 设置为任何值,将忽略 SquashMerge 值。 如果未设置 MergeStrategy,则如果此标志为 false,则合并策略将不快进,如果为 true,则为 squash。

transitionWorkItems

boolean

如果为 true,我们将尝试将链接到拉取请求的任何工作项转换为下一个逻辑状态(即 Active -> Resolved)

triggeredByAutoComplete

boolean

如果为 true,则通过自动完成触发当前完成尝试。 在内部使用。

GitPullRequestMergeOptions

创建拉取请求合并时使用的选项。

名称 类型 说明
conflictAuthorshipCommits

boolean

如果为 true,合并期间应用的冲突解决将放入单独的提交中,以保留 git 责任的创作信息,等等。

detectRenameFalsePositives

boolean

disableRenames

boolean

如果为 true,则合并期间不会执行重命名检测。

GitPullRequestMergeStrategy

指定用于在完成期间合并拉取请求的策略。 如果未将 MergeStrategy 设置为任何值,则如果 SquashMerge == false,则会创建 no-FF 合并。 如果未将 MergeStrategy 设置为任何值,则如果 SquashMerge == true,则拉取请求提交将被挤压。 SquashMerge 属性已弃用。 建议在所有情况下显式设置 MergeStrategy。 如果为 MergeStrategy 提供显式值,将忽略 SquashMerge 属性。

说明
noFastForward

双父级无快进合并。 源分支保持不变。 这是默认行为。

rebase

在目标分支 HEAD 提交的基础上重新设置源分支,并快速转发目标分支。 源分支在重新数据库作期间更新。

rebaseMerge

在目标分支 HEAD 提交的基础上重新设置源分支,并创建两个父级无快进合并。 源分支在重新数据库作期间更新。

squash

将拉取请求中的所有更改放入单父提交中。

GitPushRef

名称 类型 说明
_links

ReferenceLinks

表示 REST 引用链接集合的类。

date

string (date-time)

pushId

integer (int32)

pushedBy

IdentityRef

url

string

GitRepository

名称 类型 说明
_links

ReferenceLinks

表示 REST 引用链接集合的类。

defaultBranch

string

id

string (uuid)

isDisabled

boolean

如果禁用存储库,则为 True。 否则为 False。

isFork

boolean

如此 如果存储库创建为分叉。

isInMaintenance

boolean

如此 如果存储库处于维护状态。 否则为 False。

name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

remoteUrl

string

size

integer (int64)

存储库的压缩大小(字节)。

sshUrl

string

url

string

validRemoteUrls

string[]

webUrl

string

GitRepositoryRef

名称 类型 说明
collection

TeamProjectCollectionReference

此分支所在的团队项目集合

id

string (uuid)

isFork

boolean

如此 如果存储库创建为分叉

name

string

project

TeamProjectReference

表示对 TeamProject 的浅表引用。

remoteUrl

string

sshUrl

string

url

string

GitStatus

此类包含发布状态的服务/扩展的元数据。

名称 类型 说明
_links

ReferenceLinks

参考链接。

context

GitStatusContext

状态的上下文。

createdBy

IdentityRef

创建状态的标识。

creationDate

string (date-time)

状态的创建日期和时间。

description

string

状态说明。 通常描述状态的当前状态。

id

integer (int32)

状态标识符。

state

GitStatusState

状态。

targetUrl

string

包含状态详细信息的 URL。

updatedDate

string (date-time)

状态的上次更新日期和时间。

GitStatusContext

唯一标识状态的状态上下文。

名称 类型 说明
genre

string

状态的流派。 通常,生成状态的服务/工具的名称可以为空。

name

string

状态的名称标识符不能为 null 或为空。

GitStatusState

状态。

说明
error

状态,出现错误。

failed

状态失败。

notApplicable

状态不适用于目标对象。

notSet

未设置状态。 默认状态。

pending

状态挂起。

succeeded

状态成功。

GitTemplate

名称 类型 说明
name

string

模板的名称

type

string

模板的类型

GitUserDate

Git作的用户信息和日期。

名称 类型 说明
date

string (date-time)

Git作的日期。

email

string

执行 Git作的用户的电子邮件地址。

imageUrl

string

用户的头像的 URL。

name

string

执行 Git作的用户的名称。

IdentityRef

名称 类型 说明
_links

ReferenceLinks

此字段包含有关图形主题的零个或多个有趣的链接。 可以调用这些链接以获取有关此图形主题的其他关系或更详细的信息。

descriptor

string

描述符是在系统运行时引用图形主题的主要方法。 此字段将唯一标识帐户和组织中的同一图形主题。

directoryAlias

string

已弃用 - 可以通过查询 IdentityRef“_links”字典的“self”条目中引用的 Graph 用户来检索

displayName

string

这是图形主题的非唯一显示名称。 若要更改此字段,必须在源提供程序中更改其值。

id

string

imageUrl

string

已弃用 - 在 IdentityRef“_links”字典的“虚拟形象”条目中可用

inactive

boolean

已弃用 - 可以通过查询 GraphUser“_links”字典的“membershipState”条目中引用的 Graph 成员身份状态来检索

isAadIdentity

boolean

已弃用 - 可以从描述符的主题类型推断(Descriptor.IsAadUserType/Descriptor.IsAadGroupType)

isContainer

boolean

已弃用 - 可以从描述符的主题类型推断(描述符.IsGroupType)

isDeletedInOrigin

boolean

profileUrl

string

已弃用 - 不在 ToIdentityRef 的大多数预先存在的实现中使用

uniqueName

string

已弃用 - 请改用 Domain+PrincipalName

url

string

此 URL 是指向此图形主题的源资源的完整路由。

IdentityRefWithVote

标识信息,包括对拉取请求的投票。

名称 类型 说明
_links

ReferenceLinks

此字段包含有关图形主题的零个或多个有趣的链接。 可以调用这些链接以获取有关此图形主题的其他关系或更详细的信息。

descriptor

string

描述符是在系统运行时引用图形主题的主要方法。 此字段将唯一标识帐户和组织中的同一图形主题。

directoryAlias

string

已弃用 - 可以通过查询 IdentityRef“_links”字典的“self”条目中引用的 Graph 用户来检索

displayName

string

这是图形主题的非唯一显示名称。 若要更改此字段,必须在源提供程序中更改其值。

hasDeclined

boolean

指示此审阅者是否已拒绝查看此拉取请求。

id

string

imageUrl

string

已弃用 - 在 IdentityRef“_links”字典的“虚拟形象”条目中可用

inactive

boolean

已弃用 - 可以通过查询 GraphUser“_links”字典的“membershipState”条目中引用的 Graph 成员身份状态来检索

isAadIdentity

boolean

已弃用 - 可以从描述符的主题类型推断(Descriptor.IsAadUserType/Descriptor.IsAadGroupType)

isContainer

boolean

已弃用 - 可以从描述符的主题类型推断(描述符.IsGroupType)

isDeletedInOrigin

boolean

isFlagged

boolean

指示此审阅者是否已标记此拉取请求的注意。

isReapprove

boolean

指示是否仍应处理此批准投票,即使投票未更改。

isRequired

boolean

指示此拉取请求是否为必需审阅者。
分支可以具有需要特定审阅者才能执行拉取请求的策略。

profileUrl

string

已弃用 - 不在 ToIdentityRef 的大多数预先存在的实现中使用

reviewerUrl

string

用于检索有关此标识信息的 URL

uniqueName

string

已弃用 - 请改用 Domain+PrincipalName

url

string

此 URL 是指向此图形主题的源资源的完整路由。

vote

integer (int16)

对拉取请求进行投票:
10 - 已批准 5 - 已批准建议 0 - 无投票 -5 - 等待作者 -10 - 拒绝

votedFor

IdentityRefWithVote[]

此审阅者参与的组或团队。
组和团队可以是拉取请求的审阅者,但不能直接投票。 当组或团队的成员投票时,该投票将汇总到组或团队投票中。 VotedFor 是此类投票的列表。

ItemContent

名称 类型 说明
content

string

contentType

ItemContentType

ItemContentType

说明
base64Encoded
rawText

ProjectState

项目状态。

说明
all

所有项目,无论状态如何,都已删除。

createPending

项目已排队创建,但该过程尚未启动。

deleted

项目已被删除。

deleting

项目正在删除。

new

正在创建项目。

unchanged

项目尚未更改。

wellFormed

项目已完全创建并可供使用。

ProjectVisibility

项目可见性。

说明
private

只有具有显式访问权限的用户才能看到该项目。

public

项目对所有人可见。

PullRequestAsyncStatus

拉取请求合并的当前状态。

说明
conflicts

拉取请求合并因冲突而失败。

failure

拉取请求合并失败。

notSet

未设置状态。 默认状态。

queued

拉取请求合并已排队。

rejectedByPolicy

策略拒绝的拉取请求合并。

succeeded

拉取请求合并成功。

PullRequestMergeFailureType

拉取请求合并的失败类型(如果有)。

说明
caseSensitive

拉取请求合并因大小写不匹配而失败。

none

未设置类型。 默认类型。

objectTooLarge

拉取请求合并由于对象太大而失败。

unknown

拉取请求合并失败类型未知。

PullRequestStatus

拉取请求的状态。

说明
abandoned

拉取请求被放弃。

active

拉取请求处于活动状态。

all

用于拉取请求搜索条件以包括所有状态。

completed

拉取请求已完成。

notSet

未设置状态。 默认状态。

表示 REST 引用链接集合的类。

名称 类型 说明
links

object

链接的只读视图。 由于引用链接是只读的,因此我们只想将其公开为只读链接。

ResourceRef

名称 类型 说明
id

string

url

string

TeamProjectCollectionReference

TeamProjectCollection 的引用对象。

名称 类型 说明
avatarUrl

string

集合头像 URL。

id

string (uuid)

集合 ID。

name

string

集合名称。

url

string

集合 REST URL。

TeamProjectReference

表示对 TeamProject 的浅表引用。

名称 类型 说明
abbreviation

string

项目缩写。

defaultTeamImageUrl

string

指向默认团队标识映像的 URL。

description

string

项目的说明(如果有)。

id

string (uuid)

项目标识符。

lastUpdateTime

string (date-time)

上次更新时间的项目。

name

string

项目名称。

revision

integer (int64)

项目修订。

state

ProjectState

项目状态。

url

string

指向对象完整版本的 URL。

visibility

ProjectVisibility

项目可见性。

VersionControlChangeType

对项所做的更改的类型。

说明
add
all
branch
delete
edit
encoding
lock
merge
none
property
rename
rollback
sourceRename
targetRename
undelete

WebApiTagDefinition

通过网络发送的标记定义的表示形式。

名称 类型 说明
active

boolean

标记定义是否处于活动状态。

id

string (uuid)

标记定义的 ID。

name

string

标记定义的名称。

url

string

标记定义的资源 URL。