Repositories - Create

Creare un repository Git in un progetto team.

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

Parametri dell'URI

Nome In Necessario Tipo Descrizione
organization
path True

string

Nome dell'organizzazione di Azure DevOps.

project
path

string

ID progetto o nome progetto

api-version
query True

string

Versione dell'API da usare. Questa opzione deve essere impostata su '7.0' per usare questa versione dell'API.

sourceRef
query

string

[facoltativo] Specificare i ref di origine da usare durante la creazione di un repository fork

Corpo della richiesta

Nome Tipo Descrizione
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Rappresenta un riferimento superficiale a un TeamProject.

Risposte

Nome Tipo Descrizione
201 Created

GitRepository

Data di creazione

Sicurezza

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

Nome Descrizione
vso.code_manage Concede la possibilità di leggere, aggiornare ed eliminare codice sorgente, accedere ai metadati relativi ai commit, ai set di modifiche, ai rami e ad altri artefatti del controllo della versione. Concede inoltre la possibilità di creare e gestire repository di codice, creare e gestire richieste pull e revisioni del codice e ricevere notifiche sugli eventi di controllo della versione tramite hook del servizio.

Esempio

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.0

{
  "name": "forkRepository",
  "project": {
    "name": "MyFirstProject"
  },
  "parentRepository": {
    "name": "MyFirstRepo",
    "project": {
      "name": "MyFirstProject"
    }
  }
}

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.0

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

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.0

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

Definizioni

Nome Descrizione
GitRepository
GitRepositoryCreateOptions
GitRepositoryRef
ProjectState

Stato del progetto.

ProjectVisibility

Visibilità del progetto.

ReferenceLinks

Classe da rappresentare una raccolta di collegamenti di riferimento REST.

TeamProjectCollectionReference

Oggetto di riferimento per un Oggetto TeamProjectCollection.

TeamProjectReference

Rappresenta un riferimento superficiale a un TeamProject.

GitRepository

Nome Tipo Descrizione
_links

ReferenceLinks

Classe da rappresentare una raccolta di collegamenti di riferimento REST.

defaultBranch

string

id

string

isDisabled

boolean

True se il repository è disabilitato. False in caso contrario.

isFork

boolean

True se il repository è stato creato come fork.

name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Rappresenta un riferimento superficiale a un TeamProject.

remoteUrl

string

size

integer

Dimensioni compresse (byte) del repository.

sshUrl

string

url

string

validRemoteUrls

string[]

webUrl

string

GitRepositoryCreateOptions

Nome Tipo Descrizione
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Rappresenta un riferimento superficiale a un TeamProject.

GitRepositoryRef

Nome Tipo Descrizione
collection

TeamProjectCollectionReference

Raccolta di progetti team in cui risiede questo fork

id

string

isFork

boolean

True se il repository è stato creato come fork

name

string

project

TeamProjectReference

Rappresenta un riferimento superficiale a un TeamProject.

remoteUrl

string

sshUrl

string

url

string

ProjectState

Stato del progetto.

Nome Tipo Descrizione
all

string

Tutti i progetti indipendentemente dallo stato tranne Deleted.

createPending

string

Il progetto è stato accodato per la creazione, ma il processo non è ancora stato avviato.

deleted

string

Il progetto è stato eliminato.

deleting

string

Il progetto si trova nel processo di eliminazione.

new

string

Il progetto è in fase di creazione.

unchanged

string

Il progetto non è stato modificato.

wellFormed

string

Il progetto è completamente creato e pronto per l'uso.

ProjectVisibility

Visibilità del progetto.

Nome Tipo Descrizione
private

string

Il progetto è visibile solo agli utenti con accesso esplicito.

public

string

Il progetto è visibile a tutti.

Classe da rappresentare una raccolta di collegamenti di riferimento REST.

Nome Tipo Descrizione
links

object

Visualizzazione di lettura dei collegamenti. Poiché i collegamenti di riferimento sono in sola lettura, si vuole esporre solo i collegamenti di riferimento come sola lettura.

TeamProjectCollectionReference

Oggetto di riferimento per un Oggetto TeamProjectCollection.

Nome Tipo Descrizione
id

string

ID raccolta.

name

string

Nome raccolta.

url

string

URL REST raccolta.

TeamProjectReference

Rappresenta un riferimento superficiale a un TeamProject.

Nome Tipo Descrizione
abbreviation

string

Abbreviazione del progetto.

defaultTeamImageUrl

string

Url dell'immagine di identità del team predefinita.

description

string

Descrizione del progetto (se presente).

id

string

Identificatore del progetto.

lastUpdateTime

string

Ora dell'ultimo aggiornamento del progetto.

name

string

Nome progetto.

revision

integer

Revisione del progetto.

state

ProjectState

Stato del progetto.

url

string

Url alla versione completa dell'oggetto.

visibility

ProjectVisibility

Visibilità del progetto.