次の方法で共有


Refs - Update Refs

refs(branchs) の作成、更新、または削除。

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 パラメーター

名前 / 必須 説明
organization
path True

string

Azure DevOps 組織の名前です。

repositoryId
path True

string

リポジトリの名前または ID。

project
path

string

プロジェクト ID またはプロジェクト名

api-version
query True

string

使う API のバージョン。 このバージョンの API を使用するには、これを '5.0' に設定する必要があります。

projectId
query

string

チーム プロジェクトの ID または名前。 リポジトリの ID を指定する場合は省略可能です。

要求本文

名前 説明
body

GitRefUpdate[]

実行を試みる ref 更新プログラムの一覧

応答

名前 説明
200 OK

GitRefUpdateResult[]

正常な操作

セキュリティ

oauth2

型: oauth2
フロー: accessCode
Authorization URL (承認 URL): https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
Token URL (トークン 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_write ソース コードの読み取り、更新、削除、コミット、変更セット、ブランチ、およびその他のバージョン管理成果物に関するメタデータへのアクセスを許可します。 また、pull request とコード レビューを作成および管理したり、サービス フックを介してバージョン管理イベントに関する通知を受信したりすることもできます。

Create/Update/Delete a ref by repositoryId

要求のサンプル

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"
  }
]

応答のサンプル

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
}

定義

名前 説明
GitRefUpdate
GitRefUpdateResult
GitRefUpdateStatus

TFS サーバーからの更新プログラムの状態。

GitRefUpdate

名前 説明
isLocked

boolean

name

string

newObjectId

string

oldObjectId

string

repositoryId

string

GitRefUpdateResult

名前 説明
customMessage

string

結果オブジェクトのカスタム メッセージ たとえば、失敗した理由。

isLocked

boolean

ref がロックされているかどうか

name

string

参照名

newObjectId

string

新しいオブジェクト ID

oldObjectId

string

古いオブジェクト ID

rejectedBy

string

更新を拒否したプラグインの名前。

repositoryId

string

リポジトリの ID

success

boolean

ref 更新が成功した場合は True、それ以外の場合は false

updateStatus

GitRefUpdateStatus

TFS サーバーからの更新プログラムの状態。

GitRefUpdateStatus

TFS サーバーからの更新プログラムの状態。

説明
createBranchPermissionRequired

ユーザーにブランチを作成するアクセス許可がないため、ref 更新要求を完了できませんでした

createTagPermissionRequired

ユーザーにタグを作成するアクセス許可がないため、ref 更新要求を完了できませんでした

forcePushRequired

この変更によってグラフの一部が切断され、呼び出し元にリポジトリに対する ForcePush アクセス許可がないため、ref 更新要求を完了できなかったことを示します。

invalidRefName

要求に表示された ref 名が無効であったため、ref 更新要求を完了できなかったことを示します。

locked

ref が別のユーザーによってロックされているため、ref 更新を完了できませんでした。

manageNotePermissionRequired

ユーザーがこのメモを書き込むのに必要なノート作成アクセス許可がないため、ref 更新要求を完了できませんでした

refNameConflict

ref の更新を完了できませんでした。これは、大文字と小文字を区別しないモードでは、ref 名が既存の異なる大文字と小文字が区別される ref 名と競合するためです。

rejectedByPlugin

ref 更新はプラグインによって拒否されたため、完了できませんでした。

rejectedByPolicy

ref 更新はポリシーによって拒否されたため、完了できませんでした。

staleOldObjectId

データベースが更新を試行したときに、要求に表示された古いオブジェクト ID が ref のオブジェクト ID でなかったため、ref 更新要求を完了できなかったことを示します。 最も可能性の高いシナリオは、呼び出し元が ref を更新する競合を失った場合です。

succeeded

ref 更新要求が正常に完了したことを示します。

succeededCorruptRef

ref 更新要求が正常に完了したが、渡された ref が破損していることを示します。同様に、古いオブジェクト ID が正しくありません。 これは、削除中にのみ行う必要があります。

succeededNonExistentRef

ref 更新要求が正常に完了したが、ref が実際には存在しないため、変更が行われなかったことを示します。 これは、削除中にのみ行う必要があります。

unprocessed

要求が処理されませんでした

unresolvableToCommit

ref の新しいオブジェクト ID をコミット オブジェクトに解決できなかったため 、ref 更新要求を完了できませんでした (任意の数のタグを使用する可能性があります)

writePermissionRequired

ユーザーがこの ref を書き込むのに必要な書き込みアクセス許可がないため、ref 更新要求を完了できませんでした