Create
- POST
- /workspaces
- /:workspace
- /projects
Create a project in a workspace. Every user can add new projects, unless restricted by the admin in the workspace settings.
Request
REQUIRED SCOPES
WORKSPACE
URL PARAMETERS
workspacerequired string
The workspace name.POST PARAMETERS
display_namerequired string
Full name of the project.namestring
Name ID of the project. Generated from the display_name if not provided.integrationIntegration
The integration. Required when adding the integrated project.external_project_idstring
Repo slug of the Bitbucket, GitHub or GitLab project. Required when adding the integrated project.git_lab_project_idstring
ID of the project in GitLab.custom_repo_urlstring
SSH or HTTPS url of the git repository. Required when adding the project integrated with custom git repository.custom_repo_userstring
Username used to authorize access to the git repository. Required when adding the project integrated with custom git repository.custom_repo_passstring
Password used to authorize access to the git repository. Required when adding the project integrated with custom git repository and the provided custom_repo_url is the HTTPS url.accessstring
Defines whether a project is public or private. Available values: PUBLIC, PRIVATE (set by default).fetch_submodulesboolean
Defines whether the submodules are fetched during the executions in this project.fetch_submodules_env_keystring
Name of the key that will be used to authorize while fetching the submodules. Required when fetch_submodules is set to true.allow_pull_requestsboolean
Enables/disables pull requests in the project. Available only for projects synchronized with GitHub or GitHub Enterprise repository.without_repoboolean
If set to true, the project is created without any repository attached.Last modified on Apr 8, 2025
Example: 1
curl -X POST "https://api.buddy.works/workspaces/:workspace/projects" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "landing-page",
"display_name": "Landing page",
"access": "PUBLIC",
"fetch_submodules": true,
"fetch_submodules_env_key": "id_workspace",
"allow_pull_requests": true
}'EXAMPLE RESPONSE{ "url": "https://api.buddy.works/workspaces/buddy/projects/landing-page", "html_url": "https://app.buddy.works/buddy/landing-page", "name": "landing-page", "display_name": "Landing page", "status": "ACTIVE", "create_date": "2016年03月02日T11:10:28.864Z", "created_by": { "url": "https://api.buddy.works/workspaces/buddy/member/1", "html_url": "https://app.buddy.works/buddy/profile/1", "id": 1, "name": "Mike Benson", "avatar_url": "https://app.buddy.works/image-server/user/0/0/0/0/0/0/1/d643744fbe5ebf2906a4d075a5b97110/w/32/32/AVATAR.png" }, "http_repository": "https://app.buddy.works/buddy/landing-page", "ssh_repository": "buddy@app.buddy.works:buddy/landing-page", "default_branch": "master", "access": "PUBLIC", "fetch_submodules": true, "fetch_submodules_env_key": "id_workspace", "allow_pull_requests": true }
STATUS201 Created
LIMITSX-Rate-Limit-Limit: 1 X-Rate-Limit-Remaining: 999
Example: 2
curl -X POST "https://api.buddy.works/workspaces/:workspace/projects" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"display_name": "Landing page",
"external_project_id": "buddy/landing-page",
"integration": {
"hash_id": "5ddb7c180fb38be67bd78a88a"
},
"access": "PUBLIC",
"fetch_submodules": true,
"fetch_submodules_env_key": "id_workspace",
"allow_pull_requests": true
}'EXAMPLE RESPONSE{ "url": "https://api.buddy.works/workspaces/buddy/projects/landing-page", "html_url": "https://app.buddy.works/buddy/landing-page", "name": "landing-page", "display_name": "Landing page", "status": "ACTIVE", "create_date": "2016年03月02日T11:10:28.864Z", "created_by": { "url": "https://api.buddy.works/workspaces/buddy/member/1", "html_url": "https://app.buddy.works/buddy/profile/1", "id": 1, "name": "Mike Benson", "avatar_url": "https://app.buddy.works/image-server/user/0/0/0/0/0/0/1/d643744fbe5ebf2906a4d075a5b97110/w/32/32/AVATAR.png" }, "http_repository": "https://app.buddy.works/buddy/landing-page", "ssh_repository": "buddy@app.buddy.works:buddy/landing-page", "default_branch": "master", "access": "PUBLIC", "fetch_submodules": true, "fetch_submodules_env_key": "id_workspace", "allow_pull_requests": true }
STATUS201 Created
LIMITSX-Rate-Limit-Limit: 1 X-Rate-Limit-Remaining: 999
Example: 3
curl -X POST "https://api.buddy.works/workspaces/:workspace/projects" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"display_name": "Landing page",
"custom_repo_url": "https://github.com/buddy/landing-page.git",
"custom_repo_user": "support@buddy.works",
"custom_repo_pass": "super-secret-password"
}'EXAMPLE RESPONSE{ "url": "https://api.buddy.works/workspaces/buddy/projects/landing-page", "html_url": "https://app.buddy.works/buddy/landing-page", "name": "landing-page", "display_name": "Landing page", "status": "ACTIVE", "create_date": "2016年03月02日T11:10:28.864Z", "created_by": { "url": "https://api.buddy.works/workspaces/buddy/member/1", "html_url": "https://app.buddy.works/buddy/profile/1", "id": 1, "name": "Mike Benson", "avatar_url": "https://app.buddy.works/image-server/user/0/0/0/0/0/0/1/d643744fbe5ebf2906a4d075a5b97110/w/32/32/AVATAR.png" }, "http_repository": "https://app.buddy.works/buddy/landing-page", "ssh_repository": "buddy@app.buddy.works:buddy/landing-page", "default_branch": "master", "access": "PUBLIC", "fetch_submodules": true, "fetch_submodules_env_key": "id_workspace", "allow_pull_requests": true }
STATUS201 Created
LIMITSX-Rate-Limit-Limit: 1 X-Rate-Limit-Remaining: 999