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

NameTypeDescription
domain
Required
StringThe workspace domain.

POST Parameters

NameTypeDescription
display_name
Required
StringFull name of the project.
nameStringName ID of the project. Generated from the display_name if not provided.
integrationIntegrationThe integration. Required when adding the integrated project.
external_project_idStringRepo slug of the Bitbucket, GitHub or GitLab project. Required when adding the integrated project.
git_lab_project_idStringID of the project in GitLab.
custom_repo_urlStringSSH or HTTPS url of the git repository. Required when adding the project integrated with custom git repository.
custom_repo_userStringUsername used to authorize access to the git repository. Required when adding the project integrated with custom git repository.
custom_repo_passStringPassword 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.
accessStringDefines whether a project is public or private. Available values: PUBLIC, PRIVATE (set by default).
fetch_submodulesBooleanDefines whether the submodules are fetched during the executions in this project.
fetch_submodules_env_keyStringName of the key that will be used to authorize while fetching the submodules. Required when fetch_submodules is set to true.
allow_pull_requestsBooleanEnables/disables pull requests in the project. Available only for projects synchronized with GitHub or GitHub Enterprise repository.
without_repoBooleanIf 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

Get Started

Sign up for free and deploy your project in less than 10 minutes.