Create
Create a project in a workspace. Every user can add new projects, unless restricted by the admin in the workspace settings.
Required scopes: WORKSPACE
Resource URL
POST /workspaces/:domain/projects
URL Parameters
Name | Type | Description |
---|---|---|
domain Required | String | The workspace domain. |
POST Parameters
Name | Type | Description |
---|---|---|
display_name Required | String | Full name of the project. |
name | String | Name ID of the project. Generated from the display_name if not provided. |
integration | Integration | The integration. Required when adding the integrated project. |
external_project_id | String | Repo slug of the Bitbucket, GitHub or GitLab project. Required when adding the integrated project. |
git_lab_project_id | String | ID of the project in GitLab. |
custom_repo_url | String | SSH or HTTPS url of the git repository. Required when adding the project integrated with custom git repository. |
custom_repo_user | String | Username used to authorize access to the git repository. Required when adding the project integrated with custom git repository. |
custom_repo_pass | String | 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. |
access | String | Defines whether a project is public or private. Available values: PUBLIC , PRIVATE (set by default). |
fetch_submodules | Boolean | Defines whether the submodules are fetched during the executions in this project. |
fetch_submodules_env_key | String | Name of the key that will be used to authorize while fetching the submodules. Required when fetch_submodules is set to true . |
allow_pull_requests | Boolean | Enables/disables pull requests in the project. Available only for projects synchronized with GitHub or GitHub Enterprise repository. |
without_repo | Boolean | If set to true , the project is created without any repository attached. |
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects
JSON
{
"name": "landing-page",
"display_name": "Landing page",
"access": "PUBLIC",
"fetch_submodules": true,
"fetch_submodules_env_key": "id_workspace",
"allow_pull_requests": true
}
Example
Request
POST https://api.buddy.works/workspaces/buddy/projects
JSON
{
"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
Request
POST https://api.buddy.works/workspaces/buddy/projects
JSON
{
"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"
}
Sample Response
HTTP
Status: 201 Created
X-Rate-Limit-Limit: 1
X-Rate-Limit-Remaining: 999
JSON
{
"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-02T11: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
}
Last modified on December 13, 2022