API V3 から API V4
GitLab 9.0以降、API V4が優先的に使用されます。
API V3は2017年8月22日にリリースされたGitLab 9.5からサポートされなくなりました。 API v3はGitLab 11.0で削除されました。 V3のAPIドキュメントはまだ利用可能です。
以下はV3とV4の間の変更点です。
8.17
-
GET /projects/:search
を削除 (use:GET /projects?search=x
)!8877 -
iid
フィルターがGET /projects/:id/issues
から削除されました !8967 -
GET /projects/:id/merge_requests?iid[]=x&iid[]=y
配列フィルターの名前がiids
!8793に変更されました。 -
GET /projects/merge_request/:id
以下のエンドポイントは削除されました (use:GET /projects/merge_requests/:id
)!8793 - プロジェクト・スニペットが非推奨フィールドを返さない
expires_at
!8723 -
GET /projects/:id/keys
以下のエンドポイントは削除されました(GET /projects/:id/deploy_keys
を使用)!8716
9.0
- メンバが既に存在する場合、
POST /projects/:id/members
に対してステータス 409 が返されます!9093 -
DELETE /projects/:id/star
をPOST /projects/:id/unstar
に移動!9328 - 以下の非推奨のTemplatesエンドポイントを削除しました(これらはまだ
/templates
プレフィックスでアクセス可能です)!8853/licenses
/licenses/:key
/gitignores
/gitlab_ci_ymls
/dockerfiles
/gitignores/:key
/gitlab_ci_ymls/:key
/dockerfiles/:key
-
POST /projects/fork/:id
をPOST /projects/:id/fork
に移動!8940 -
DELETE /todos
をPOST /todos/mark_as_done
に、DELETE /todos/:todo_id
をPOST /todos/:todo_id/mark_as_done
に移動!9410 - プロジェクトフィルターは
GET /projects/foo
ではなく、GET /projects?foo=true
として利用できるようになりました !8962-
GET /projects/visible
&GET /projects/all
はGET /projects
に統合され、作成者の有無にかかわらず使用可能。 -
GET /projects/owned
に移動しました。GET /projects?owned=true
-
GET /projects/starred
に移動しました。GET /projects?starred=true
-
-
GET /projects
ユーザがメンバーでない場合でも、現在のユーザが表示可能なすべてのプロジェクトを返します!9674- ユーザーが所属しているプロジェクトを取得するには
GET /projects?membership=true
- ユーザーが所属しているプロジェクトを取得するには
- 配列を返すすべてのエンドポイントについて、ページネーションヘッダを返します!8606
-
POST /environments/:environment_id/stop
を追加し、環境!8808を停止。 -
DELETE /projects/:id/deploy_keys/:key_id/disable
を削除。 代わりにDELETE /projects/:id/deploy_keys/:key_id
を使用!9366 -
PUT /users/:id/(block|unblock)
をPOST /users/:id/(block|unblock)
に移動!9371 - 購読APIをよりRESTfulに。リソースの購読には
POST /projects/:id/:subscribable_type/:subscribable_id/subscribe
、購読解除にはPOST /projects/:id/:subscribable_type/:subscribable_id/unsubscribe
。 -
GET /projects/:id/issues
、GET /issues
のラベルフィルタが、すべてのラベルを含むイシューのみにマッチするようになりました(つまり、論理AND、ORではありません)!8849 - 以下のエンドポイントにおいて、パラメータ
branch_name
の名前をbranch
に変更!8936POST /projects/:id/repository/branches
POST /projects/:id/repository/commits
POST/PUT/DELETE :id/repository/files
- 以下のエンドポイントにおいて、
merge_when_build_succeeds
パラメータの名前をmerge_when_pipeline_succeeds
に変更:!9335PUT /projects/:id/merge_requests/:merge_request_id/merge
POST /projects/:id/merge_requests/:merge_request_id/cancel_merge_when_pipeline_succeeds
POST /projects
POST /projects/user/:user_id
PUT /projects/:id
-
DELETE /projects/:id/repository/branches/:branch
のレスポンスでbranch_name
をbranch
に変更!8936 - プロジェクトの作成および編集アクションから
public
パラメータを削除!8736 - issue
subscribed
またはsubscribed
マージ・subscribed
リクエストのリストを返す応答からフィールドをsubscribed
削除します。subscribed
個々のissueまたはマージ・リクエストをフェッチして、subscribed
!9661のsubscribed
値を取得subscribed
します。 -
visibility
を文字列パラメータとしてあらゆる場所で使用!9337 - 非推奨フィールド
upvote
とdownvote
!9384を返さないノート。 - メンバーの作成または更新時に発生するすべての検証エラーに対して、
422
エラーの代わりに HTTP ステータスコード400
を返します。 -
GET /groups/owned
を削除。 代わりにGET /groups?owned=true
を使用!9505 - V4 API (
DELETE /projects/:id/repository/merged_branches
およびDELETE /projects/:id
) での非同期リムーブ時に、202 を JSON 本文と共に返します!9449 -
GET /projects/:id/milestones?iid[]=x&iid[]=y
配列フィルターの名前がiids
!9096に変更されました。 - パイプラインの基本情報を
GET /projects/:id/pipelines
で返します!8875 - すべての
build
の参照をjob
!9463にリネーム。 - ドロップ
GET /projects/:id/repository/commits/:sha/jobs
!9463 - ビルド・トリガーをパイプライン・トリガーAPIに改名!9713
-
POST /projects/:id/trigger/builds
へPOST /projects/:id/trigger/pipeline
- 新しいトリガーを作成する際に説明を要求
POST /projects/:id/triggers
-
- Environment エンドポイントで公開されるプロジェクトのペイロードを簡素化!9675
- API は
ID
s ではなく、マージリクエストIID
s (Web UI の内部 ID) を使用します。これは、マージリクエスト、アワード絵文字、Todo、および時間追跡 API に影響します。 -
IID
ID
これは、イシュー、アワード絵文字、Todo、およびタイムトラッキングAPIに影響します。 -
GET /projects/:id/repository/commits
の初期ページを0
から1
に変更 (他の API と同様)!9679 -
GET /projects/:id/repository/commits
の正しいLink
ヘッダーデータを返します!9679 - リポジトリファイルのエンドポイントを更新!9637
-
GET /projects/:id/repository/files?file_path=:file_path
をGET /projects/:id/repository/files/:file_path
に移動 (:file_path
は URL エンコードされるべき) -
GET /projects/:id/repository/blobs/:sha
によって識別される:sha
コミットを:sha
見つけ、そのコミット内のblobの生のコンテンツを返す:sha
代わりに:sha
、によって識別されるblobのJSON属性を返すようになりました。?filepath=:filepath
-
GET /projects/:id/repository/commits/:sha/blob?file_path=:file_path
、GET /projects/:id/repository/blobs/:sha?file_path=:file_path
。GET /projects/:id/repository/files/:file_path/raw?ref=:sha
-
GET /projects/:id/repository/tree
パラメータref_name
は、一貫性を保つため、ref
に改名されました。
-
-
confirm
POST /users
のパラメータは廃止され、 のパラメータが使われるようになりました。skip_confirmation