プロジェクトレベルセキュアファイルAPI
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このAPIを使用して、プロジェクトのセキュアファイルを管理します。
プロジェクトのセキュアファイルの一覧表示
プロジェクト内のセキュアファイルのリストを取得します。
GET /projects/:project_id/secure_filesサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
project_id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/secure_files"レスポンス例:
[
{
"id": 1,
"name": "myfile.jks",
"checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac",
"checksum_algorithm": "sha256",
"created_at": "2022-02-22T22:22:22.222Z",
"expires_at": null,
"metadata": null
},
{
"id": 2,
"name": "myfile.cer",
"checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aa2",
"checksum_algorithm": "sha256",
"created_at": "2022-02-22T22:22:22.222Z",
"expires_at": "2023-09-21T14:55:59.000Z",
"metadata": {
"id":"75949910542696343243264405377658443914",
"issuer": {
"C":"US",
"O":"Apple Inc.",
"CN":"Apple Worldwide Developer Relations Certification Authority",
"OU":"G3"
},
"subject": {
"C":"US",
"O":"Organization Name",
"CN":"Apple Distribution: Organization Name (ABC123XYZ)",
"OU":"ABC123XYZ",
"UID":"ABC123XYZ"
},
"expires_at":"2023-09-21T14:55:59.000Z"
}
}
]セキュアファイルの詳細を表示
プロジェクト内の特定のセキュアファイルの詳細を取得します。
GET /projects/:project_id/secure_files/:idサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | セキュアファイルのID。 |
project_id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
リクエスト例:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/secure_files/1"レスポンス例:
{
"id": 1,
"name": "myfile.jks",
"checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac",
"checksum_algorithm": "sha256",
"created_at": "2022-02-22T22:22:22.222Z",
"expires_at": null,
"metadata": null
}セキュアファイルを作成
新しいセキュアファイルを作成します。
POST /projects/:project_id/secure_filesサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
file | ファイル | はい | アップロードされるファイル(5 MBの制限)。 |
name | 文字列 | はい | アップロードされるファイルの名前。ファイル名はプロジェクト内で一意である必要があります。 |
project_id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
リクエスト例:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/secure_files" \
--form "name=myfile.jks" \
--form "file=@/path/to/file/myfile.jks"レスポンス例:
{
"id": 1,
"name": "myfile.jks",
"checksum": "16630b189ab34b2e3504f4758e1054d2e478deda510b2b08cc0ef38d12e80aac",
"checksum_algorithm": "sha256",
"created_at": "2022-02-22T22:22:22.222Z",
"expires_at": null,
"metadata": null
}セキュアファイルをダウンロード
プロジェクトのセキュアファイルの内容をダウンロードします。
GET /projects/:project_id/secure_files/:id/downloadサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | セキュアファイルのID。 |
project_id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
リクエスト例:
curl --request GET \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/secure_files/1/download" \
--output myfile.jksセキュアファイルを削除
プロジェクトのセキュアファイルを削除します。
DELETE /projects/:project_id/secure_files/:idサポートされている属性は以下のとおりです:
| 属性 | 型 | 必須 | 説明 |
|---|---|---|---|
id | 整数 | はい | セキュアファイルのID。 |
project_id | 整数または文字列 | はい | プロジェクトのIDまたはURLエンコードされたパス。 |
リクエスト例:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/projects/1/secure_files/1"