Project Group

Project group is the link object between Projects and Groups. With them you define which groups belongs to what project, and what they can do in the project.

Attributes

project

The id of the project the membership is for.

When requesting, can be expanded to the full project object by including the query parameter expand=project.

  • Type: string
  • Required: true

group

The id of the group the membership is for.

When requesting, can be expanded to the full group object by including the query parameter expand=group.

  • Type: string
  • Required: true

role

The role the group has in the project. Must be one of admin, manager, master, developer, or guest.

  • Type: string
  • Required: true

Operations

GET /projects/:project_id/project_groups

List all project groups for a project, with optional limit and offset parameters, as a metadata-results object.

GET /projects/:project_id/project_groups/:group_id

Return a specific project group.

Example request

curl -X GET \
  -H "Accept: application/vnd.hth.v1" \
  -H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
  https://helixteamhub.cloud/api/projects/luotsi/project_groups/devs

Example response

{
  "api_status": 200,
  "api_timestamp": "2013-11-28T09:38:42Z",
  "project": {
    "id": "luotsi"
  },
  "group": {
    "id": "devs"
  },
  "role": "developer"
}

POST /projects/:project_id/project_groups

Add a group to a project.

Example request

curl -X POST \
  -H "Accept: application/vnd.hth.v1" \
  -H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
  -H "Content-Type: application/json" \
  -d '{ "id": "devs", "role": "developer" }' \
  https://helixteamhub.cloud/api/projects/luotsi/project_groups

Example response

{
  "api_status": 201,
  "api_timestamp": "2013-11-28T09:41:47Z",
  "project": {
    "id": "luotsi"
  },
  "group": {
    "id": "devs"
  },
  "role": "developer"
}

PUT /projects/:project_id/project_groups/:group_id

Update role for a project group. Returns the updated project group.

Example request

curl -X PUT \
  -H "Accept: application/vnd.hth.v1" \
  -H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
  -H "Content-Type: application/json" \
  -d '{ "role": "admin" }' \
  https://helixteamhub.cloud/api/projects/luotsi/project_groups/devs

Example response

{
  "api_status": 200,
  "api_timestamp": "2013-11-28T09:44:26Z",
  "project": {
    "id": "luotsi"
  },
  "group": {
    "id": "devs"
  },
  "role": "admin"
}

DELETE /projects/:project_id/project_groups/:group_id

Remove a group from a project. Returns the removed project group.

Example request

curl -X DELETE \
  -H "Accept: application/vnd.hth.v1" \
  -H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
  https://helixteamhub.cloud/api/projects/luotsi/project_groups/devs

Example response

{
  "api_status": 200,
  "api_timestamp": "2013-11-28T09:45:50Z",
  "project": {
    "id": "luotsi"
  },
  "group": {
    "id": "devs"
  },
  "role": "admin"
}