Debian API
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
このAPIを使用して、Debianパッケージマネージャークライアントと対話します。
これらのエンドポイントは、標準のAPI認証メソッドに準拠していません。サポートされているヘッダーとトークンのタイプについては、Debianレジストリドキュメントを参照してください。記載されていない認証方法は、将来削除される可能性があります。
Debian APIを有効にする
Debian APIは、デフォルトで無効になっている機能フラグの背後にあります。GitLab管理者(GitLab Railsコンソールへのアクセス権を持つ)は、これを有効にすることを選択できます。有効にするには、Debian APIを有効にするの手順に従ってください。
DebianグループAPIを有効にする
DebianグループAPIは、デフォルトで無効になっている機能フラグの背後にあります。GitLab管理者(GitLab Railsコンソールへのアクセス権を持つ)は、これを有効にすることを選択できます。有効にするには、DebianグループAPIを有効にするの手順に従ってください。
Debianパッケージリポジトリに認証する
Debianパッケージリポジトリに認証するを参照してください。
パッケージファイルをアップロードする
指定されたプロジェクトにDebianパッケージファイルをアップロードします。
PUT projects/:id/packages/debian/:file_name| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | プロジェクトのIDまたは完全なパス。 |
file_name | 文字列 | はい | Debianパッケージファイルの名前。 |
distribution | 文字列 | いいえ | ディストリビューションのコードネームまたはスイート。明示的なディストリビューションとコンポーネントによるアップロードの場合にcomponentと組み合わせて使用します。 |
component | 文字列 | いいえ | パッケージファイルのコンポーネント。明示的なディストリビューションとコンポーネントによるアップロードの場合にdistributionと組み合わせて使用します。 |
curl --request PUT \
--user "<username>:<personal_access_token>" \
--upload-file path/to/mypkg.deb \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/mypkg.deb"明示的なディストリビューションとコンポーネントによるアップロード:
curl --request PUT \
--user "<username>:<personal_access_token>" \
--upload-file /path/to/myother.deb \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/myother.deb?distribution=sid&component=main"パッケージをダウンロードする
プロジェクトの指定されたパッケージファイルをダウンロードします。
GET projects/:id/packages/debian/pool/:distribution/:letter/:package_name/:package_version/:file_name| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
letter | 文字列 | はい | Debian分類(先頭文字またはlib-先頭文字)。 |
package_name | 文字列 | はい | ソースパッケージ名。 |
package_version | 文字列 | はい | ソースパッケージのバージョン。 |
file_name | 文字列 | はい | ファイル名。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/pool/my-distro/a/my-pkg/1.0.0/example_1.0.0~alpha2_amd64.deb"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/pool/my-distro/a/my-pkg/1.0.0/example_1.0.0~alpha2_amd64.deb" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。
ルートプレフィックス
説明されている残りのエンドポイントは、それぞれ異なるスコープでリクエストを行う2つの同一ルートのセットです:
- 単一プロジェクトのスコープでリクエストを行うには、プロジェクトレベルのプレフィックスを使用します。
- グループレベルのプレフィックスを使用して、単一グループのスコープでリクエストを行います。
このドキュメントの例はすべて、プロジェクトレベルのプレフィックスを使用しています。
プロジェクトレベル
/projects/:id/packages/debian| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | プロジェクトIDまたは完全なプロジェクトパス。 |
グループレベル
/groups/:id/-/packages/debian| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 文字列 | はい | プロジェクトIDまたは完全なグループパス。 |
ディストリビューションリリースファイルをダウンロードする
指定されたDebianディストリビューションリリースファイルをダウンロードします。
GET <route-prefix>/dists/*distribution/Release| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。
署名付きディストリビューションリリースファイルをダウンロードする
指定された署名付きDebianディストリビューションリリースファイルをダウンロードします。
GET <route-prefix>/dists/*distribution/InRelease| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/InRelease"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/InRelease" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。
リリースファイルシグネチャをダウンロードする
指定されたDebianリリースファイルシグネチャをダウンロードします。
GET <route-prefix>/dists/*distribution/Release.gpg| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release.gpg"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release.gpg" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。
パッケージインデックスをダウンロードする
指定されたパッケージインデックスをダウンロードします。
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/Packages| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
component | 文字列 | はい | ディストリビューションコンポーネント名。 |
architecture | 文字列 | はい | ディストリビューションアーキテクチャタイプ。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/Packages"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/Packages" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。
ハッシュでパッケージインデックスをダウンロードする
ハッシュで指定されたパッケージインデックスをダウンロードします。
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/by-hash/SHA256/:file_sha256| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
component | 文字列 | はい | ディストリビューションコンポーネント名。 |
architecture | 文字列 | はい | ディストリビューションアーキテクチャタイプ。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。
Debianインストーラーパッケージインデックスをダウンロードする
指定されたDebianインストーラーパッケージインデックスをダウンロードします。
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/Packages| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
component | 文字列 | はい | ディストリビューションコンポーネント名。 |
architecture | 文字列 | はい | ディストリビューションアーキテクチャタイプ。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/Packages"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/Packages" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。
ハッシュでDebianインストーラーパッケージインデックスをダウンロードする
ハッシュで指定されたDebianインストーラーパッケージインデックスをダウンロードします。
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/by-hash/SHA256/:file_sha256| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
component | 文字列 | はい | ディストリビューションコンポーネント名。 |
architecture | 文字列 | はい | ディストリビューションアーキテクチャタイプ。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。
ソースパッケージインデックスをダウンロードする
指定されたソースパッケージインデックスをダウンロードします。
GET <route-prefix>/dists/*distribution/:component/source/Sources| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
component | 文字列 | はい | ディストリビューションコンポーネント名。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/Sources"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/Sources" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。
ハッシュでソースパッケージインデックスをダウンロードする
ハッシュで指定されたソースパッケージインデックスをダウンロードします。
GET <route-prefix>/dists/*distribution/:component/source/by-hash/SHA256/:file_sha256| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
distribution | 文字列 | はい | Debianディストリビューションのコードネームまたはスイート。 |
component | 文字列 | はい | ディストリビューションコンポーネント名。 |
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"出力をファイルに書き込みます:
curl --header "PRIVATE-TOKEN: <personal_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-nameこれにより、ダウンロードされたファイルが現在のディレクトリにリモートファイル名で書き込まれます。