Partilhar via


Repositories - Create

Crie um repositório git em um projeto de equipe.

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

Parâmetros de URI

Nome Em Obrigatório Tipo Description
organization
path True

string

O nome da organização do Azure DevOps.

project
path

string

ID do projeto ou nome do projeto

api-version
query True

string

Versão da API a ser usada. Isso deve ser definido como '7.1' para usar essa versão da api.

sourceRef
query

string

[opcional] Especifique os refs de origem a serem usados durante a criação de um repositório de bifurcação

Corpo da solicitação

Nome Tipo Description
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Representa uma referência superficial a um TeamProject.

Respostas

Nome Tipo Description
201 Created

GitRepository

Criado

Segurança

oauth2

Tipo: oauth2
Flow: accessCode
URL de Autorização: https://app.vssps.visualstudio.com/oauth2/authorize&response_type=Assertion
URL do Token: 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

Escopos

Nome Description
vso.code_manage Concede a capacidade de ler, atualizar e excluir código-fonte, acessar metadados sobre confirmações, conjuntos de alterações, branches e outros artefatos de controle de versão. Também concede a capacidade de criar e gerenciar repositórios de código, criar e gerenciar solicitações de pull e revisões de código e receber notificações sobre eventos de controle de versão por meio de ganchos de serviço.

Exemplos

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

Solicitação de exemplo

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

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

Resposta de exemplo

{
  "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

Solicitação de exemplo

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

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

Resposta de exemplo

{
  "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

Solicitação de exemplo

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

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

Resposta de exemplo

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

Definições

Nome Description
GitRepository
GitRepositoryCreateOptions
GitRepositoryRef
ProjectState

Estado do projeto.

ProjectVisibility

Visibilidade do projeto.

ReferenceLinks

A classe para representar uma coleção de links de referência REST.

TeamProjectCollectionReference

Objeto de referência para um TeamProjectCollection.

TeamProjectReference

Representa uma referência superficial a um TeamProject.

GitRepository

Nome Tipo Description
_links

ReferenceLinks

A classe para representar uma coleção de links de referência REST.

defaultBranch

string

id

string (uuid)

isDisabled

boolean

True se o repositório estiver desabilitado. False caso contrário.

isFork

boolean

True se o repositório foi criado como um fork.

isInMaintenance

boolean

True se o repositório estiver em manutenção. False caso contrário.

name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Representa uma referência superficial a um TeamProject.

remoteUrl

string

size

integer (int64)

Tamanho compactado (bytes) do repositório.

sshUrl

string

url

string

validRemoteUrls

string[]

webUrl

string

GitRepositoryCreateOptions

Nome Tipo Description
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Representa uma referência superficial a um TeamProject.

GitRepositoryRef

Nome Tipo Description
collection

TeamProjectCollectionReference

Coleção de projetos de equipe em que este Fork reside

id

string (uuid)

isFork

boolean

True se o repositório foi criado como um fork

name

string

project

TeamProjectReference

Representa uma referência superficial a um TeamProject.

remoteUrl

string

sshUrl

string

url

string

ProjectState

Estado do projeto.

Valor Description
all

Todos os projetos, independentemente do estado, exceto Excluídos.

createPending

O projeto foi enfileirado para criação, mas o processo ainda não foi iniciado.

deleted

O projeto foi excluído.

deleting

O Project está em processo de exclusão.

new

O Project está em processo de criação.

unchanged

O projeto não foi alterado.

wellFormed

O Project é completamente criado e pronto para uso.

ProjectVisibility

Visibilidade do projeto.

Valor Description
private

O projeto só é visível para usuários com acesso explícito.

public

O projeto é visível para todos.

A classe para representar uma coleção de links de referência REST.

Nome Tipo Description
links

object

A exibição somente leitura dos links. Como os links de referência são somente leitura, só queremos expô-los como somente leitura.

TeamProjectCollectionReference

Objeto de referência para um TeamProjectCollection.

Nome Tipo Description
avatarUrl

string

URL do avatar da coleção.

id

string (uuid)

ID da coleção.

name

string

Nome da coleção.

url

string

URL REST da coleção.

TeamProjectReference

Representa uma referência superficial a um TeamProject.

Nome Tipo Description
abbreviation

string

Abreviação do projeto.

defaultTeamImageUrl

string

Url para imagem de identidade de equipe padrão.

description

string

A descrição do projeto (se houver).

id

string (uuid)

Identificador de projeto.

lastUpdateTime

string (date-time)

Hora da última atualização do projeto.

name

string

Nome do projeto.

revision

integer (int64)

Revisão do projeto.

state

ProjectState

Estado do projeto.

url

string

Url para a versão completa do objeto.

visibility

ProjectVisibility

Visibilidade do projeto.