Share via


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 매개 변수

Name In(다음 안에) 필수 형식 Description
organization
path True

string

Azure DevOps 조직의 이름입니다.

project
path

string

프로젝트 ID 또는 프로젝트 이름

api-version
query True

string

사용할 API의 버전입니다. 이 버전의 API를 사용하려면 '7.1-preview.1'로 설정해야 합니다.

sourceRef
query

string

[선택 사항] 포크 리포지토리를 만드는 동안 사용할 원본 참조 지정

요청 본문

Name 형식 Description
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

TeamProject에 대한 단순 참조를 나타냅니다.

응답

Name 형식 Description
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

Name Description
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"
}

정의

Name Description
GitRepository
GitRepositoryCreateOptions
GitRepositoryRef
ProjectState

프로젝트 상태입니다.

ProjectVisibility

프로젝트 표시 유형입니다.

ReferenceLinks

REST 참조 링크의 컬렉션을 나타내는 클래스입니다.

TeamProjectCollectionReference

TeamProjectCollection에 대한 참조 개체입니다.

TeamProjectReference

TeamProject에 대한 단순 참조를 나타냅니다.

GitRepository

Name 형식 Description
_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 형식 Description
name

string

parentRepository

GitRepositoryRef

project

TeamProjectReference

TeamProject에 대한 단순 참조를 나타냅니다.

GitRepositoryRef

Name 형식 Description
collection

TeamProjectCollectionReference

이 포크가 있는 팀 프로젝트 컬렉션

id

string

isFork

boolean

True이면 리포지토리가 포크로 만들어졌습니다.

name

string

project

TeamProjectReference

TeamProject에 대한 단순 참조를 나타냅니다.

remoteUrl

string

sshUrl

string

url

string

ProjectState

프로젝트 상태입니다.

Name 형식 Description
all

string

삭제됨을 제외한 모든 프로젝트는 상태에 관계 없이 수행됩니다.

createPending

string

프로젝트를 만들기 위해 큐에 대기했지만 프로세스가 아직 시작되지 않았습니다.

deleted

string

프로젝트가 삭제되었습니다.

deleting

string

프로젝트가 삭제되는 중입니다.

new

string

프로젝트가 만들어지는 중입니다.

unchanged

string

프로젝트가 변경되지 않았습니다.

wellFormed

string

프로젝트가 완전히 만들어지고 사용할 준비가 된 것입니다.

ProjectVisibility

프로젝트 표시 유형입니다.

Name 형식 Description
private

string

프로젝트는 명시적 액세스 권한이 있는 사용자에게만 표시됩니다.

public

string

프로젝트는 모두 볼 수 있습니다.

REST 참조 링크의 컬렉션을 나타내는 클래스입니다.

Name 형식 Description
links

object

링크의 읽기 전용 보기입니다. 참조 링크는 읽기 전용이므로 읽기 전용으로만 노출하려고 합니다.

TeamProjectCollectionReference

TeamProjectCollection에 대한 참조 개체입니다.

Name 형식 Description
avatarUrl

string

컬렉션 아바타 URL입니다.

id

string

컬렉션 ID입니다.

name

string

컬렉션 이름입니다.

url

string

컬렉션 REST URL입니다.

TeamProjectReference

TeamProject에 대한 단순 참조를 나타냅니다.

Name 형식 Description
abbreviation

string

프로젝트 약어입니다.

defaultTeamImageUrl

string

기본 팀 ID 이미지의 URL입니다.

description

string

프로젝트의 설명(있는 경우)입니다.

id

string

프로젝트 식별자입니다.

lastUpdateTime

string

프로젝트 마지막 업데이트 시간입니다.

name

string

프로젝트 이름입니다.

revision

integer

프로젝트 수정 버전입니다.

state

ProjectState

프로젝트 상태입니다.

url

string

개체의 전체 버전에 대한 URL입니다.

visibility

ProjectVisibility

프로젝트 표시 유형입니다.