ブランチ API
この API はリポジトリのブランチをオペレーションします。
保護ブランチ API も参照ください。
リポジトリブランチの一覧
プロジェクトのリポジトリブランチの一覧を、名前のアルファベット順で取得します。
リポジトリが公開されていれば、このエンドポイントは認証なしでアクセスできます。
GET /projects/:id/repository/branches
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 |
search | 文字列です。 | いいえ | 検索文字列を含むブランチのリストを返します。term で始まるブランチを探すには^term を、term で終わるブランチを探すにはterm$ を使用します。 |
regex | 文字列です。 | いいえ | re2正規表現にマッチする名前を持つブランチのリストを返します。 |
リクエストの例
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/repository/branches"
応答例
[
{
"name": "main",
"merged": false,
"protected": true,
"default": true,
"developers_can_push": false,
"developers_can_merge": false,
"can_push": true,
"web_url": "https://gitlab.example.com/my-group/my-project/-/tree/main",
"commit": {
"id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c",
"short_id": "7b5c3cc",
"created_at": "2012-06-28T03:44:20-07:00",
"parent_ids": [
"4ad91d3c1144c406e50c7b33bae684bd6837faf8"
],
"title": "add projects API",
"message": "add projects API",
"author_name": "John Smith",
"author_email": "john@example.com",
"authored_date": "2012-06-27T05:51:39-07:00",
"committer_name": "John Smith",
"committer_email": "john@example.com",
"committed_date": "2012-06-28T03:44:20-07:00",
"trailers": {},
"web_url": "https://gitlab.example.com/my-group/my-project/-/commit/7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
}
},
...
]
単一のリポジトリブランチを取得します。
単一のプロジェクトリポジトリブランチを取得します。
リポジトリが公開されていれば、このエンドポイントは認証なしでアクセスできます。
GET /projects/:id/repository/branches/:branch
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 |
branch | 文字列です。 | yes | ブランチのURLエンコード名。 |
リクエストの例
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/repository/branches/main"
応答例
{
"name": "master",
"merged": false,
"protected": true,
"default": true,
"developers_can_push": false,
"developers_can_merge": false,
"can_push": true,
"web_url": "https://gitlab.example.com/my-group/my-project/-/tree/main",
"commit": {
"id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c",
"short_id": "7b5c3cc",
"created_at": "2012-06-28T03:44:20-07:00",
"parent_ids": [
"4ad91d3c1144c406e50c7b33bae684bd6837faf8"
],
"title": "add projects API",
"message": "add projects API",
"author_name": "John Smith",
"author_email": "john@example.com",
"authored_date": "2012-06-27T05:51:39-07:00",
"committer_name": "John Smith",
"committer_email": "john@example.com",
"committed_date": "2012-06-28T03:44:20-07:00",
"trailers": {},
"web_url": "https://gitlab.example.com/my-group/my-project/-/commit/7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
}
}
リポジトリブランチの保護
リポジトリブランチの保護についてはPOST /projects/:id/protected_branches
を参照してください。
リポジトリブランチの保護解除
リポジトリブランチの保護解除についてはDELETE /projects/:id/protected_branches/:name
をご覧ください。
リポジトリブランチの作成
リポジトリに新しいブランチを作成します。
POST /projects/:id/repository/branches
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数。 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 |
branch | 文字列です。 | yes | ブランチの名前。 |
ref | 文字列です。 | yes | ブランチを作成するブランチ名あるいはコミット SHA。 |
リクエストの例
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/repository/branches?branch=newbranch&ref=main"
応答例
{
"commit": {
"id": "7b5c3cc8be40ee161ae89a06bba6229da1032a0c",
"short_id": "7b5c3cc",
"created_at": "2012-06-28T03:44:20-07:00",
"parent_ids": [
"4ad91d3c1144c406e50c7b33bae684bd6837faf8"
],
"title": "add projects API",
"message": "add projects API",
"author_name": "John Smith",
"author_email": "john@example.com",
"authored_date": "2012-06-27T05:51:39-07:00",
"committer_name": "John Smith",
"committer_email": "john@example.com",
"committed_date": "2012-06-28T03:44:20-07:00",
"trailers": {},
"web_url": "https://gitlab.example.com/my-group/my-project/-/commit/7b5c3cc8be40ee161ae89a06bba6229da1032a0c"
},
"name": "newbranch",
"merged": false,
"protected": false,
"default": false,
"developers_can_push": false,
"developers_can_merge": false,
"can_push": true,
"web_url": "https://gitlab.example.com/my-group/my-project/-/tree/newbranch"
}
リポジトリブランチの削除
リポジトリからブランチを削除します。
エラーの場合は、説明メッセージが表示されます。
DELETE /projects/:id/repository/branches/:branch
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 |
branch | 文字列です。 | yes | ブランチの名前。 |
リクエストの例
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/repository/branches/newbranch"
マージブランチを削除
プロジェクトのデフォルトブランチにマージされたブランチをすべて削除します。
保護されたブランチは、このオペレーションでは削除されません。
DELETE /projects/:id/repository/merged_branches
パラメータを指定します:
属性 | 種類 | 必須 | 説明 |
---|---|---|---|
id | 整数/文字列 | yes | 認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス。 |
リクエストの例
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/repository/merged_branches"