- プロジェクトの可視性レベル
- プロジェクトマージ方式
- すべてのプロジェクトをリストアップ
- ユーザープロジェクト一覧
- ユーザーがスターを付けたプロジェクトのリスト
- 単一プロジェクトの取得
- プロジェクトユーザーの取得
- プロジェクトイベントの取得
- プロジェクトの作成
- ユーザーのプロジェクトを作成
- プロジェクトの編集
- フォークプロジェクト
- プロジェクトのフォークリスト
- プロジェクトのスター
- プロジェクトのスター解除
- プロジェクトのスターラー一覧
- 言語
- プロジェクトのアーカイブ
- プロジェクトのアーカイブ解除
- プロジェクトの削除
- 削除されたプロジェクトの復元
- ファイルのアップロード
- プロジェクトをグループで共有
- グループ内の共有プロジェクトリンクの削除
- フック
- フォーク関係
- プロジェクト名で検索
- プロジェクトのハウスキーピングタスクの開始
- プッシュルール
- プロジェクトを新しいネームスペースに移します。
- ブランチ
- プロジェクトのインポート/エクスポート
- プロジェクトメンバー
- プロジェクトのプルミラーリングプロセスの開始
- プロジェクト・バッジ
- イシューおよびマージリクエストの説明テンプレート
- git リポジトリのスナップショットのダウンロード
プロジェクトAPI
プロジェクトの可視性レベル
GitLabのプロジェクトは非公開、内部、公開のいずれかにすることができます。 これはプロジェクトのvisibility
フィールドによって決まります。
プロジェクトの可視性レベルの値は以下のとおりです:
-
private
プロジェクトへのアクセスは、ユーザーごとに明示的に許可する必要があります。 -
internal
プロジェクトのクローンは、ログインしているユーザーであれば誰でも作成できます。 -
public
認証なしでプロジェクトにアクセスできます。
プロジェクトマージ方式
merge_method
、現在3つのオプションからお選びいただけます:
-
merge
マージごとにマージコミットが作成され、競合がない限りマージが許可されます。 -
rebase_merge
: マージコミットはマージごとに作成されますが、マージは fast-forward マージが可能な場合にのみ許可されます。 こうすることで、このマージリクエストがビルドされた場合、ターゲットブランチにマージした後もビルドされるようにすることができます。 -
ff
マージコミットは作成されず、すべてのマージは fast-forward されます。つまり、マージはブランチを fast-forward できる場合にのみ許可されます。
すべてのプロジェクトをリストアップ
GitLab に公開されている、認証済みユーザのプロジェクトの一覧を取得します。 認証なしでアクセスした場合は、”simple” フィールドを持つ公開プロジェクトのみが返されます。
GET /projects
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
archived
| ブーリアン | いいえ | アーカイブ状態による制限 |
visibility
| 列 | いいえ | 視認性による制限public ,internal , またはprivate
|
order_by
| 列 | いいえ |
id 、name 、path 、created_at 、updated_at 、last_activity_at のいずれかのフィールドで並べ替えられたプロジェクトを返します。repository_size 、storage_size 、wiki_size のいずれかのフィールドは管理者にのみ許可されます。 デフォルトは次のとおりです。created_at
|
sort
| 列 | いいえ | プロジェクトをasc またはdesc 順番に desc ソートして返しますdesc 。 デフォルトは desc
|
search
| 列 | いいえ | 検索条件に一致するプロジェクトのリストを返します。 |
search_namespaces
| ブーリアン | いいえ | 検索条件に一致するときに祖先の名前空間を含めます。 デフォルトはfalse
|
simple
| ブーリアン | いいえ | 各プロジェクトについて、限定されたフィールドのみを返します。 認証がない場合、単純な_フィールドのみが_返されるため、これは使用できません。 |
owned
| ブーリアン | いいえ | 現在のユーザーが明示的に所有するプロジェクトによる制限 |
membership
| ブーリアン | いいえ | 現在のユーザーが所属しているプロジェクトによる制限 |
starred
| ブーリアン | いいえ | 現在のユーザーがスターを付けたプロジェクトで制限 |
statistics
| ブーリアン | いいえ | プロジェクト統計を含む |
with_custom_attributes
| ブーリアン | いいえ | レスポンスにカスタム属性を含める(管理者のみ) |
with_issues_enabled
| ブーリアン | いいえ | 有効なイシュー機能による制限 |
with_merge_requests_enabled
| ブーリアン | いいえ | 有効化されたマージリクエスト機能による制限 |
with_programming_language
| 列 | いいえ | 指定されたプログラミング言語を使用するプロジェクトによる制限 |
wiki_checksum_failed
| ブーリアン | いいえ | wikiチェックサム計算に失敗したプロジェクトを制限( GitLab Premium11.2で導入) |
repository_checksum_failed
| ブーリアン | いいえ | リポジトリのチェックサム計算に失敗したプロジェクトを制限( GitLab Premium11.2で導入) |
min_access_level
| 整数 | いいえ | 現在のユーザーの最小アクセスレベルによる制限 |
id_after
| 整数 | いいえ | 指定したIDより大きいIDを持つプロジェクトに結果を限定します。 |
id_before
| 整数 | いいえ | 指定した ID よりも小さい ID を持つプロジェクトに結果を限定します。 |
last_activity_after
| 日時 | いいえ | 指定した時間以降に last_activity が行われたプロジェクトに結果を限定します。 フォーマット:ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
last_activity_before
| 日時 | いいえ | 指定した時間以前に last_activity が行われたプロジェクトに結果を限定します。 フォーマット:ISO 8601 YYYY-MM-DDTHH:MM:SSZ |
repository_storage
| 列 | いいえ | 結果を repository_storage に保存されているプロジェクトに限定します。 管理者のみ利用可能です。 |
order_by
オプションのキーセットのページ分割をサポートしています。simple=true
またはユーザーが認証されていない場合、次のようなものが返されます:
[
{
"id": 4,
"description": null,
"default_branch": "master",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",
"web_url": "http://example.com/diaspora/diaspora-client",
"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",
"tag_list": [
"example",
"disapora client"
],
"name": "Diaspora Client",
"name_with_namespace": "Diaspora / Diaspora Client",
"path": "diaspora-client",
"path_with_namespace": "diaspora/diaspora-client",
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"forks_count": 0,
"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",
"star_count": 0,
},
{
"id": 6,
"description": null,
"default_branch": "master",
...
ユーザーが認証され、simple
が設定されていない場合、次のように返されます:
[
{
"id": 4,
"description": null,
"default_branch": "master",
"visibility": "private",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",
"web_url": "http://example.com/diaspora/diaspora-client",
"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",
"tag_list": [
"example",
"disapora client"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Client",
"name_with_namespace": "Diaspora / Diaspora Client",
"path": "diaspora-client",
"path_with_namespace": "diaspora/diaspora-client",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 3,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora"
},
"import_status": "none",
"archived": false,
"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8547b1dc37721d05889db52fa2f02",
"ci_default_git_depth": 50,
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"marked_for_deletion_at": "2020-04-03", // Deprecated and will be removed in API v5 in favor of marked_for_deletion_on
"marked_for_deletion_on": "2020-04-03",
"statistics": {
"commit_count": 37,
"storage_size": 1038090,
"repository_size": 1038090,
"wiki_size" : 0,
"lfs_objects_size": 0,
"job_artifacts_size": 0,
"packages_size": 0,
"snippets_size": 0
},
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
},
},
{
"id": 6,
"description": null,
"default_branch": "master",
"visibility": "private",
"ssh_url_to_repo": "git@example.com:brightbox/puppet.git",
"http_url_to_repo": "http://example.com/brightbox/puppet.git",
"web_url": "http://example.com/brightbox/puppet",
"readme_url": "http://example.com/brightbox/puppet/blob/master/README.md",
"tag_list": [
"example",
"puppet"
],
"owner": {
"id": 4,
"name": "Brightbox",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Puppet",
"name_with_namespace": "Brightbox / Puppet",
"path": "puppet",
"path_with_namespace": "brightbox/puppet",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 4,
"name": "Brightbox",
"path": "brightbox",
"kind": "group",
"full_path": "brightbox"
},
"import_status": "none",
"import_error": null,
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": false,
"avatar_url": null,
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8547b1dc37721d05889db52fa2f02",
"ci_default_git_depth": 0,
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"auto_devops_enabled": true,
"auto_devops_deploy_strategy": "continuous",
"repository_storage": "default",
"approvals_before_merge": 0,
"mirror": false,
"mirror_user_id": 45,
"mirror_trigger_builds": false,
"only_mirror_protected_branches": false,
"mirror_overwrites_diverged_branches": false,
"external_authorization_classification_label": null,
"packages_enabled": true,
"service_desk_enabled": false,
"service_desk_address": null,
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"statistics": {
"commit_count": 12,
"storage_size": 2066080,
"repository_size": 2066080,
"wiki_size" : 0,
"lfs_objects_size": 0,
"job_artifacts_size": 0,
"packages_size": 0,
"snippets_size": 0
},
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
}
]
marked_for_deletion_at
属性は非推奨となり、API v5 では削除され、marked_for_deletion_on
属性が使用される予定です。GitLabStarter、Bronze以上のユーザーには、approvals_before_merge
パラメーターも表示されます:
[
{
"id": 4,
"description": null,
"approvals_before_merge": 0,
...
}
]
でカスタム属性でフィルタリングできます:
GET /projects?custom_attributes[key]=value&custom_attributes[other_key]=other_value
ページネーションの制限
GitLab 13.0以降、オフセットベースのページネーションは50,000レコードまでに制限されます。 この制限を超えてプロジェクトを検索するには、キーセットのページネーションが必要になります。
キーセットのページネーションは、order_by=id
にのみ対応しています。 その他のソートオプションは使用できません。
ユーザープロジェクト一覧
指定したユーザーが所有する可視プロジェクトの一覧を取得します。 認証なしでアクセスした場合は、公開プロジェクトのみが返されます。
GET /users/:user_id/projects
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
user_id
| 列 | はい | ユーザーのIDまたはユーザー名 |
archived
| ブーリアン | いいえ | アーカイブ状態による制限 |
visibility
| 列 | いいえ | 視認性による制限public ,internal , またはprivate
|
order_by
| 列 | いいえ |
id 、name 、path 、created_at 、updated_at 、last_activity_at のフィールド順にプロジェクトを返します。 デフォルトはcreated_at
|
sort
| 列 | いいえ | プロジェクトをasc またはdesc 順番に desc ソートして返しますdesc 。 デフォルトは desc
|
search
| 列 | いいえ | 検索条件に一致するプロジェクトのリストを返します。 |
simple
| ブーリアン | いいえ | 各プロジェクトについて、限定されたフィールドのみを返します。 認証がない場合、単純な_フィールドのみが_返されるため、これは使用できません。 |
owned
| ブーリアン | いいえ | 現在のユーザーが明示的に所有するプロジェクトによる制限 |
membership
| ブーリアン | いいえ | 現在のユーザーが所属しているプロジェクトによる制限 |
starred
| ブーリアン | いいえ | 現在のユーザーがスターを付けたプロジェクトで制限 |
statistics
| ブーリアン | いいえ | プロジェクト統計を含む |
with_custom_attributes
| ブーリアン | いいえ | レスポンスにカスタム属性を含める(管理者のみ) |
with_issues_enabled
| ブーリアン | いいえ | 有効なイシュー機能による制限 |
with_merge_requests_enabled
| ブーリアン | いいえ | 有効化されたマージリクエスト機能による制限 |
with_programming_language
| 列 | いいえ | 指定されたプログラミング言語を使用するプロジェクトによる制限 |
min_access_level
| 整数 | いいえ | 現在のユーザーの最小アクセスレベルによる制限 |
id_after
| 整数 | いいえ | 指定したIDより大きいIDを持つプロジェクトに結果を限定します。 |
id_before
| 整数 | いいえ | 指定した ID よりも小さい ID を持つプロジェクトに結果を限定します。 |
order_by
オプションのキーセットのページ分割をサポートしています。[
{
"id": 4,
"description": null,
"default_branch": "master",
"visibility": "private",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",
"web_url": "http://example.com/diaspora/diaspora-client",
"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",
"tag_list": [
"example",
"disapora client"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Client",
"name_with_namespace": "Diaspora / Diaspora Client",
"path": "diaspora-client",
"path_with_namespace": "diaspora/diaspora-client",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 3,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora"
},
"import_status": "none",
"archived": false,
"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8547b1dc37721d05889db52fa2f02",
"ci_default_git_depth": 50,
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"marked_for_deletion_at": "2020-04-03", // Deprecated and will be removed in API v5 in favor of marked_for_deletion_on
"marked_for_deletion_on": "2020-04-03",
"statistics": {
"commit_count": 37,
"storage_size": 1038090,
"repository_size": 1038090,
"wiki_size" : 0,
"lfs_objects_size": 0,
"job_artifacts_size": 0,
"packages_size": 0,
"snippets_size": 0
},
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
},
{
"id": 6,
"description": null,
"default_branch": "master",
"visibility": "private",
"ssh_url_to_repo": "git@example.com:brightbox/puppet.git",
"http_url_to_repo": "http://example.com/brightbox/puppet.git",
"web_url": "http://example.com/brightbox/puppet",
"readme_url": "http://example.com/brightbox/puppet/blob/master/README.md",
"tag_list": [
"example",
"puppet"
],
"owner": {
"id": 4,
"name": "Brightbox",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Puppet",
"name_with_namespace": "Brightbox / Puppet",
"path": "puppet",
"path_with_namespace": "brightbox/puppet",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 4,
"name": "Brightbox",
"path": "brightbox",
"kind": "group",
"full_path": "brightbox"
},
"import_status": "none",
"import_error": null,
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": false,
"avatar_url": null,
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8547b1dc37721d05889db52fa2f02",
"ci_default_git_depth": 0,
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"auto_devops_enabled": true,
"auto_devops_deploy_strategy": "continuous",
"repository_storage": "default",
"approvals_before_merge": 0,
"mirror": false,
"mirror_user_id": 45,
"mirror_trigger_builds": false,
"only_mirror_protected_branches": false,
"mirror_overwrites_diverged_branches": false,
"external_authorization_classification_label": null,
"packages_enabled": true,
"service_desk_enabled": false,
"service_desk_address": null,
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"statistics": {
"commit_count": 12,
"storage_size": 2066080,
"repository_size": 2066080,
"wiki_size" : 0,
"lfs_objects_size": 0,
"job_artifacts_size": 0,
"packages_size": 0,
"snippets_size": 0
},
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
}
]
ユーザーがスターを付けたプロジェクトのリスト
指定したユーザーが所有する可視プロジェクトの一覧を取得します。 認証なしでアクセスした場合は、公開プロジェクトのみが返されます。
GET /users/:user_id/starred_projects
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
user_id
| 列 | はい | ユーザーのIDまたはユーザー名。 |
archived
| ブーリアン | いいえ | アーカイブされたステータスで制限します。 |
visibility
| 列 | いいえ |
public 、internal 、またはprivate 。
|
order_by
| 列 | いいえ |
id 、name 、path 、created_at 、updated_at 、last_activity_at のフィールド順にプロジェクトを返します。 デフォルトはcreated_at です。
|
sort
| 列 | いいえ |
asc またはdesc 順序で desc ソートされたプロジェクトを返しますdesc 。 デフォルトは . desc
|
search
| 列 | いいえ | 検索条件に一致するプロジェクトのリストを返します。 |
simple
| ブーリアン | いいえ | 各プロジェクトについて、限定されたフィールドのみを返します。 認証を行わない場合は、単純な_フィールドのみが_返されるため、これは無効です。 |
owned
| ブーリアン | いいえ | 現在のユーザーが明示的に所有しているプロジェクトに限定します。 |
membership
| ブーリアン | いいえ | 現在のユーザーが所属しているプロジェクトで制限します。 |
starred
| ブーリアン | いいえ | 現在のユーザーがスターを付けたプロジェクトで制限します。 |
statistics
| ブーリアン | いいえ | プロジェクト統計の掲載。 |
with_custom_attributes
| ブーリアン | いいえ | レスポンスにカスタム属性を含めます(管理者のみ)。 |
with_issues_enabled
| ブーリアン | いいえ | 有効なイシュー機能で制限します。 |
with_merge_requests_enabled
| ブーリアン | いいえ | 有効化されたマージリクエスト機能による制限。 |
min_access_level
| 整数 | いいえ | 現在のユーザーの最小アクセスレベルで制限します。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/users/5/starred_projects"
回答例
[
{
"id": 4,
"description": null,
"default_branch": "master",
"visibility": "private",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-client.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-client.git",
"web_url": "http://example.com/diaspora/diaspora-client",
"readme_url": "http://example.com/diaspora/diaspora-client/blob/master/README.md",
"tag_list": [
"example",
"disapora client"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Client",
"name_with_namespace": "Diaspora / Diaspora Client",
"path": "diaspora-client",
"path_with_namespace": "diaspora/diaspora-client",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 3,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora"
},
"import_status": "none",
"archived": false,
"avatar_url": "http://example.com/uploads/project/avatar/4/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8547b1dc37721d05889db52fa2f02",
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"statistics": {
"commit_count": 37,
"storage_size": 1038090,
"repository_size": 1038090,
"lfs_objects_size": 0,
"job_artifacts_size": 0
},
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
},
{
"id": 6,
"description": null,
"default_branch": "master",
"visibility": "private",
"ssh_url_to_repo": "git@example.com:brightbox/puppet.git",
"http_url_to_repo": "http://example.com/brightbox/puppet.git",
"web_url": "http://example.com/brightbox/puppet",
"readme_url": "http://example.com/brightbox/puppet/blob/master/README.md",
"tag_list": [
"example",
"puppet"
],
"owner": {
"id": 4,
"name": "Brightbox",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Puppet",
"name_with_namespace": "Brightbox / Puppet",
"path": "puppet",
"path_with_namespace": "brightbox/puppet",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 4,
"name": "Brightbox",
"path": "brightbox",
"kind": "group",
"full_path": "brightbox"
},
"import_status": "none",
"import_error": null,
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": false,
"avatar_url": null,
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8547b1dc37721d05889db52fa2f02",
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"auto_devops_enabled": true,
"auto_devops_deploy_strategy": "continuous",
"repository_storage": "default",
"approvals_before_merge": 0,
"mirror": false,
"mirror_user_id": 45,
"mirror_trigger_builds": false,
"only_mirror_protected_branches": false,
"mirror_overwrites_diverged_branches": false,
"external_authorization_classification_label": null,
"packages_enabled": true,
"service_desk_enabled": false,
"service_desk_address": null,
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"statistics": {
"commit_count": 12,
"storage_size": 2066080,
"repository_size": 2066080,
"lfs_objects_size": 0,
"job_artifacts_size": 0
},
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
}
]
単一プロジェクトの取得
特定のプロジェクトを取得します。 プロジェクトが公開されている場合、このエンドポイントは認証なしでアクセスできます。
GET /projects/:id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
statistics
| ブーリアン | いいえ | プロジェクト統計を含む |
license
| ブーリアン | いいえ | プロジェクトライセンスデータを含む |
with_custom_attributes
| ブーリアン | いいえ | レスポンスにカスタム属性を含める(管理者のみ) |
{
"id": 3,
"description": null,
"default_branch": "master",
"visibility": "private",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md",
"tag_list": [
"example",
"disapora project"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"container_expiration_policy": {
"cadence": "7d",
"enabled": false,
"keep_n": null,
"older_than": null,
"name_regex": null, // to be deprecated in GitLab 13.0 in favor of `name_regex_delete`
"name_regex_delete": null,
"name_regex_keep": null,
"next_run_at": "2020-01-07T21:42:58.658Z"
},
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 3,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora",
"avatar_url": "http://localhost:3000/uploads/group/avatar/3/foo.jpg",
"web_url": "http://localhost:3000/groups/diaspora"
},
"import_status": "none",
"import_error": null,
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": false,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE",
"license": {
"key": "lgpl-3.0",
"name": "GNU Lesser General Public License v3.0",
"nickname": "GNU LGPLv3",
"html_url": "http://choosealicense.com/licenses/lgpl-3.0/",
"source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt"
},
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b",
"ci_default_git_depth": 50,
"public_jobs": true,
"shared_with_groups": [
{
"group_id": 4,
"group_name": "Twitter",
"group_full_path": "twitter",
"group_access_level": 30
},
{
"group_id": 3,
"group_name": "Gitlab Org",
"group_full_path": "gitlab-org",
"group_access_level": 10
}
],
"repository_storage": "default",
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"printing_merge_requests_link_enabled": true,
"request_access_enabled": false,
"merge_method": "merge",
"auto_devops_enabled": true,
"auto_devops_deploy_strategy": "continuous",
"repository_storage": "default",
"approvals_before_merge": 0,
"mirror": false,
"mirror_user_id": 45,
"mirror_trigger_builds": false,
"only_mirror_protected_branches": false,
"mirror_overwrites_diverged_branches": false,
"external_authorization_classification_label": null,
"packages_enabled": true,
"service_desk_enabled": false,
"service_desk_address": null,
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"marked_for_deletion_at": "2020-04-03", // Deprecated and will be removed in API v5 in favor of marked_for_deletion_on
"marked_for_deletion_on": "2020-04-03",
"compliance_frameworks": [ "sox" ],
"statistics": {
"commit_count": 37,
"storage_size": 1038090,
"repository_size": 1038090,
"wiki_size" : 0,
"lfs_objects_size": 0,
"job_artifacts_size": 0,
"packages_size": 0,
"snippets_size": 0
},
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
}
GitLabStarter、Bronze以上のユーザーには、approvals_before_merge
パラメーターも表示されます:
{
"id": 3,
"description": null,
"approvals_before_merge": 0,
...
}
Note:namespace
のweb_url
とavatar_url
属性は GitLab 11.11 で導入されました。
プロジェクトがフォークであり、認証に有効なトークンを提供した場合、レスポンスにforked_from_project
フィールドが表示されます。
{
"id":3,
...
"forked_from_project":{
"id":13083,
"description":"GitLab Community Edition",
"name":"GitLab Community Edition",
"name_with_namespace":"GitLab.org / GitLab Community Edition",
"path":"gitlab-foss",
"path_with_namespace":"gitlab-org/gitlab-foss",
"created_at":"2013-09-26T06:02:36.000Z",
"default_branch":"master",
"tag_list":[],
"ssh_url_to_repo":"git@gitlab.com:gitlab-org/gitlab-foss.git",
"http_url_to_repo":"https://gitlab.com/gitlab-org/gitlab-foss.git",
"web_url":"https://gitlab.com/gitlab-org/gitlab-foss",
"avatar_url":"https://assets.gitlab-static.net/uploads/-/system/project/avatar/13083/logo-extra-whitespace.png",
"license_url": "https://gitlab.com/gitlab-org/gitlab/blob/master/LICENSE",
"license": {
"key": "mit",
"name": "MIT License",
"nickname": null,
"html_url": "http://choosealicense.com/licenses/mit/",
"source_url": "https://opensource.org/licenses/MIT",
},
"star_count":3812,
"forks_count":3561,
"last_activity_at":"2018-01-02T11:40:26.570Z",
"namespace": {
"id": 72,
"name": "GitLab.org",
"path": "gitlab-org",
"kind": "group",
"full_path": "gitlab-org",
"parent_id": null
}
}
...
}
プロジェクトユーザーの取得
プロジェクトのユーザーリストを取得します。
GET /projects/:id/users
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
search
| 列 | いいえ | 特定ユーザーの検索 |
skip_users
| 整数配列 | いいえ | 指定されたIDを持つユーザーをフィルタリング |
[
{
"id": 1,
"username": "john_smith",
"name": "John Smith",
"state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
"web_url": "http://localhost:3000/john_smith"
},
{
"id": 2,
"username": "jack_smith",
"name": "Jack Smith",
"state": "blocked",
"avatar_url": "http://gravatar.com/../e32131cd8.jpeg",
"web_url": "http://localhost:3000/jack_smith"
}
]
プロジェクトイベントの取得
イベントAPIのドキュメントを参照してください。
プロジェクトの作成
認証されたユーザーが所有する新しいプロジェクトを作成します。
POST /projects
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
name
| 列 | パスが指定されていない場合は yes | 新しいプロジェクトの名前。 提供されていない場合は path と同じです。 |
path
| 列 | 名前がない場合は「はい | 新しいプロジェクトのリポジトリ名。 指定がない場合は、名前に基づいて生成されます(ダッシュ付きの小文字で生成されます)。 |
namespace_id
| 整数 | いいえ | 新しいプロジェクトの名前空間 (デフォルトは現在のユーザーの名前空間) |
default_branch
| 列 | いいえ |
master デフォルト
|
description
| 列 | いいえ | プロジェクト概要 |
issues_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトのイシューを有効にします。 代わりにissues_access_level を使ってください。
|
merge_requests_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトのマージリクエストを有効にします。 代わりにmerge_requests_access_level を使ってください。
|
jobs_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトのジョブを有効にします。 代わりにbuilds_access_level を使ってください。
|
wiki_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトの wiki を有効にします。 代わりにwiki_access_level を使ってください。
|
snippets_enabled
| ブーリアン | いいえ | (非推奨) こ のプ ロ ジ ェ ク ト で ス ニペ ッ ト を有効に し ます。 かわ り にsnippets_access_level を使います。
|
issues_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
repository_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
merge_requests_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
forking_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
builds_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
wiki_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
snippets_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
pages_access_level
| 列 | いいえ |
disabled 、private 、enabled またはpublic
|
emails_disabled
| ブーリアン | いいえ | メール通知の無効化 |
show_default_award_emojis
| ブーリアン | いいえ | デフォルトのアワード絵文字を表示 |
resolve_outdated_diff_discussions
| ブーリアン | いいえ | プッシュで変更された行のマージリクエストの差分ディスカッションを自動的に解決 |
container_registry_enabled
| ブーリアン | いいえ | このプロジェクトのコンテナレジストリを有効にします。 |
container_expiration_policy_attributes
| ハッシュ | いいえ | このプロジェクトの画像クリーンアップポリシーを更新します。 受け入れ可能な値:cadence (string),keep_n (string),older_than (string),name_regex (string),name_regex_delete (string),name_regex_keep (string),enabled (boolean)
|
shared_runners_enabled
| ブーリアン | いいえ | このプロジェクトの共有ランナーを有効にします。 |
visibility
| 列 | いいえ | プロジェクトの可視性レベルを見る |
import_url
| 列 | いいえ | リポジトリのインポート元URL |
public_builds
| ブーリアン | いいえ |
true の場合、プロジェクトメンバー以外のジョブも閲覧可能。
|
only_allow_merge_if_pipeline_succeeds
| ブーリアン | いいえ | マージリクエストを成功したジョブにのみマージするかどうかを設定します。 |
allow_merge_on_skipped_pipeline
| ブーリアン | いいえ | マージリクエストをスキップしたジョブでマージできるかどうかを設定します。 |
only_allow_merge_if_all_discussions_are_resolved
| ブーリアン | いいえ | すべてのディスカッションが解決されたときにのみマージリクエストをマージするかどうかを設定します。 |
merge_method
| 列 | いいえ | マージ方法の設定 |
autoclose_referenced_issues
| ブーリアン | いいえ | デフォルトブランチで参照されているイシューを自動クローズするかどうかを設定します。 |
remove_source_branch_after_merge
| ブーリアン | いいえ | すべての新規マージリクエストでDelete source branch オプションをデフォルトで有効にします。
|
lfs_enabled
| ブーリアン | いいえ | LFSの有効化 |
request_access_enabled
| ブーリアン | いいえ | ユーザーによる会員アクセスリクエストの許可 |
tag_list
| アレイ | いいえ | プロジェクトに最終的に割り当てられるタグの配列。 |
avatar
| ミクスト | いいえ | プロジェクトのアバター用画像ファイル |
printing_merge_request_link_enabled
| ブーリアン | いいえ | コマンドラインからのプッシュ時にマージリクエストを作成/表示するリンクを表示します。 |
build_git_strategy
| 列 | いいえ | git 戦略。 デフォルトは次のとおりです。fetch
|
build_timeout
| 整数 | いいえ | ジョブが実行可能な最大時間(分)(単位:秒 |
auto_cancel_pending_pipelines
| 列 | いいえ | 保留中のパイプラインの自動キャンセル (注: これはブーリアンではなく、有効/無効です) |
build_coverage_regex
| 列 | いいえ | テストカバレッジのパース |
ci_config_path
| 列 | いいえ | CI設定ファイルのパス |
auto_devops_enabled
| ブーリアン | いいえ | このプロジェクトの自動DevOpsを有効にします。 |
auto_devops_deploy_strategy
| 列 | いいえ | 自動デプロイ戦略 (continuous ,manual またはtimed_incremental )
|
repository_storage
| 列 | いいえ | リポジトリがどのストレージシャードにあるか。 管理者のみ利用可能です。 |
approvals_before_merge
| 整数 | いいえ | デフォルトでマージリクエストを承認する承認者の数 |
external_authorization_classification_label
| 列 | いいえ | プロジェクトの分類ラベル |
mirror
| ブーリアン | いいえ | プロジェクトでプルミラーリングを有効にします。 |
mirror_trigger_builds
| ブーリアン | いいえ | プル ミラーリング トリガー ビルド |
initialize_with_readme
| ブーリアン | いいえ |
false デフォルト
|
template_name
| 列 | いいえ | を使用しない場合はuse_custom_template 、組み込みプロジェクト・use_custom_template テンプレートのuse_custom_template 名前。 を使用する場合は use_custom_template 、カスタム・プロジェクト・テンプレートの名前。
|
template_project_id
| 整数 | いいえ |
use_custom_template , カスタム・プロジェクト・テンプレートのプロジェクト ID と共に使用される場合、曖昧になる可能性があるtemplate_name ため template_name 、これは使用しない方が望ましいです。
|
use_custom_template
| ブーリアン | いいえ |
カスタム・インスタンスまたはグループ(group_with_project_templates_id )プロジェクト・テンプレートを使用します。
|
group_with_project_templates_id
| 整数 | いいえ |
グループレベルのカスタムテンプレートの場合、すべてのカスタムプロジェクトテンプレートのソースとなるグループの ID を指定します。 インスタンスレベルのテンプレートの場合は空白にしておきます。use_custom_template が true である必要があります。
|
packages_enabled
| ブーリアン | いいえ | パッケージリポジトリ機能の有効化または無効化 |
https://username:password@gitlab.company.com/group/project.git
password
はapi
スコープを有効にした公開アクセスキーです。ユーザーのプロジェクトを作成
指定したユーザーが所有する新しいプロジェクトを作成します。 管理者のみ利用可能です。
POST /projects/user/:user_id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
user_id
| 整数 | はい | プロジェクトオーナーのユーザーID |
name
| 列 | はい | 新しいプロジェクトの名前 |
path
| 列 | いいえ | 新しいプロジェクトのカスタムリポジトリ名。 デフォルトでは名前に基づいて生成されます。 |
namespace_id
| 整数 | いいえ | 新しいプロジェクトの名前空間 (デフォルトは現在のユーザーの名前空間) |
description
| 列 | いいえ | プロジェクト概要 |
issues_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトのイシューを有効にします。 代わりにissues_access_level を使ってください。
|
merge_requests_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトのマージリクエストを有効にします。 代わりにmerge_requests_access_level を使ってください。
|
jobs_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトのジョブを有効にします。 代わりにbuilds_access_level を使ってください。
|
wiki_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトの wiki を有効にします。 代わりにwiki_access_level を使ってください。
|
snippets_enabled
| ブーリアン | いいえ | (非推奨) こ のプ ロ ジ ェ ク ト で ス ニペ ッ ト を有効に し ます。 かわ り にsnippets_access_level を使います。
|
issues_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
repository_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
merge_requests_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
forking_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
builds_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
wiki_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
snippets_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
pages_access_level
| 列 | いいえ |
disabled 、private 、enabled またはpublic
|
emails_disabled
| ブーリアン | いいえ | メール通知の無効化 |
show_default_award_emojis
| ブーリアン | いいえ | デフォルトのアワード絵文字を表示 |
resolve_outdated_diff_discussions
| ブーリアン | いいえ | プッシュで変更された行のマージリクエストの差分ディスカッションを自動的に解決 |
container_registry_enabled
| ブーリアン | いいえ | このプロジェクトのコンテナレジストリを有効にします。 |
shared_runners_enabled
| ブーリアン | いいえ | このプロジェクトの共有ランナーを有効にします。 |
visibility
| 列 | いいえ | プロジェクトの可視性レベルを見る |
import_url
| 列 | いいえ | リポジトリのインポート元URL |
public_builds
| ブーリアン | いいえ |
true の場合、プロジェクトメンバー以外のジョブも閲覧可能。
|
only_allow_merge_if_pipeline_succeeds
| ブーリアン | いいえ | マージリクエストを成功したジョブにのみマージするかどうかを設定します。 |
allow_merge_on_skipped_pipeline
| ブーリアン | いいえ | マージリクエストをスキップしたジョブでマージできるかどうかを設定します。 |
only_allow_merge_if_all_discussions_are_resolved
| ブーリアン | いいえ | すべてのディスカッションが解決されたときにのみマージリクエストをマージするかどうかを設定します。 |
merge_method
| 列 | いいえ | マージ方法の設定 |
autoclose_referenced_issues
| ブーリアン | いいえ | デフォルトブランチで参照されているイシューを自動クローズするかどうかを設定します。 |
suggestion_commit_message
| 列 | いいえ | マージリクエストを適用するためのコミットメッセージ |
remove_source_branch_after_merge
| ブーリアン | いいえ | すべての新規マージリクエストでDelete source branch オプションをデフォルトで有効にします。
|
lfs_enabled
| ブーリアン | いいえ | LFSの有効化 |
request_access_enabled
| ブーリアン | いいえ | ユーザーによる会員アクセスリクエストの許可 |
tag_list
| アレイ | いいえ | プロジェクトに最終的に割り当てられるタグの配列。 |
avatar
| ミクスト | いいえ | プロジェクトのアバター用画像ファイル |
printing_merge_request_link_enabled
| ブーリアン | いいえ | コマンドラインからのプッシュ時にマージリクエストを作成/表示するリンクを表示します。 |
build_git_strategy
| 列 | いいえ | git 戦略。 デフォルトは次のとおりです。fetch
|
build_timeout
| 整数 | いいえ | ジョブが実行可能な最大時間(分)(単位:秒 |
auto_cancel_pending_pipelines
| 列 | いいえ | 保留中のパイプラインの自動キャンセル (注: これはブーリアンではなく、有効/無効です) |
build_coverage_regex
| 列 | いいえ | テストカバレッジのパース |
ci_config_path
| 列 | いいえ | CI設定ファイルのパス |
auto_devops_enabled
| ブーリアン | いいえ | このプロジェクトの自動DevOpsを有効にします。 |
auto_devops_deploy_strategy
| 列 | いいえ | 自動デプロイ戦略 (continuous ,manual またはtimed_incremental )
|
repository_storage
| 列 | いいえ | リポジトリがどのストレージシャードにあるか。 管理者のみ利用可能です。 |
approvals_before_merge
| 整数 | いいえ | デフォルトでマージリクエストを承認する承認者の数 |
external_authorization_classification_label
| 列 | いいえ | プロジェクトの分類ラベル |
mirror
| ブーリアン | いいえ | プロジェクトでプルミラーリングを有効にします。 |
mirror_trigger_builds
| ブーリアン | いいえ | プル ミラーリング トリガー ビルド |
initialize_with_readme
| ブーリアン | いいえ |
false デフォルト
|
template_name
| 列 | いいえ | を使用しない場合はuse_custom_template 、組み込みプロジェクト・use_custom_template テンプレートのuse_custom_template 名前。 を使用する場合は use_custom_template 、カスタム・プロジェクト・テンプレートの名前。
|
use_custom_template
| ブーリアン | いいえ |
カスタム・インスタンスまたはグループ(group_with_project_templates_id )プロジェクト・テンプレートを使用します。
|
group_with_project_templates_id
| 整数 | いいえ |
use_custom_template グループレベルのカスタムテンプレートの場合、すべてのカスタムプロジェクトテンプレートのソースとなるグループの ID を指定します。 インスタンスレベルのテンプレートの場合は空白にしておきます。use_custom_template が true である必要があります。
|
packages_enabled
| ブーリアン | いいえ | パッケージリポジトリ機能の有効化または無効化 |
https://username:password@gitlab.company.com/group/project.git
password
はapi
スコープを有効にした公開アクセスキーです。プロジェクトの編集
既存のプロジェクトを更新します。
PUT /projects/:id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
name
| 列 | いいえ | プロジェクト名 |
path
| 列 | いいえ | プロジェクトのカスタムリポジトリ名。 デフォルトでは名前に基づいて生成されます。 |
default_branch
| 列 | いいえ |
master デフォルト
|
description
| 列 | いいえ | プロジェクト概要 |
issues_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトのイシューを有効にします。 代わりにissues_access_level を使ってください。
|
merge_requests_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトのマージリクエストを有効にします。 代わりにmerge_requests_access_level を使ってください。
|
jobs_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトのジョブを有効にします。 代わりにbuilds_access_level を使ってください。
|
wiki_enabled
| ブーリアン | いいえ | (非推奨) このプロジェクトの wiki を有効にします。 代わりにwiki_access_level を使ってください。
|
snippets_enabled
| ブーリアン | いいえ | (非推奨) こ のプ ロ ジ ェ ク ト で ス ニペ ッ ト を有効に し ます。 かわ り にsnippets_access_level を使います。
|
issues_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
repository_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
merge_requests_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
forking_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
builds_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
wiki_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
snippets_access_level
| 列 | いいえ |
disabled ,private のいずれか。enabled
|
pages_access_level
| 列 | いいえ |
disabled 、private 、enabled またはpublic
|
emails_disabled
| ブーリアン | いいえ | メール通知の無効化 |
show_default_award_emojis
| ブーリアン | いいえ | デフォルトのアワード絵文字を表示 |
resolve_outdated_diff_discussions
| ブーリアン | いいえ | プッシュで変更された行のマージリクエストの差分ディスカッションを自動的に解決 |
container_registry_enabled
| ブーリアン | いいえ | このプロジェクトのコンテナレジストリを有効にします。 |
container_expiration_policy_attributes
| ハッシュ | いいえ | このプロジェクトの画像クリーンアップポリシーを更新します。 受け入れ可能な値:cadence (string),keep_n (string),older_than (string),name_regex (string),name_regex_delete (string),name_regex_keep (string),enabled (boolean)
|
shared_runners_enabled
| ブーリアン | いいえ | このプロジェクトの共有ランナーを有効にします。 |
visibility
| 列 | いいえ | プロジェクトの可視性レベルを見る |
import_url
| 列 | いいえ | リポジトリのインポート元URL |
public_builds
| ブーリアン | いいえ |
true の場合、プロジェクトメンバー以外のジョブも閲覧可能。
|
only_allow_merge_if_pipeline_succeeds
| ブーリアン | いいえ | マージリクエストを成功したジョブにのみマージするかどうかを設定します。 |
allow_merge_on_skipped_pipeline
| ブーリアン | いいえ | マージリクエストをスキップしたジョブでマージできるかどうかを設定します。 |
only_allow_merge_if_all_discussions_are_resolved
| ブーリアン | いいえ | すべてのディスカッションが解決されたときにのみマージリクエストをマージするかどうかを設定します。 |
merge_method
| 列 | いいえ | マージ方法の設定 |
autoclose_referenced_issues
| ブーリアン | いいえ | デフォルトブランチで参照されているイシューを自動クローズするかどうかを設定します。 |
suggestion_commit_message
| 列 | いいえ | マージリクエストを適用するためのコミットメッセージ |
remove_source_branch_after_merge
| ブーリアン | いいえ | すべての新規マージリクエストでDelete source branch オプションをデフォルトで有効にします。
|
lfs_enabled
| ブーリアン | いいえ | LFSの有効化 |
request_access_enabled
| ブーリアン | いいえ | ユーザーによる会員アクセスリクエストの許可 |
tag_list
| アレイ | いいえ | プロジェクトに最終的に割り当てられるタグの配列。 |
avatar
| ミクスト | いいえ | プロジェクトのアバター用画像ファイル |
build_git_strategy
| 列 | いいえ | git 戦略。 デフォルトは次のとおりです。fetch
|
build_timeout
| 整数 | いいえ | ジョブが実行可能な最大時間(分)(単位:秒 |
auto_cancel_pending_pipelines
| 列 | いいえ | 保留中のパイプラインの自動キャンセル (注: これはブーリアンではなく、有効/無効です) |
build_coverage_regex
| 列 | いいえ | テストカバレッジのパース |
ci_config_path
| 列 | いいえ | CI設定ファイルのパス |
ci_default_git_depth
| 整数 | いいえ | 浅いクローニングのデフォルトのリビジョン数 |
auto_devops_enabled
| ブーリアン | いいえ | このプロジェクトの自動DevOpsを有効にします。 |
auto_devops_deploy_strategy
| 列 | いいえ | 自動デプロイ戦略 (continuous ,manual またはtimed_incremental )
|
repository_storage
| 列 | いいえ | リポジトリがどのストレージシャードにあるか。 管理者のみ利用可能です。 |
approvals_before_merge
| 整数 | いいえ | デフォルトでマージリクエストを承認する承認者の数 |
external_authorization_classification_label
| 列 | いいえ | プロジェクトの分類ラベル |
mirror
| ブーリアン | いいえ | プロジェクトでプルミラーリングを有効にします。 |
mirror_user_id
| 整数 | いいえ | プルミラーイベントのすべてのアクティビティに責任を持つユーザーです。 管理者のみが設定できます。 |
mirror_trigger_builds
| ブーリアン | いいえ | プル ミラーリング トリガー ビルド |
only_mirror_protected_branches
| ブーリアン | いいえ | ミラーで保護されたブランチのみ |
mirror_overwrites_diverged_branches
| ブーリアン | いいえ | プルミラーは分岐したブランチを上書きします。 |
packages_enabled
| ブーリアン | いいえ | パッケージリポジトリ機能の有効化または無効化 |
service_desk_enabled
| ブーリアン | いいえ | サービスデスク機能の有効化または無効化 |
https://username:password@gitlab.company.com/group/project.git
password
はapi
スコープを有効にした公開アクセスキーです。フォークプロジェクト
認証されたユーザーまたは指定されたユーザーのユーザー・ネームスペースにプロジェクトをフォークします。
プロジェクトのフォークオペレーションは非同期で、バックグラウンドジョブで完了します。 リクエストは即座に返されます。 プロジェクトのフォークが完了したかどうかを調べるには、新しいプロジェクトのimport_status
に問い合わせます。
POST /projects/:id/fork
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
namespace
| 整数/文字列 | いいえ | (廃止予定) プロジェクトがフォークされる名前空間の ID またはパス。 |
namespace_id
| 整数 | いいえ | プロジェクトがフォークされる名前空間のID |
namespace_path
| 列 | いいえ | プロジェクトをフォークする名前空間のパス。 |
path
| 列 | いいえ | フォーク後のプロジェクトに割り当てられるパス。 |
name
| 列 | いいえ | フォーク後のプロジェクトに割り当てられる名前。 |
プロジェクトのフォークリスト
注:この機能は GitLab 10.1 で導入されました。
指定したプロジェクトとフォークされた関係が確立されている、呼び出し元のユーザーがアクセス可能なプロジェクトを一覧表示します。
GET /projects/:id/forks
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
archived
| ブーリアン | いいえ | アーカイブ状態による制限 |
visibility
| 列 | いいえ | 視認性による制限public ,internal , またはprivate
|
order_by
| 列 | いいえ |
id 、name 、path 、created_at 、updated_at 、last_activity_at のフィールド順にプロジェクトを返します。 デフォルトはcreated_at
|
sort
| 列 | いいえ | プロジェクトをasc またはdesc 順番に desc ソートして返しますdesc 。 デフォルトは desc
|
search
| 列 | いいえ | 検索条件に一致するプロジェクトのリストを返します。 |
simple
| ブーリアン | いいえ | 各プロジェクトについて、限定されたフィールドのみを返します。 認証がない場合、単純な_フィールドのみが_返されるため、これは使用できません。 |
owned
| ブーリアン | いいえ | 現在のユーザーが明示的に所有するプロジェクトによる制限 |
membership
| ブーリアン | いいえ | 現在のユーザーが所属しているプロジェクトによる制限 |
starred
| ブーリアン | いいえ | 現在のユーザーがスターを付けたプロジェクトで制限 |
statistics
| ブーリアン | いいえ | プロジェクト統計を含む |
with_custom_attributes
| ブーリアン | いいえ | レスポンスにカスタム属性を含める(管理者のみ) |
with_issues_enabled
| ブーリアン | いいえ | 有効なイシュー機能による制限 |
with_merge_requests_enabled
| ブーリアン | いいえ | 有効化されたマージリクエスト機能による制限 |
min_access_level
| 整数 | いいえ | 現在のユーザーの最小アクセスレベルによる制限 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/forks"
回答例
[
{
"id": 3,
"description": null,
"default_branch": "master",
"visibility": "internal",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md",
"tag_list": [
"example",
"disapora project"
],
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 3,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora"
},
"import_status": "none",
"archived": true,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 1,
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
}
]
プロジェクトのスター
指定したプロジェクトに星をつけます。 プロジェクトがすでに星がついている場合は、ステータスコード304
を返します。
POST /projects/:id/star
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/star"
回答例
{
"id": 3,
"description": null,
"default_branch": "master",
"visibility": "internal",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md",
"tag_list": [
"example",
"disapora project"
],
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 3,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora"
},
"import_status": "none",
"archived": true,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE",
"license": {
"key": "lgpl-3.0",
"name": "GNU Lesser General Public License v3.0",
"nickname": "GNU LGPLv3",
"html_url": "http://choosealicense.com/licenses/lgpl-3.0/",
"source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt"
},
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 1,
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
}
プロジェクトのスター解除
指定したプロジェクトのスターを解除します。 プロジェクトがスター付きでない場合は、ステータスコード304
を返します。
POST /projects/:id/unstar
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/unstar"
回答例
{
"id": 3,
"description": null,
"default_branch": "master",
"visibility": "internal",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md",
"tag_list": [
"example",
"disapora project"
],
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 3,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora"
},
"import_status": "none",
"archived": true,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE",
"license": {
"key": "lgpl-3.0",
"name": "GNU Lesser General Public License v3.0",
"nickname": "GNU LGPLv3",
"html_url": "http://choosealicense.com/licenses/lgpl-3.0/",
"source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt"
},
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
}
プロジェクトのスターラー一覧
指定したプロジェクトにスターを付けたユーザーを一覧表示します。
GET /projects/:id/starrers
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
search
| 列 | いいえ | 特定のユーザーを検索します。 |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/starrers"
回答例
[
{
"starred_since": "2019-01-28T14:47:30.642Z",
"user":
{
"id": 1,
"username": "jane_smith",
"name": "Jane Smith",
"state": "active",
"avatar_url": "http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
"web_url": "http://localhost:3000/jane_smith"
}
},
"starred_since": "2018-01-02T11:40:26.570Z",
"user":
{
"id": 2,
"username": "janine_smith",
"name": "Janine Smith",
"state": "blocked",
"avatar_url": "http://gravatar.com/../e32131cd8.jpeg",
"web_url": "http://localhost:3000/janine_smith"
}
]
言語
プロジェクトで使用されている言語をパーセンテージで取得します。
GET /projects/:id/languages
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/languages"
回答例
{
"Ruby": 66.69,
"JavaScript": 22.98,
"HTML": 7.91,
"CoffeeScript": 2.42
}
プロジェクトのアーカイブ
このアクションは冪等なので、すでにアーカイブされているプロジェクトをアーカイブしてもプロジェクトは変更されません。
POST /projects/:id/archive
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/archive"
回答例
{
"id": 3,
"description": null,
"default_branch": "master",
"visibility": "private",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md",
"tag_list": [
"example",
"disapora project"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 3,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora"
},
"import_status": "none",
"import_error": null,
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": true,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE",
"license": {
"key": "lgpl-3.0",
"name": "GNU Lesser General Public License v3.0",
"nickname": "GNU LGPLv3",
"html_url": "http://choosealicense.com/licenses/lgpl-3.0/",
"source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt"
},
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b",
"ci_default_git_depth": 50,
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
}
プロジェクトのアーカイブ解除
このアクションは冪等であるため、アーカイブされていないプロジェクトをアーカイブ解除してもプロジェクトは変更されません。
POST /projects/:id/unarchive
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/unarchive"
回答例
{
"id": 3,
"description": null,
"default_branch": "master",
"visibility": "private",
"ssh_url_to_repo": "git@example.com:diaspora/diaspora-project-site.git",
"http_url_to_repo": "http://example.com/diaspora/diaspora-project-site.git",
"web_url": "http://example.com/diaspora/diaspora-project-site",
"readme_url": "http://example.com/diaspora/diaspora-project-site/blob/master/README.md",
"tag_list": [
"example",
"disapora project"
],
"owner": {
"id": 3,
"name": "Diaspora",
"created_at": "2013-09-30T13:46:02Z"
},
"name": "Diaspora Project Site",
"name_with_namespace": "Diaspora / Diaspora Project Site",
"path": "diaspora-project-site",
"path_with_namespace": "diaspora/diaspora-project-site",
"issues_enabled": true,
"open_issues_count": 1,
"merge_requests_enabled": true,
"jobs_enabled": true,
"wiki_enabled": true,
"snippets_enabled": false,
"can_create_merge_request_in": true,
"resolve_outdated_diff_discussions": false,
"container_registry_enabled": false,
"created_at": "2013-09-30T13:46:02Z",
"last_activity_at": "2013-09-30T13:46:02Z",
"creator_id": 3,
"namespace": {
"id": 3,
"name": "Diaspora",
"path": "diaspora",
"kind": "group",
"full_path": "diaspora"
},
"import_status": "none",
"import_error": null,
"permissions": {
"project_access": {
"access_level": 10,
"notification_level": 3
},
"group_access": {
"access_level": 50,
"notification_level": 3
}
},
"archived": false,
"avatar_url": "http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"license_url": "http://example.com/diaspora/diaspora-client/blob/master/LICENSE",
"license": {
"key": "lgpl-3.0",
"name": "GNU Lesser General Public License v3.0",
"nickname": "GNU LGPLv3",
"html_url": "http://choosealicense.com/licenses/lgpl-3.0/",
"source_url": "http://www.gnu.org/licenses/lgpl-3.0.txt"
},
"shared_runners_enabled": true,
"forks_count": 0,
"star_count": 0,
"runners_token": "b8bc4a7a29eb76ea83cf79e4908c2b",
"ci_default_git_depth": 50,
"public_jobs": true,
"shared_with_groups": [],
"only_allow_merge_if_pipeline_succeeds": false,
"allow_merge_on_skipped_pipeline": false,
"only_allow_merge_if_all_discussions_are_resolved": false,
"remove_source_branch_after_merge": false,
"request_access_enabled": false,
"merge_method": "merge",
"autoclose_referenced_issues": true,
"suggestion_commit_message": null,
"_links": {
"self": "http://example.com/api/v4/projects",
"issues": "http://example.com/api/v4/projects/1/issues",
"merge_requests": "http://example.com/api/v4/projects/1/merge_requests",
"repo_branches": "http://example.com/api/v4/projects/1/repository_branches",
"labels": "http://example.com/api/v4/projects/1/labels",
"events": "http://example.com/api/v4/projects/1/events",
"members": "http://example.com/api/v4/projects/1/members"
}
}
プロジェクトの削除
このエンドポイントは
- すべての関連リソース(イシュー、マージリクエストなど)を含むプロジェクトを削除します。
- GitLab12.6のPremiumまたはSilver以上のティアから、プロジェクトを削除するためのマークを付けます。 実際の削除はインスタンス設定で指定された日数後に行われます。
DELETE /projects/:id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
削除されたプロジェクトの復元
GitLab 12.6 で導入されました。
削除されたプロジェクトを復元します。
POST /projects/:id/restore
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
ファイルのアップロード
指定したプロジェクトにファイルをアップロードし、イシューやマージリクエストの説明やコメントに使用します。
POST /projects/:id/uploads
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
file
| 列 | はい | アップロードするファイル |
ファイルシステムからファイルをアップロードするには、--form
引数を使用します。これにより、cURL はヘッダContent-Type: multipart/form-data
を使用してデータをポストします。file=
パラメータは、ファイルシステム上のファイルを指し、その前に@
を付ける必要があります。例えば、以下のようになります:
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" --form "file=@dk.png" "https://gitlab.example.com/api/v4/projects/5/uploads"
返されたオブジェクト:
{
"alt": "dk",
"url": "/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png",
"full_path": "/namespace1/project1/uploads/66dbcd21ec5d24ed6ea225176098d52b/dk.png",
"markdown": ""
}
注: 返される
url
はプロジェクトパスからの相対パスです。返されるfull_path
はファイルへの絶対パスです。 Markdown コンテキストでは、markdown
のフォーマットが使用されると、リンクは自動的に展開されます。
プロジェクトをグループで共有
プロジェクトをグループで共有できるようにします。
POST /projects/:id/share
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
group_id
| 整数 | はい | 共有するグループのID |
group_access
| 整数 | はい | グループに与えるアクセスレベル |
expires_at
| 列 | いいえ | ISO 8601フォーマットでのシェア有効期限:2016-09-26 |
グループ内の共有プロジェクトリンクの削除
グループからプロジェクトの共有を解除します。成功すると204
を返し、内容は返されません。
DELETE /projects/:id/share/:group_id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
group_id
| 整数 | はい | グループのID |
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/share/17"
フック
プロジェクトフックやWebhookとも呼ばれ、システム全体に適用されるシステムフックとは異なります。
プロジェクトフック一覧
プロジェクトフックのリストを取得します。
GET /projects/:id/hooks
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
プロジェクトフック
プロジェクトのための特定のフックを取得します。
GET /projects/:id/hooks/:hook_id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
hook_id
| 整数 | はい | プロジェクトフックのID |
{
"id": 1,
"url": "http://example.com/hook",
"project_id": 3,
"push_events": true,
"push_events_branch_filter": "",
"issues_events": true,
"confidential_issues_events": true,
"merge_requests_events": true,
"tag_push_events": true,
"note_events": true,
"confidential_note_events": true,
"job_events": true,
"pipeline_events": true,
"wiki_page_events": true,
"enable_ssl_verification": true,
"created_at": "2012-10-12T17:04:47Z"
}
プロジェクトフックの追加
指定したプロジェクトにフックを追加します。
POST /projects/:id/hooks
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
url
| 列 | はい | フックのURL |
push_events
| ブーリアン | いいえ | プッシュイベントのトリガーフック |
push_events_branch_filter
| 列 | いいえ | ブランチが一致した場合のみ、プッシュイベントをトリガーフック |
issues_events
| ブーリアン | いいえ | イシューイベントのトリガーフック |
confidential_issues_events
| ブーリアン | いいえ | 機密イシューイベントのトリガーフック |
merge_requests_events
| ブーリアン | いいえ | マージリクエストイベントのトリガーフック |
tag_push_events
| ブーリアン | いいえ | タグプッシュイベントのトリガーフック |
note_events
| ブーリアン | いいえ | ノートイベントのトリガーフック |
confidential_note_events
| ブーリアン | いいえ | 機密ノートイベントのトリガーフック |
job_events
| ブーリアン | いいえ | ジョブイベントのトリガーフック |
pipeline_events
| ブーリアン | いいえ | パイプラインイベントのトリガーフック |
wiki_page_events
| ブーリアン | いいえ | wikiイベントのトリガーフック |
enable_ssl_verification
| ブーリアン | いいえ | フック発動時にSSL認証を実施 |
token
| 列 | いいえ | 受信したペイロードを検証するためのシークレットトークン。 |
プロジェクトフックの編集
指定したプロジェクトのフックを編集します。
PUT /projects/:id/hooks/:hook_id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
hook_id
| 整数 | はい | プロジェクトフックのID |
url
| 列 | はい | フックのURL |
push_events
| ブーリアン | いいえ | プッシュイベントのトリガーフック |
push_events_branch_filter
| 列 | いいえ | ブランチが一致した場合のみ、プッシュイベントをトリガーフック |
issues_events
| ブーリアン | いいえ | イシューイベントのトリガーフック |
confidential_issues_events
| ブーリアン | いいえ | 機密イシューイベントのトリガーフック |
merge_requests_events
| ブーリアン | いいえ | マージリクエストイベントのトリガーフック |
tag_push_events
| ブーリアン | いいえ | タグプッシュイベントのトリガーフック |
note_events
| ブーリアン | いいえ | ノートイベントのトリガーフック |
confidential_note_events
| ブーリアン | いいえ | 機密ノートイベントのトリガーフック |
job_events
| ブーリアン | いいえ | ジョブイベントのトリガーフック |
pipeline_events
| ブーリアン | いいえ | パイプラインイベントのトリガーフック |
wiki_events
| ブーリアン | いいえ | wikiイベントのトリガーフック |
enable_ssl_verification
| ブーリアン | いいえ | フック発動時にSSL認証を実施 |
token
| 列 | いいえ | 受信したペイロードを検証するためのシークレットトークン。 |
プロジェクトフックの削除
プロジェクトからフックを削除します。 これはべき等メソッドであり、複数回呼び出すことができます。 フックが利用可能であるかどうか。
DELETE /projects/:id/hooks/:hook_id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
hook_id
| 整数 | はい | プロジェクトフックのID |
JSONレスポンスは、フックが利用可能かどうかで異なることに注意してください。 JSONレスポンスで返される前にプロジェクトフックが利用可能な場合、または空のレスポンスが返されます。
フォーク関係
プロジェクトオーナーと管理者のみが利用できます。
既存プロジェクト間のforkされたfrom/to関係の作成
POST /projects/:id/fork/:forked_from_id
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
forked_from_id
| 身分証明書 | はい | からフォークされたプロジェクトのID。 |
フォークされた既存のリレーションシップを削除します。
DELETE /projects/:id/fork
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
プロジェクト名で検索
認証済みユーザーがアクセス可能なプロジェクトを名前で検索します。 プロジェクトが公開されている場合、このエンドポイントは認証なしでアクセスできます。
GET /projects
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
search
| 列 | はい | プロジェクト名に含まれる文字列 |
order_by
| 列 | いいえ |
id 、name 、created_at 、last_activity_at のいずれかのフィールドを指定してください。
|
sort
| 列 | いいえ |
asc またはdesc 順にソートされたリクエストを返します。
|
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects?search=test"
プロジェクトのハウスキーピングタスクの開始
GitLab 9.0で導入されました。
POST /projects/:id/housekeeping
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはNAMESPACE/PROJECT_NAME |
プッシュルール
プロジェクトプッシュルールの取得
プロジェクトのプッシュルールを取得します。
GET /projects/:id/push_rule
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはNAMESPACE/PROJECT_NAME |
{
"id": 1,
"project_id": 3,
"commit_message_regex": "Fixes \d+\..*",
"commit_message_negative_regex": "ssh\:\/\/",
"branch_name_regex": "",
"deny_delete_tag": false,
"created_at": "2012-10-12T17:04:47Z",
"member_check": false,
"prevent_secrets": false,
"author_email_regex": "",
"file_name_regex": "",
"max_file_size": 5,
"commit_committer_check": false,
"reject_unsigned_commits": false
}
GitLabプレミアム、シルバー以上のユーザーには、commit_committer_check
とreject_unsigned_commits
パラメータも表示されます:
{
"id": 1,
"project_id": 3,
"commit_committer_check": false,
"reject_unsigned_commits": false
...
}
プロジェクトプッシュルールの追加
指定したプロジェクトにプッシュルールを追加します。
POST /projects/:id/push_rule
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはNAMESPACE/PROJECT_NAME |
deny_delete_tag
| ブーリアン | いいえ | タグの削除を拒否 |
member_check
| ブーリアン | いいえ | 既存のGitLabユーザーに作成者(メール)別のコミットを制限 |
prevent_secrets
| ブーリアン | いいえ | GitLabは秘密が含まれている可能性のあるファイルを拒否します。 |
commit_message_regex
| 列 | いいえ | すべてのコミットメッセージはこれに一致しなければなりません。Fixed \d+\..*
|
commit_message_negative_regex
| 列 | いいえ | これにマッチするコミットメッセージは許されません。ssh\:\/\/
|
branch_name_regex
| 列 | いいえ | すべてのブランチ名はこれに一致する必要があります。(feature|hotfix)\/*
|
author_email_regex
| 列 | いいえ | すべてのコミット作成者の電子メールはこれに一致する必要があります。@my-company.com$
|
file_name_regex
| 列 | いいえ | すべてのコミットされたファイル名はこれに一致してはなりません。(jar|exe)$
|
max_file_size
| 整数 | いいえ | 最大ファイルサイズ(MB) |
commit_committer_check
| ブーリアン | いいえ | ユーザーがこのリポジトリにプッシュできるのは、自分の認証済みメールでコミットしたものだけです。 |
reject_unsigned_commits
| ブーリアン | いいえ | GPGで署名されていないコミットを拒否します。 |
プロジェクトプッシュルールの編集
指定したプロジェクトのプッシュルールを編集します。
PUT /projects/:id/push_rule
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはNAMESPACE/PROJECT_NAME |
deny_delete_tag
| ブーリアン | いいえ | タグの削除を拒否 |
member_check
| ブーリアン | いいえ | 既存のGitLabユーザーに作成者(メール)別のコミットを制限 |
prevent_secrets
| ブーリアン | いいえ | GitLabは秘密が含まれている可能性のあるファイルを拒否します。 |
commit_message_regex
| 列 | いいえ | すべてのコミットメッセージはこれに一致しなければなりません。Fixed \d+\..*
|
commit_message_negative_regex
| 列 | いいえ | これにマッチするコミットメッセージは許されません。ssh\:\/\/
|
branch_name_regex
| 列 | いいえ | すべてのブランチ名はこれに一致する必要があります。(feature|hotfix)\/*
|
author_email_regex
| 列 | いいえ | すべてのコミット作成者の電子メールはこれに一致する必要があります。@my-company.com$
|
file_name_regex
| 列 | いいえ | すべてのコミットされたファイル名はこれに一致してはなりません。(jar|exe)$
|
max_file_size
| 整数 | いいえ | 最大ファイルサイズ(MB) |
commit_committer_check
| ブーリアン | いいえ | ユーザーがこのリポジトリにプッシュできるのは、自分の認証済みメールでコミットしたものだけです。 |
reject_unsigned_commits
| ブーリアン | いいえ | GPG署名されていないコミットを拒否します。 |
プロジェクトプッシュルールの削除
GitLab Starter9.0で導入されました。
プロジェクトからプッシュ・ルールを削除します。 このメソッドは冪等であり、複数回呼び出すことができます。 プッシュ・ルールが使用可能かどうかは、どちらかです。
DELETE /projects/:id/push_rule
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
プロジェクトを新しいネームスペースに移します。
GitLab 11.1で導入されました。
PUT /projects/:id/transfer
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
namespace
| 整数/文字列 | はい | プロジェクトに転送するネームスペースのIDまたはパス。 |
ブランチ
詳しくはブランチのドキュメントをご覧ください。
プロジェクトのインポート/エクスポート
詳しくはプロジェクトのインポート/エクスポートのドキュメントをご覧ください。
プロジェクトメンバー
詳しくはプロジェクトメンバーのドキュメントをご覧ください。
プロジェクトのプルミラーリングプロセスの開始
GitLab Starter10.3 で導入されました。
POST /projects/:id/mirror/pull
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/:id/mirror/pull"
プロジェクト・バッジ
詳しくはプロジェクトバッジのドキュメントをご覧ください。
イシューおよびマージリクエストの説明テンプレート
デフォルト以外のイシューとマージリクエストの説明テンプレートはプロジェクトのリポジトリ内部で管理されます。 そのため、リポジトリAPIと リポジトリファイルAPIを通じてAPI経由で管理することができます。
git リポジトリのスナップショットのダウンロード
GitLab 10.7 で導入されました。
このエンドポイントには、管理者ユーザーのみがアクセスできます。
Gitリポジトリのスナップショットをダウンロードします。 このスナップショットは常に圧縮されていないtar形式です。
git clone
が機能しないほどリポジトリが破損している場合、スナップショットによってデータの一部を取得できる可能性があります。
GET /projects/:id/snapshot
属性 | タイプ | 必須 | 説明 |
---|---|---|---|
id
| 整数/文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス |
wiki
| ブーリアン | いいえ | プロジェクトのリポジトリではなくwikiのリポジトリをダウンロードするかどうか |