Поделиться через


Repositories - Create

Создайте репозиторий Git в командном проекте.

POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=7.1-preview.1
POST https://dev.azure.com/{organization}/{project}/_apis/git/repositories?sourceRef={sourceRef}&api-version=7.1-preview.1

Параметры URI

Имя В Обязательно Тип Описание
organization
path True

string

Название организации Azure DevOps.

project
path

string

Идентификатор или имя проекта

api-version
query True

string

Используемая версия API. Для использования этой версии API необходимо задать значение 7.1-preview.1.

sourceRef
query

string

[необязательно] Указание ссылок на источник для использования при создании репозитория вилки

Текст запроса

Имя Тип Описание
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Представляет неглубокую ссылку на TeamProject.

Ответы

Имя Тип Описание
201 Created

GitRepository

Создание

Безопасность

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_manage Предоставляет возможность чтения, обновления и удаления исходного кода, доступа к метаданным о фиксациях, наборах изменений, ветвях и других артефактах управления версиями. Кроме того, предоставляет возможность создавать репозитории кода и управлять ими, создавать запросы на вытягивание и проверки кода и управлять ими, а также получать уведомления о событиях управления версиями с помощью перехватчиков служб.

Примеры

Create a fork of a parent repository
Create a fork of a parent repository syncing only the provided refs
Create a repository

Create a fork of a parent repository

Sample Request

POST https://dev.azure.com/{organization}/_apis/git/repositories?api-version=7.1-preview.1

{
  "name": "forkRepository",
  "project": {
    "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90"
  },
  "parentRepository": {
    "id": "57a09b16-c635-4ec9-bd6b-d501fec4eb7b",
    "project": {
      "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90"
    }
  }
}

Sample Response

{
  "id": "76b510af-7910-4a96-9902-b978d6226bee",
  "name": "forkRepository",
  "url": "https://dev.azure.com/fabrikam/MyFirstProject/_apis/git/repositories/76b510af-7910-4a96-9902-b978d6226bee",
  "project": {
    "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90",
    "name": "MyFirstProject",
    "url": "https://dev.azure.com/fabrikam/_apis/projects/3b046b6a-d070-4cd5-ad59-2eace5d05b90",
    "state": "wellFormed",
    "revision": 11,
    "visibility": "private",
    "defaultTeamImageUrl": null
  },
  "size": 0,
  "remoteUrl": "https://dev.azure.com/fabrikam/MyFirstProject/_git/forkRepository",
  "sshUrl": "git@ssh.dev.azure.com:v3/fabrikam/MyFirstProject/forkRepository",
  "isFork": true,
  "_links": {
    "forkSyncOperation": {
      "href": "https://dev.azure.com/fabrikam/_apis/git/repositories/76b510af-7910-4a96-9902-b978d6226bee/forkSyncRequests/8"
    }
  }
}

Create a fork of a parent repository syncing only the provided refs

Sample Request

POST https://dev.azure.com/{organization}/_apis/git/repositories?sourceRef=users/heads/master&api-version=7.1-preview.1

{
  "name": "forkRepositoryWithOnlySourceRef",
  "project": {
    "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90"
  },
  "parentRepository": {
    "id": "76b510af-7910-4a96-9902-b978d6226bee",
    "project": {
      "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90"
    }
  }
}

Sample Response

{
  "id": "29230c30-9125-459b-a3f6-ffab329053bd",
  "name": "forkRepositoryWithOnlySourceRef",
  "url": "https://dev.azure.com/fabrikam/MyFirstProject/_apis/git/repositories/29230c30-9125-459b-a3f6-ffab329053bd",
  "project": {
    "id": "3b046b6a-d070-4cd5-ad59-2eace5d05b90",
    "name": "MyFirstProject",
    "url": "https://dev.azure.com/fabrikam/_apis/projects/3b046b6a-d070-4cd5-ad59-2eace5d05b90",
    "state": "wellFormed",
    "revision": 12,
    "visibility": "private",
    "defaultTeamImageUrl": null
  },
  "size": 0,
  "remoteUrl": "https://dev.azure.com/fabrikam/MyFirstProject/_git/forkRepositoryWithOnlySourceRef",
  "sshUrl": "git@ssh.dev.azure.com:v3/fabrikam/MyFirstProject/forkRepositoryWithOnlySourceRef",
  "isFork": true,
  "_links": {
    "forkSyncOperation": {
      "href": "https://dev.azure.com/fabrikam/_apis/git/repositories/29230c30-9125-459b-a3f6-ffab329053bd/forkSyncRequests/7"
    }
  }
}

Create a repository

Sample Request

POST https://dev.azure.com/fabrikam/_apis/git/repositories?api-version=7.1-preview.1

{
  "name": "AnotherRepository",
  "project": {
    "id": "6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c"
  }
}

Sample Response

{
  "id": "5febef5a-833d-4e14-b9c0-14cb638f91e6",
  "name": "AnotherRepository",
  "url": "https://dev.azure.com/fabrikam/_apis/git/repositories/5febef5a-833d-4e14-b9c0-14cb638f91e6",
  "project": {
    "id": "6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
    "name": "Fabrikam-Fiber-Git",
    "url": "https://dev.azure.com/fabrikam/_apis/projects/6ce954b1-ce1f-45d1-b94d-e6bf2464ba2c",
    "state": "wellFormed"
  },
  "remoteUrl": "https://dev.azure.com/fabrikam/Fabrikam-Fiber-Git/_git/AnotherRepository"
}

Определения

Имя Описание
GitRepository
GitRepositoryCreateOptions
GitRepositoryRef
ProjectState

Состояние проекта.

ProjectVisibility

Видимость проекта.

ReferenceLinks

Класс, представляющий коллекцию ссылок REST.

TeamProjectCollectionReference

Объект ссылки для TeamProjectCollection.

TeamProjectReference

Представляет неглубокую ссылку на TeamProject.

GitRepository

Имя Тип Описание
_links

ReferenceLinks

Класс, представляющий коллекцию ссылок REST.

defaultBranch

string

id

string

isDisabled

boolean

Значение true, если репозиторий отключен. В противном случае — значение false.

isFork

boolean

Значение true, если репозиторий был создан как вилка.

isInMaintenance

boolean

Значение true, если репозиторий находится в состоянии обслуживания. В противном случае — значение false.

name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Представляет неглубокую ссылку на TeamProject.

remoteUrl

string

size

integer

Сжатый размер (байты) репозитория.

sshUrl

string

url

string

validRemoteUrls

string[]

webUrl

string

GitRepositoryCreateOptions

Имя Тип Описание
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Представляет неглубокую ссылку на TeamProject.

GitRepositoryRef

Имя Тип Описание
collection

TeamProjectCollectionReference

Коллекция командных проектов, в которой находится эта вилка

id

string

isFork

boolean

Значение true, если репозиторий был создан как вилка

name

string

project

TeamProjectReference

Представляет неглубокую ссылку на TeamProject.

remoteUrl

string

sshUrl

string

url

string

ProjectState

Состояние проекта.

Имя Тип Описание
all

string

Все проекты независимо от состояния, кроме Deleted.

createPending

string

Проект поставлен в очередь для создания, но процесс еще не запущен.

deleted

string

Проект удален.

deleting

string

Project находится в процессе удаления.

new

string

Проект находится в процессе создания.

unchanged

string

Проект не был изменен.

wellFormed

string

Project полностью создан и готов к использованию.

ProjectVisibility

Видимость проекта.

Имя Тип Описание
private

string

Проект виден только пользователям с явным доступом.

public

string

Проект виден всем.

Класс, представляющий коллекцию ссылок REST.

Имя Тип Описание
links

object

Представление ссылок только для чтения. Так как ссылочные ссылки доступны только для чтения, мы хотим предоставить их только для чтения.

TeamProjectCollectionReference

Объект ссылки для TeamProjectCollection.

Имя Тип Описание
avatarUrl

string

URL-адрес аватара коллекции.

id

string

Идентификатор коллекции.

name

string

Имя коллекции.

url

string

URL-адрес REST коллекции.

TeamProjectReference

Представляет неглубокую ссылку на TeamProject.

Имя Тип Описание
abbreviation

string

Сокращение проекта.

defaultTeamImageUrl

string

URL-адрес для образа удостоверения команды по умолчанию.

description

string

Описание проекта (если таковое есть).

id

string

Идентификатор проекта.

lastUpdateTime

string

Время последнего обновления проекта.

name

string

Имя проекта.

revision

integer

Редакция проекта.

state

ProjectState

Состояние проекта.

url

string

URL-адрес полной версии объекта.

visibility

ProjectVisibility

Видимость проекта.