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 組織の名前です。 |
|
repository
|
path | True |
string |
リポジトリの名前または ID。 |
|
project
|
path |
string |
プロジェクト ID またはプロジェクト名 |
|
|
api-version
|
query | True |
string |
使う API のバージョン。 このバージョンの API を使用するには、これを '5.0' に設定する必要があります。 |
|
project
|
query |
string |
チーム プロジェクトの ID または名前。 リポジトリの ID を指定する場合は省略可能です。 |
要求本文
| 名前 | 型 | 説明 |
|---|---|---|
| body |
実行を試みる ref 更新プログラムの一覧 |
応答
| 名前 | 型 | 説明 |
|---|---|---|
| 200 OK |
正常な操作 |
セキュリティ
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
}
定義
| 名前 | 説明 |
|---|---|
|
Git |
|
|
Git |
|
|
Git |
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 |
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 更新要求を完了できませんでした |