Condividi tramite


Repositories - Create

Creare un repository Git in un progetto team.

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

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 del progetto

api-version
query True

string

Versione dell'API da usare. Deve essere impostato su '7.1-preview.1' per usare questa versione dell'API.

sourceRef
query

string

[facoltativo] Specificare i riferimenti 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 oggetto 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 il codice sorgente, accedere ai metadati relativi a commit, insiemi di modifiche, rami e 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.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"
}

Definizioni

Nome Descrizione
GitRepository
GitRepositoryCreateOptions
GitRepositoryRef
ProjectState

Stato del progetto.

ProjectVisibility

Visibilità del progetto.

ReferenceLinks

Classe per rappresentare una raccolta di collegamenti di riferimento REST.

TeamProjectCollectionReference

Oggetto di riferimento per un oggetto TeamProjectCollection.

TeamProjectReference

Rappresenta un riferimento superficiale a un oggetto TeamProject.

GitRepository

Nome Tipo Descrizione
_links

ReferenceLinks

Classe per 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.

isInMaintenance

boolean

True se il repository è in fase di manutenzione. False in caso contrario.

name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

Rappresenta un riferimento superficiale a un oggetto 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 oggetto TeamProject.

GitRepositoryRef

Nome Tipo Descrizione
collection

TeamProjectCollectionReference

Raccolta di progetti team in cui si trova questo fork

id

string

isFork

boolean

True se il repository è stato creato come fork

name

string

project

TeamProjectReference

Rappresenta un riferimento superficiale a un oggetto TeamProject.

remoteUrl

string

sshUrl

string

url

string

ProjectState

Stato del progetto.

Nome Tipo Descrizione
all

string

Tutti i progetti indipendentemente dallo stato ad eccezione di 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 è in fase 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 per rappresentare una raccolta di collegamenti di riferimento REST.

Nome Tipo Descrizione
links

object

Visualizzazione di sola lettura dei collegamenti. Poiché i collegamenti di riferimento sono di sola lettura, è consigliabile esporli solo come di sola lettura.

TeamProjectCollectionReference

Oggetto di riferimento per un oggetto TeamProjectCollection.

Nome Tipo Descrizione
avatarUrl

string

URL dell'avatar della raccolta.

id

string

ID raccolta.

name

string

Nome raccolta.

url

string

URL REST della raccolta.

TeamProjectReference

Rappresenta un riferimento superficiale a un oggetto 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 della versione completa dell'oggetto.

visibility

ProjectVisibility

Visibilità del progetto.