JFrog Provision Project 是一项用于在 JFrog Platform 上创建项目的技能。项目是 JFrog Platform 的顶层组织单元,用于对仓库、构建和成员进行分组。该技能适用于用户希望创建 JFrog 项目、在 Artifactory 中建立新项目,或作为新手引导流程一部分的场景。
主要能力与输入 技能通过 REST API 在 JFrog Platform 上创建项目。输入包括:project_key(3-32 位字符,仅限小写字母和数字,且必须以字母开头)、display_name(人类可读名称)、description(可选的项目描述)。
使用方式 技能推荐优先使用 jf api,curl 作为备选。工作流程如下: 0. 加载凭据:若 JFROG_URL 或 JFROG_ACCESS_TOKEN 未设置,则从 .env 文件加载。
- 校验项目键:使用正则 ^[a-z][a-z0-9]{2,31}$ 校验 project_key,不匹配则报错。
- 检查项目是否已存在:调用 jf api "/access/api/v1/projects/$PROJECT_KEY",若状态码为 200 则说明项目已存在,跳过创建并继续后续流程。
- 创建项目:通过 jf api /access/api/v1/projects -X POST 发送 JSON 请求体,包含 project_key、display_name、description 以及 admin_privileges(manage_members、manage_resources、index_resources 均为 true)。预期响应为 HTTP 201。备选方式为 curl -sf -X POST。
- 验证创建:调用 jf api "/access/api/v1/projects/$PROJECT_KEY" 并用 jq 输出,确认项目已创建。
错误处理 409 Conflict:项目已存在,视为成功。400 Bad Request:项目键格式无效,向用户报告。403 Forbidden:令牌权限不足,提示用户使用 Platform Admin 令牌。
补充资源 完整 API 规范细节见 reference.md。关于 jf api 的更多用法,参见 jfrog-cli 的 jf-api-patterns.md。