Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

Vacation Manager's REST API provides team API which allows you to obtain:

Methods:

GET

...

titleGet teams list

...

Table of Contents
minLevel1
maxLevel2

GET

Get teams list

Get list of all teams.

Permissions:

Status
colourGreen
titleADMIN
 
Status
colourRed
titleUSER
 
Status
colourRed
titleSUPERVISOR
 
Status
colourGreen
titleHR

Code Block
GET {jira_baseurl}/rest/vacation-manager/1.0/team

Responses:

Status
colourGreen
title200
 
Status
colourRed
title500

Expand
titleExample

Path

Code Block
GET {jira_baseurl}/rest/vacation-manager/1.0/team
Request
Code Block
[
    {
        "id": 1,
        "name": "team 1",
        "description": "description 1"
    },
    {
        "id": 2,
        "name": "team 2",
        "description": "description 2"
    },
    {
        "id": 3,
        "name": "team 3",
        "description": "description 3"
    }
]

Get single team

Get information about existing team members.

Permissions:

Status
colourGreen
titleADMIN
 
Status
colourRed
titleUSER
 
Status
colourRed
titleSUPERVISOR
 
Status
colourGreen
titleHR

Code Block
GET {jira_baseurl}/rest/vacation-manager/1.0/team/{teamId}

Responses:

Status
colourGreen
title200
 
Status
colourYellow
title404
 
Status
colourRed
title500

Path params

Name

Type

Description

teamId

int

Team ID

Expand
titleExample
Path
Code Block
GET {jira_baseurl}/rest/vacation-manager/1.0/team/1
Permissions

Response

Status
colourGreen
titleADMIN
 
Status
colourRed
titleUSER
 
Status
colourRed
titleSUPERVISOR
 
Status
colourGreen
titleHR

Responses

Status
colourGreen
title200
 
Status
colourRed
title500

Example

Code Block
titlePath
GET {jira_baseurl}/rest/vacation-manager/1.0/team
Code Block
titleRequest
Code Block
{
  "id": 1,
  "name": "teamName",
  "description": "description",
  "users": [
    {
        "id": 1,
        "name": "teamuser 1",
        "descriptiondisplayName": "descriptionUser 1",
      "active": true
    },
    {

       "id": 2,
        "name": "teamuser 2",
 
      "descriptiondisplayName": "descriptionUser 2",
      "active": true
    },
    {
 
      "id": 3,
 
      "name": "teamuser 3",
        "descriptiondisplayName": "descriptionUser 3",
      "active": true
    }
  ]

...

SUPERVISOR
Expand
titleGet single team

Get information about existing team members.

Path

Code Block
GET {jira_baseurl}/rest/vacation-manager/1.0/team/{teamId}

Permissions

Status
colourGreen
titleADMIN
 
Status
colourRed
titleUSER
 
Status
colourRed
title
,
  "supervisors": [
    {
      "id": 4,
      "name": "supervisor 1",
      "displayName": "Supervisor 1",
      "active": true
    }
  ]
}

Get team members

Get information about existing team.

Permissions:

Status
colourGreen
titleADMIN
 
Status
colourGreen
title

...

Name

...

Type

...

Description

...

USER
 
Status
colourRed
titleSUPERVISOR
 
Status
colourGreen
titleHR

Code Block
GET {jira_baseurl}/rest/vacation-manager/1.0/team/{teamId}/member

Responses:

Status
colourGreen
title200
 
Status
colourYellow
title

...

Status
colourRed
title500

Example

Code Block
titlePath
GET {jira_baseurl}/rest/vacation-manager/1.0/team/1

...

titleResponse

...

400
 
Status
colourRed
title500

Path params

Name

Type

Description

teamId

int

Team ID

Expand
titleExample
Path
Code Block
GET {jira_baseurl}/rest/vacation-manager/1.0/team/1/member
Response
Code Block
{
    "id": 1,
    "name": "teamName",
    "description": "description",
    "user": {
        "users": [
			{
                "id": 1,
                "userId": 10,
                "role": "USER",
                "teamId": 1
			},
			{
                "id": 2,
                "userId": 20,
                "role": "USER",
                "teamId": 1
			},
			{
                "id": 3,
                "userId": 30,
                "role": "USER",
                "teamId": 1
			}
		],
        "groups": [
            {
                "id": 7,
                "groupName": "users",
                "role": "USER",
                "teamId": 1
            }
        ]
    },
    "supervisor": {
        "users": [
			{
                "id": 4,
                "userId": 40,
                "role": "SUPERVISOR",
                "teamId": 1
			},
			{
                "id": 5,
                "userId": 50,
                "role": "SUPERVISOR",
                "teamId": 1
			},
			{
                "
name
id": 
"user 1",
6,
       
"displayName":
 
"User
 
1",
       "
active
userId": 
true
60,
    
},
     
{
       "
id
role": 
2
"SUPERVISOR",
       
"name":
 
"user
 
2",
       
"displayName": "User 2",
"teamId": 1
			}
		],
        "
active
groups": 
true
[
			{
    
},
     
{
       "id": 
3
8,
      
"name": "user 3",
          "
displayName
groupName": "
User 3
supervisors",

    
"active":
 
true
     
}
   
],
   "
supervisors
role": "SUPERVISOR",
[
     
{
       
"id":
 
4,
   "teamId": 1
  
"name":
 
"supervisor
 
1",
       
"displayName": "Supervisor 1",
 }
		]
    }
"active": true } ] }

...

POST 

...

Expand
titleCreate team

Creates new team.

Path
}

...

POST

Create team

Creates new team.

Permissions:

Status
colourGreen
titleADMIN
 
Status
colourRed
titleUSER
 
Status
colourRed
titleSUPERVISOR
 
Status
colourGreen
titleHR

Code Block
POST {jira_baseurl}/rest/vacation-manager/1.0/team
Permissions

Responses:

Status
colourGreen
title

...

201
 
Status
colour

...

Yellow
title

...

400
 
Status
colourRed
title

...

Status
colourGreen
titleHR

500

JSON body fields

Name

Type

Description

name

String

Team name, must be unique for each team

description

String (Optional)

Team description

Responses

Status
colourGreen
title201
 
Status
colourYellow
title400
  StatuscolourRed Expand
title
500
Example
Example
Path
Path
Code Block
title
POST {jira_baseurl}/rest/vacation-manager/1.0/team

Body

title
Code Block
Body
{
    "name": "Team name",
    "description": "Team Description"
}

Response

title
Code Block
Response
{
	"id": 
    "name": "Team name",
    "description": "Team Description"
}

...

Expand
titleAdd member to team

Add member to team.

Path
": "Team Description"
}

Add member to team

Add member to team.

Permissions:

Status
colourGreen
titleADMIN
 
Status
colourRed
titleUSER
 
Status
colourRed
titleSUPERVISOR
 
Status
colourGreen
titleHR

Code Block
POST {jira_baseurl}/rest/vacation-manager/1.0/team/{teamId}/member
Permissions

Responses:

Status
colourGreen
title

...

201
 
Status
colour

...

Yellow
title

...

400
 
Status
colour

...

Yellow
title

...

404
 
Status
colour

...

Red
title

...

500

Path params

Name

Type

Description

teamId

int

Team id


JSON body fields

Name

Type

Description

type

MemberType

Type of member

name

String

Name of the member you want to add to the team

role

MemberRole

Role for member

MemberType

Name

Type

Description

USER

Enum

User type

GROUP

Enum

Group

...

MemberRole

...

USER

...

Enum

...

User role for member

...

SUPERVISOR

...

Responses

Status
colourGreen
title201

...

Status
colourYellow
title400

...

Status
colourRed
title500

Example

...

type

MemberRole

Name

Type

Description

USER

Enum

User role for member

SUPERVISOR

Enum

Supervisor role for member

Expand
titleExample
Path
Code Block
POST {jira_baseurl}/rest/vacation-manager/1.0/team/1/member

Add user to team

Body
Code Block

...

{
	"type":"USER",
	"name":"user 1",
	"role":"USER"
}
Response
Code Block

...

...

{
    "id": 1,
    "userId": 10000,
    "role": "USER",
    "teamId": 1
}

Add group to team

Body
Code Block

...

...

{
	"type":"GROUP",
	"name":"users",
	"role":"USER"
}

...

...

Response

...

Code Block
{
    "id": 6,
    "groupName": "users",
    "role": "USER",
    "teamId": 1
}

...

PATCH

...

titleUpdate team

Update existing team.

Path

Update team

Update existing team.

Permissions:

Status
colourGreen
titleADMIN
 
Status
colourRed
titleUSER
 
Status
colourRed
titleSUPERVISOR
 
Status
colourGreen
titleHR

Code Block
PATCH {jira_baseurl}/rest/vacation-manager/1.0/team/{teamId}
Permissions

Responses:

Status
colourGreen
title

...

200
 
Status
colour

...

Yellow
title

...

400
 
Status
colour

...

Yellow
title

...

404
 
Status
colour

...

Red
title

...

500

Path params

Name

Type

Description

teamId

int

Team ID


JSON body fields

Name

Type

Description

name

String

Team name, must be unique

description

String (Optional)

Team description

...

allowUsersViewStatistics

...

Example

...

titlePath

bool

...

Status
colourYellow
title400

...

Status
colourRed
title500

(Optional)

as name says, it’s boolean value that can be either true or false,

defaultSupervisorId

int

(Optional)

ID (number value - not user name!) of a user that will be set as default supervisor, -1 means that this value will be cleared and default supervisor will be removed from team.

Expand
titleExample
Path
Code Block
PATCH {jira_baseurl}/rest/vacation-manager/1.0/team/1
Body
Code Block

...

...

{
    "name": "new team name"
}
Request
Code Block

...

titleRequest

{
    "id": 1,
    "name": "new team name",
    "description": "Team Description

...

",
    "allowUsersViewStatistics":false,
    "defaultSupervisorId": 10101
}

...

DELETE

...

titleDelete team

Delete existing team.

...

Delete team

Delete existing team.

Permissions:

Status
colourGreen
titleADMIN
 
Status
colourRed
titleUSER
 
Status
colourRed
titleSUPERVISOR
 
Status
colourGreen
titleHR

Code Block
DELETE {jira_baseurl}/rest/vacation-manager/1.0/team/{teamId}
Permissions

Responses:

Status
colourGreen
title

...

204
 
Status
colour

...

Yellow
title

...

404
 
Status
colourRed
title

...

Status
colourGreen
titleHR

500

Path params

Name

...

Type

...

Description

...

Responses

...

Status
colourYellow
title404

...

Status
colourRed
title500

Example

...

titleRequest

Type

Description

teamId

int

Team ID

Expand
titleExample
Request
Code Block
DELETE {jira_baseurl}/rest/vacation-manager/1.0/team/1

...

Expand
titleRemove member from team

Remove member from team.

Path
/1.0/team/1

Remove member from team

Remove member from team.

Permissions:

Status
colourGreen
titleADMIN
 
Status
colourRed
titleUSER
 
Status
colourRed
titleSUPERVISOR
 
Status
colourGreen
titleHR

Code Block
DELETE {jira_baseurl}/rest/vacation-manager/1.0/team/{teamId}/member
Permissions

Responses:

Status
colourGreen

...

title

...

204
 
Status
colour

...

Yellow
title

...

404
 
Status
colour

...

Red
title

...

500

Path params

Name

Type

Description

teamId

int

Team ID

JSON body fields

Name

Type

Description

type

String

Type of member to remove

  • USER

  • GROUP

name

String

Name of the member you want to remove from the team

role

String

Role for member to remove

  • USER

  • SUPERVISOR

Responses

204Path
Path
Status
colourGreen
Expand
title
Example
 
Status
colourYellow
title404
 
Status
colourRed
title500

Example

Code Block
title
Code Block
DELETE {jira_baseurl}/rest/vacation-manager/1.0/team/1/member
Body
Body
Code Block
title
{
	"type":"GROUP",
	"name":"users",
	"role":"USER"
}