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 |
项目 ID 或项目名称 |
|
api-version
|
query | True |
string |
要使用的 API 版本。 这应设置为“7.1-preview.1”才能使用此版本的 API。 |
source
|
query |
string |
[可选]指定创建分叉存储库时要使用的源引用 |
请求正文
名称 | 类型 | 说明 |
---|---|---|
name |
string |
|
parentRepository | ||
project |
表示对 TeamProject 的浅表引用。 |
响应
名称 | 类型 | 说明 |
---|---|---|
201 Created |
创建 |
安全性
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"
}
定义
名称 | 说明 |
---|---|
Git |
|
Git |
|
Git |
|
Project |
项目状态。 |
Project |
项目可见性。 |
Reference |
表示 REST 引用链接集合的类。 |
Team |
TeamProjectCollection 的引用对象。 |
Team |
表示对 TeamProject 的浅表引用。 |
GitRepository
名称 | 类型 | 说明 |
---|---|---|
_links |
表示 REST 引用链接集合的类。 |
|
defaultBranch |
string |
|
id |
string |
|
isDisabled |
boolean |
如果存储库处于禁用状态,则为 True。 否则为 False。 |
isFork |
boolean |
如此 如果存储库创建为分叉。 |
isInMaintenance |
boolean |
如果存储库处于维护状态,则为 True。 否则为 False。 |
name |
string |
|
parentRepository | ||
project |
表示对 TeamProject 的浅表引用。 |
|
remoteUrl |
string |
|
size |
integer |
存储库的压缩大小 (字节) 。 |
sshUrl |
string |
|
url |
string |
|
validRemoteUrls |
string[] |
|
webUrl |
string |
GitRepositoryCreateOptions
名称 | 类型 | 说明 |
---|---|---|
name |
string |
|
parentRepository | ||
project |
表示对 TeamProject 的浅表引用。 |
GitRepositoryRef
名称 | 类型 | 说明 |
---|---|---|
collection |
此分支所在的团队项目集合 |
|
id |
string |
|
isFork |
boolean |
如此 如果存储库是作为分支创建的 |
name |
string |
|
project |
表示对 TeamProject 的浅表引用。 |
|
remoteUrl |
string |
|
sshUrl |
string |
|
url |
string |
ProjectState
项目状态。
名称 | 类型 | 说明 |
---|---|---|
all |
string |
所有项目,不考虑状态,已删除。 |
createPending |
string |
项目已排队等待创建,但该过程尚未启动。 |
deleted |
string |
已删除项目。 |
deleting |
string |
正在删除 Project。 |
new |
string |
项目正在创建过程中。 |
unchanged |
string |
项目尚未更改。 |
wellFormed |
string |
项目已完全创建并可供使用。 |
ProjectVisibility
项目可见性。
名称 | 类型 | 说明 |
---|---|---|
private |
string |
项目仅对具有显式访问权限的用户可见。 |
public |
string |
项目对所有人都可见。 |
ReferenceLinks
表示 REST 引用链接集合的类。
名称 | 类型 | 说明 |
---|---|---|
links |
object |
链接的只读视图。 由于引用链接是只读的,因此我们只想将其公开为只读。 |
TeamProjectCollectionReference
TeamProjectCollection 的引用对象。
名称 | 类型 | 说明 |
---|---|---|
avatarUrl |
string |
集合头像 URL。 |
id |
string |
集合 ID。 |
name |
string |
集合名称。 |
url |
string |
集合 REST URL。 |
TeamProjectReference
表示对 TeamProject 的浅表引用。
名称 | 类型 | 说明 |
---|---|---|
abbreviation |
string |
项目缩写。 |
defaultTeamImageUrl |
string |
默认团队标识图像的 URL。 |
description |
string |
如果有任何) ,项目说明 (。 |
id |
string |
项目标识符。 |
lastUpdateTime |
string |
Project 上次更新时间。 |
name |
string |
项目名称。 |
revision |
integer |
项目修订。 |
state |
项目状态。 |
|
url |
string |
对象完整版本的 URL。 |
visibility |
项目可见性。 |