Refs - Update Refs
Создание, обновление или удаление refs(ветвей).
Обновление ссылки означает, что она указывает на фиксацию, отличную от используемой. Чтобы избежать условий гонки, необходимо указать как старую, так и новую фиксацию.
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?api-version=7.1-preview.1
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/refs?projectId={projectId}&api-version=7.1-preview.1
Параметры URI
Имя | В | Обязательно | Тип | Описание |
---|---|---|---|---|
organization
|
path | True |
string |
Название организации Azure DevOps. |
repository
|
path | True |
string |
Имя или идентификатор репозитория. |
project
|
path |
string |
Идентификатор или имя проекта |
|
api-version
|
query | True |
string |
Используемая версия API. Для использования этой версии API необходимо задать значение 7.1-preview.1. |
project
|
query |
string |
Идентификатор или имя командного проекта. Необязательно при указании идентификатора для репозитория. |
Текст запроса
Имя | Тип | Описание |
---|---|---|
body |
Список ссылочных обновлений для выполнения |
Ответы
Имя | Тип | Описание |
---|---|---|
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
Имя | Описание |
---|---|
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=7.1-preview.1
[
{
"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
}
Определения
Имя | Описание |
---|---|
Git |
|
Git |
|
Git |
Состояние обновления с сервера TFS. |
GitRefUpdate
Имя | Тип | Описание |
---|---|---|
isLocked |
boolean |
|
name |
string |
|
newObjectId |
string |
|
oldObjectId |
string |
|
repositoryId |
string |
GitRefUpdateResult
Имя | Тип | Описание |
---|---|---|
customMessage |
string |
Настраиваемое сообщение для результирующих объектов. Например, причина сбоя. |
isLocked |
boolean |
Указывает, заблокирована ли ссылка |
name |
string |
Имя ссылки |
newObjectId |
string |
Новый идентификатор объекта |
oldObjectId |
string |
Старый идентификатор объекта |
rejectedBy |
string |
Имя подключаемого модуля, который отклонил обновленный. |
repositoryId |
string |
Идентификатор репозитория |
success |
boolean |
Значение true, если обновление ссылки выполнено успешно, в противном случае — false. |
updateStatus |
Состояние обновления с сервера TFS. |
GitRefUpdateStatus
Состояние обновления с сервера TFS.
Имя | Тип | Описание |
---|---|---|
createBranchPermissionRequired |
string |
Не удалось выполнить запрос на обновление ссылки, так как у пользователя нет разрешения на создание ветви. |
createTagPermissionRequired |
string |
Не удалось выполнить запрос на обновление ссылки, так как у пользователя нет разрешения на создание тега |
forcePushRequired |
string |
Указывает, что не удалось выполнить запрос на обновление ссылки, так как часть графа будет отключена этим изменением, а вызывающий объект не имеет разрешения ForcePush на репозиторий. |
invalidRefName |
string |
Указывает, что не удалось выполнить запрос на обновление ссылки, так как имя ссылки, представленное в запросе, было недопустимым. |
locked |
string |
Не удалось завершить обновление ссылки, так как ссылка заблокирована другим пользователем. |
manageNotePermissionRequired |
string |
Не удалось выполнить запрос на обновление ссылки, так как пользователю не хватает разрешений на создание заметки, необходимых для записи этой заметки. |
refNameConflict |
string |
Не удалось завершить обновление ссылки, так как в режиме без учета регистра имя ссылки конфликтует с существующим именем ссылки с другим регистром. |
rejectedByPlugin |
string |
Не удалось завершить обновление ссылки, так как оно было отклонено подключаемым модулем. |
rejectedByPolicy |
string |
Не удалось завершить обновление ссылки, так как оно было отклонено политикой. |
staleOldObjectId |
string |
Указывает, что не удалось выполнить запрос на обновление ссылки, так как старый идентификатор объекта, представленный в запросе, не был идентификатором объекта ссылки при попытке обновления в базе данных. Наиболее вероятным сценарием является то, что вызывающий объект потерял гонку для обновления ссылки. |
succeeded |
string |
Указывает, что запрос на обновление ссылки был успешно выполнен. |
succeededCorruptRef |
string |
Указывает, что запрос на обновление ссылки был успешно выполнен, но переданная ссылка была повреждена . Как и в, старый идентификатор объекта был плохим. Это должно произойти только во время удаления. |
succeededNonExistentRef |
string |
Указывает, что запрос на обновление ссылки был успешно выполнен, но ссылка на самом деле не существует, поэтому изменения не были внесены. Это должно произойти только во время удаления. |
unprocessed |
string |
Запрос не был обработан |
unresolvableToCommit |
string |
Не удалось выполнить запрос на обновление ссылки, так как новый идентификатор объекта для ссылки не может быть разрешен в объект фиксации (возможно, с помощью любого количества тегов). |
writePermissionRequired |
string |
Не удалось выполнить запрос на обновление ссылки, так как у пользователя отсутствуют разрешения на запись, необходимые для записи этой ссылки. |