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

これは Debian プロジェクトディストリビューション API のリファレンス文書です。この API は機能フラグの後ろに配置されており、デフォルトでは無効になっています。この API を使用するには、Debian API を有効にする必要があります。

caution
この API は開発中であり、実稼働環境での使用は想定していません。

Debian パッケージの取り扱いに関するより詳しい情報は、Debian パッケージレジストリ ドキュメント をご覧ください。

Debian API を有効化

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

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

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

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

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

GET /projects/:id/debian_distributions
属性種類必須説明
id整数/文字列yes プロジェクトのIDまたはURLエンコードされたパス
codename文字列です。いいえ特定のcodename でフィルタリングします。
suite文字列です。いいえ特定のsuite でフィルタリングします。
curl --header "PRIVATE-TOKEN: <your_access_token>" "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整数/文字列yes認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
codename文字列です。yesディストリビューションのcodename
curl --header "PRIVATE-TOKEN: <your_access_token>" "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整数/文字列yes認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
codename文字列です。yesディストリビューションのcodename
curl --header "PRIVATE-TOKEN: <your_access_token>" "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整数/文字列yes認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
codename文字列です。yesDebian ディストリビューションのコードネーム。
suite文字列です。いいえ新しい Debian ディストリビューションのスイート。
origin文字列です。いいえ新しい Debian ディストリビューションのオリジン。
label文字列です。いいえ新しい Debian ディストリビューションのラベル。
version文字列です。いいえ新しい Debian ディストリビューションのバージョン。
description文字列です。いいえ新しい Debian ディストリビューションの説明。
valid_time_duration_seconds整数。いいえ新しい Debian ディストリビューションの有効期間 (秒単位)。
components文字列配列いいえ新しい Debian ディストリビューションのコンポーネント一覧。
architectures文字列配列いいえ新しい Debian ディストリビューションのアーキテクチャ一覧。
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "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整数/文字列yes認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
codename文字列です。yesDebian ディストリビューションのコードネーム。
suite文字列です。いいえDebian ディストリビューションの新しいスイート。
origin文字列です。いいえDebian ディストリビューションの新しいオリジン。
label文字列です。いいえDebian ディストリビューションの新しいラベル。
version文字列です。いいえDebian ディストリビューションの新バージョン。
description文字列です。いいえDebian ディストリビューションの新しい説明。
valid_time_duration_seconds整数。いいえDebian ディストリビューションの新しい有効時間 (秒単位)。
components文字列配列いいえDebian ディストリビューションの新しいコンポーネントの一覧です。
architectures文字列配列いいえDebian ディストリビューションの新しいアーキテクチャ一覧。
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "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整数/文字列yes認証ユーザーが所有するプロジェクトのIDまたはURLエンコードされたパス
codename文字列です。yesDebian ディストリビューションのコードネーム。
curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/debian_distributions/unstable"