正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

DebianプロジェクトディストリビューションAPI

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

このAPIを使用して、Debianプロジェクトのディストリビューションを管理します。このAPIは、機能フラグの背後にあり、デフォルトで無効になっています。このAPIを使用するには、Debian APIを有効にする必要があります。

このAPIは開発中であり、本番環境での使用を目的としていません。

Debian APIを有効にする

Debian APIは、機能フラグの背後にあり、デフォルトで無効になっています。GitLab Railsコンソールにアクセスできる管理者は、それを有効にすることを選択できます。有効にするには、Debian APIを有効にするの手順に従ってください。

DebianディストリビューションAPIへの認証

DebianディストリビューションAPIへの認証を参照してください。

プロジェクト内のすべてのDebianディストリビューションをリストします

指定されたプロジェクト内のDebianディストリビューションをリストします。

GET /projects/:id/debian_distributions
属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
codename文字列いいえ特定のcodenameでフィルタリングします。
suite文字列いいえ特定のsuiteでフィルタリングします。
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/debian_distributions"

レスポンス例:

[
  {
    "id": 1,
    "codename": "sid",
    "suite": null,
    "origin": null,
    "label": null,
    "version": null,
    "description": null,
    "valid_time_duration_seconds": null,
    "components": [
      "main"
    ],
    "architectures": [
      "all",
      "amd64"
    ]
  }
]

単一のDebianプロジェクトディストリビューション

単一のDebianプロジェクトディストリビューションを取得します。

GET /projects/:id/debian_distributions/:codename
属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
codename文字列はいディストリビューションのcodename
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/debian_distributions/unstable"

レスポンス例:

{
  "id": 1,
  "codename": "sid",
  "suite": null,
  "origin": null,
  "label": null,
  "version": null,
  "description": null,
  "valid_time_duration_seconds": null,
  "components": [
    "main"
  ],
  "architectures": [
    "all",
    "amd64"
  ]
}

単一のDebianプロジェクトディストリビューションキー

単一のDebianプロジェクトディストリビューションキーを取得します。

GET /projects/:id/debian_distributions/:codename/key.asc
属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
codename文字列はいディストリビューションのcodename
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/debian_distributions/unstable/key.asc"

レスポンス例:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: Alice's OpenPGP certificate
Comment: https://www.ietf.org/id/draft-bre-openpgp-samples-01.html

mDMEXEcE6RYJKwYBBAHaRw8BAQdArjWwk3FAqyiFbFBKT4TzXcVBqPTB3gmzlC/U
b7O1u120JkFsaWNlIExvdmVsYWNlIDxhbGljZUBvcGVucGdwLmV4YW1wbGU+iJAE
ExYIADgCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQTrhbtfozp14V6UTmPy
MVUMT0fjjgUCXaWfOgAKCRDyMVUMT0fjjukrAPoDnHBSogOmsHOsd9qGsiZpgRnO
dypvbm+QtXZqth9rvwD9HcDC0tC+PHAsO7OTh1S1TC9RiJsvawAfCPaQZoed8gK4
OARcRwTpEgorBgEEAZdVAQUBAQdAQv8GIa2rSTzgqbXCpDDYMiKRVitCsy203x3s
E9+eviIDAQgHiHgEGBYIACAWIQTrhbtfozp14V6UTmPyMVUMT0fjjgUCXEcE6QIb
DAAKCRDyMVUMT0fjjlnQAQDFHUs6TIcxrNTtEZFjUFm1M0PJ1Dng/cDW4xN80fsn
0QEA22Kr7VkCjeAEC08VSTeV+QFsmz55/lntWkwYWhmvOgE=
=iIGO
-----END PGP PUBLIC KEY BLOCK-----

Debianプロジェクトディストリビューションを作成する

Debianプロジェクトディストリビューションを作成します。

POST /projects/:id/debian_distributions
属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
codename文字列はいDebianディストリビューションのコードネーム。
suite文字列いいえ新しいDebianディストリビューションのスイート。
origin文字列いいえ新しいDebianディストリビューションのorigin。
label文字列いいえ新しいDebianディストリビューションのラベル。
version文字列いいえ新しいDebianディストリビューションのバージョン。
description文字列いいえ新しいDebianディストリビューションの説明。
valid_time_duration_seconds整数いいえ新しいDebianディストリビューションの有効期間(秒単位)。
components文字列配列いいえ新しいDebianディストリビューションのコンポーネントのリスト。
architectures文字列配列いいえ新しいDebianディストリビューションのアーキテクチャのリスト。
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/debian_distributions?codename=sid"

レスポンス例:

{
  "id": 1,
  "codename": "sid",
  "suite": null,
  "origin": null,
  "label": null,
  "version": null,
  "description": null,
  "valid_time_duration_seconds": null,
  "components": [
    "main"
  ],
  "architectures": [
    "all",
    "amd64"
  ]
}

Debianプロジェクトディストリビューションを更新する

Debianプロジェクトディストリビューションを更新します。

PUT /projects/:id/debian_distributions/:codename
属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
codename文字列はいDebianディストリビューションのコードネーム。
suite文字列いいえDebianディストリビューションの新しいスイート。
origin文字列いいえDebianディストリビューションの新しいorigin。
label文字列いいえDebianディストリビューションの新しいラベル。
version文字列いいえDebianディストリビューションの新しいバージョン。
description文字列いいえDebianディストリビューションの新しい説明。
valid_time_duration_seconds整数いいえDebianディストリビューションの新しい有効期間(秒単位)。
components文字列配列いいえDebianディストリビューションの新しいコンポーネントのリスト。
architectures文字列配列いいえDebianディストリビューションの新しいアーキテクチャのリスト。
curl --request PUT \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/debian_distributions/unstable?suite=new-suite&valid_time_duration_seconds=604800"

レスポンス例:

{
  "id": 1,
  "codename": "sid",
  "suite": "new-suite",
  "origin": null,
  "label": null,
  "version": null,
  "description": null,
  "valid_time_duration_seconds": 604800,
  "components": [
    "main"
  ],
  "architectures": [
    "all",
    "amd64"
  ]
}

Debianプロジェクトディストリビューションを削除する

Debianプロジェクトディストリビューションを削除します。

DELETE /projects/:id/debian_distributions/:codename
属性必須説明
id整数または文字列はいプロジェクトのIDまたはURLエンコードされたパス
codename文字列はいDebianディストリビューションのコードネーム。
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/projects/5/debian_distributions/unstable"