Refs - Update Refs
建立、更新或刪除 refs (分支) 。
更新 ref 表示讓它指向與用來不同的認可。 您必須同時指定舊認可和新認可,以避免競爭狀況。
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?api-version=5.0
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?projectId={projectId}&api-version=5.0
URI 參數
名稱 | 位於 | 必要 | 類型 | Description |
---|---|---|---|---|
organization
|
path | True |
string |
Azure DevOps 組織的名稱。 |
repository
|
path | True |
string |
存放庫的名稱或識別碼。 |
project
|
path |
string |
專案識別碼或專案名稱 |
|
api-version
|
query | True |
string |
要使用的 API 版本。 這應該設定為 '5.0' 以使用此版本的 API。 |
project
|
query |
string |
小組專案的識別碼或名稱。 如果指定存放庫的識別碼,則為選擇性。 |
要求本文
名稱 | 類型 | Description |
---|---|---|
body |
嘗試執行的 ref 更新清單 |
回應
名稱 | 類型 | Description |
---|---|---|
200 OK |
成功作業 |
安全性
oauth2
Type:
oauth2
Flow:
accessCode
Authorization URL:
https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token 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
Scopes
名稱 | Description |
---|---|
vso.code_write | 授與讀取、更新和刪除原始程式碼、存取認可、變更集、分支和其他版本控制成品的相關中繼資料。 也授與建立和管理提取要求和程式碼檢閱的能力,以及透過服務勾點接收版本控制事件的通知。 |
範例
Create/Update/Delete a ref by repositoryId
Sample Request
POST https://dev.azure.com/fabrikam/_apis/git/repositories/{repositoryId}/refs?api-version=5.0
[
{
"name": "refs/heads/vsts-api-sample/answer-woman-flame",
"oldObjectId": "0000000000000000000000000000000000000000",
"newObjectId": "ffe9cba521f00d7f60e322845072238635edb451"
}
]
Sample Response
transfer-Encoding: chunked
{
"value": [
{
"repositoryId": "d3d1760b-311c-4175-a726-20dfc6a7f885",
"name": "refs/heads/vsts-api-sample/answer-woman-flame",
"oldObjectId": "0000000000000000000000000000000000000000",
"newObjectId": "ffe9cba521f00d7f60e322845072238635edb451",
"isLocked": false,
"updateStatus": "succeeded",
"success": true
}
],
"count": 1
}
定義
名稱 | Description |
---|---|
Git |
|
Git |
|
Git |
TFS 伺服器的更新狀態。 |
GitRefUpdate
名稱 | 類型 | Description |
---|---|---|
isLocked |
boolean |
|
name |
string |
|
newObjectId |
string |
|
oldObjectId |
string |
|
repositoryId |
string |
GitRefUpdateResult
名稱 | 類型 | Description |
---|---|---|
customMessage |
string |
結果物件的自訂訊息 For instance, Reason for 失敗。 |
isLocked |
boolean |
ref 是否已鎖定 |
name |
string |
Ref 名稱 |
newObjectId |
string |
新增物件識別碼 |
oldObjectId |
string |
舊物件識別碼 |
rejectedBy |
string |
拒絕更新之外掛程式的名稱。 |
repositoryId |
string |
存放庫識別碼 |
success |
boolean |
如果 ref 更新成功,則為 True,否則為 false |
updateStatus |
TFS 伺服器的更新狀態。 |
GitRefUpdateStatus
TFS 伺服器的更新狀態。
名稱 | 類型 | Description |
---|---|---|
createBranchPermissionRequired |
string |
無法完成 ref 更新要求,因為使用者缺少建立分支的許可權 |
createTagPermissionRequired |
string |
無法完成 ref 更新要求,因為使用者缺少建立標記的許可權 |
forcePushRequired |
string |
表示無法完成 ref 更新要求,因為此變更會中斷圖形的一部分,而呼叫端沒有存放庫的 ForcePush 許可權。 |
invalidRefName |
string |
表示無法完成 ref 更新要求,因為要求中顯示的 ref 名稱無效。 |
locked |
string |
無法完成 ref 更新,因為 ref 已由其他使用者鎖定。 |
manageNotePermissionRequired |
string |
無法完成 ref 更新要求,因為使用者缺少寫入此附注所需的附注建立許可權 |
refNameConflict |
string |
無法完成 ref 更新,因為不區分大小寫的模式,ref 名稱與現有的不同大小寫 ref 名稱衝突。 |
rejectedByPlugin |
string |
無法完成 ref 更新,因為外掛程式遭到拒絕。 |
rejectedByPolicy |
string |
無法完成 ref 更新,因為它遭到原則拒絕。 |
staleOldObjectId |
string |
表示無法完成 ref 更新要求,因為要求中顯示的舊物件識別碼不是資料庫嘗試更新時 ref 的物件識別碼。 最可能的情況是呼叫端失去競爭以更新 ref。 |
succeeded |
string |
指出 ref 更新要求已順利完成。 |
succeededCorruptRef |
string |
表示 ref 更新要求已順利完成,但傳入的 ref 已損毀,如同在 中,舊的物件識別碼不正確。 這應該只會在刪除期間發生。 |
succeededNonExistentRef |
string |
表示 ref 更新要求已順利完成,但 ref 實際上不存在,因此不會進行任何變更。 這應該只會在刪除期間發生。 |
unprocessed |
string |
未處理要求 |
unresolvableToCommit |
string |
無法完成 ref 更新要求,因為 ref 的新物件識別碼無法解析為認可物件, (可能透過任意數目的標記) |
writePermissionRequired |
string |
無法完成 ref 更新要求,因為使用者缺少寫入此 ref 所需的寫入權限 |