Limits
Max length of every string (e.g. keys, descriptions) is limited to 100 characters
Strings starting or ending with whitespace white space are not allowed
Endpoints
Get skill tree
Returns the applicable skill tree
HTTP Method: GETGET
/rest/skillsforjira/1/skilltree
Request:
fieldId (query) The API will return the skill tree that applies to the specified field
projectIdOrKey (query) The API will return the skill tree that applies to the specified project. Case-sensitive. [Required if fieldId is specified]
issueTypeId (query) The API will return the skill tree that applies to the specified issue type [Required if fieldId is specified]
None
Response [JSON]:
skillTree: Hierarchical skill tree including categories and skills
...
Request:
Code Block HTTP GET: https://{your-generated-endpoint-url}instance}/rest/skillsforjira/1/skilltree
Response (200):
Code Block { "skillTree": [ { "key": "f2c4cba9-6082-48c8-b23e-852e101bedbd", "type": "category", "displayName": "Design", "children": [ { "key": "9935f79d-02d1-4415-a81b-04f9e9dcd7ce", "type": "category", "displayName": "UX" "children": [ { "key": "User Flows" }, { "key": "Wireframes" }, { "key": "Usability Testing" } ] } ] } ] }
Get Category
Returns the category along with the nested sub-categories and skills
...
HTTP Method: GET
Request:
...
Update skill tre Skill
Updates the entire skill tree with a new version
Note |
---|
Skill requirements in existing issues will not be affected. |
POST
/rest/skillsforjira/1/skilltree
Request:
Skill tree object
Response [JSON]:
category: The requested category along with sub-categories and skillsUpdated skill tree
Example:
Request:
Code Block HTTP GETPOST: https://{your-generated-endpoint-url}?key=24151a90-7c57-4dd1-bf86-762418c650de
Response (200):
Code Block { "category": { instance}/rest/skillsforjira/1/skilltree {"nodes":[{"key": "24151a9039cc406e-7c5749c8-4dd146c2-bf86881e-762418c650de2172c1252a7a", "children": [ { "key": "React" }, { "key": "Angular" }, { "key": "JQuery" }, { "key": "Vue" }, { "key": "d8a55cf6-9828-4a7b-a951-2557bdb9dbc7", "children": [ { "key": "Bootstrap" } ], "type": "category", "displayName": "CSS" } ], "type": "category", "displayName": "Frontend" } }
Create Category
Creates a new category under the specified parent
HTTP Method: POST
Request:
displayName (body) The display name for the category. Required
description (body) The description for the category.
parentKey (body) The key (id) of the category under which to create the new category. If not specified, the new category will be created at the root of the skill tree
Response [JSON]:
created: The array of created categories (array with 1 item)
Example:
Request:
Code Block HTTP POST: https://{your-generated-endpoint-url} { "displayName": "New Category Name", "description": "New category description" }
Response (200):
Code Block { "created": [{ "key": "24151a90-7c57-4dd1-bf86-762418c650de", "children": [], "type": "category", "displayName": "New Category Name", "description": "New category description" }] }
Update Category
Updates the skill tree category name and description
HTTP Method: PUT
Request:
key (body) The key (id) of the category. Required
displayName (body) The new display name for the category. Required
description (body) The new description for the category.
Response [JSON]:
changed: The array of updated categories (array with 1 item)
Example:
Request:
Code Block HTTP PUT: https://{your-generated-endpoint-url} { "key": "24151a90-7c57-4dd1-bf86-762418c650de", "displayName": "New Category Name", "description": "New category description" }
Response (200):
Code Block { "changed": [{ "key": "24151a90-7c57-4dd1-bf86-762418c650de", "children": [ { "key": "React" }, { "key": "Angular" }, { "key": "JQuery" }, { "key": "Vue" }, { "key": "d8a55cf6-9828-4a7b-a951-2557bdb9dbc7", "children": [ { "key": "Bootstrap" } ], "type": "category", "displayName": "CSS" } ], "type": "category", "displayName": "New Category Name", "description": "New category description" }] }
Move Category
Move the specified category under a different parent
HTTP Method: PATCH
Request:
key (query) The key (id) of the category. Required
newParentKey (query) The key (id) of the new parent category. Required
Response [JSON]:
moved: The array of moved categories (array with 1 item)
Example:
Request:
Code Block HTTP PATCH: https://{your-generated-endpoint-url}?key=24151a90-7c57-4dd1-bf86-762418c650de&newParentKey=dafdf116-c294-461c-813c-01b896a18d6e"displayName":"Software Engineering","type":"category","description":"Software engineering skills","icon":"engineering","children":[{"key":"88167d41-c6af-49e2-9bcf-221b0ee4c655","displayName":"Levels","type":"category","children":[{"key":"Engineering - Beginner","type":"skill"},{"key":"Engineering - Competent","type":"skill"},{"key":"Engineering - Proficient","type":"skill"},{"key":"Engineering - Expert","type":"skill"},{"key":"Engineering - Master","type":"skill"}]}]}],"isPersisted":true}
Response (200):
Code Block { "movednodes": [{ "key": "24151a9039cc406e-7c5749c8-4dd146c2-bf86881e-762418c650de2172c1252a7a", "children": [], "type": "category", "displayName": "New Category Name", "description": "New category description", "parentKey": "dafdf116-c294-461c-813c-01b896a18d6e" }] }
Delete Category
Deletes the specified category.
Note |
---|
Only categories with no sub-categories or skills can be deleted |
HTTP Method: DELETE
Request:
key (query) The key (id) of the category. Required
Response [JSON]:
deleted: The array of deleted categories (array with 1 item)
Example:
Request:
Code Block HTTP DELETE: https://{your-generated-endpoint-url}?key=24151a90-7c57-4dd1-bf86-762418c650de
Response (200):
Code Block { "deleted": [{ "key": "24151a90-7c57-4dd1-bf86-762418c650de", "children": [], "type": "category", "displayName": "New Category Name", "description": "New category description" }] }
Get Skill
Returns the skill
HTTP Method: GET
Request:
key (query) The key (id) of the skill. Required
Response [JSON]:
skill: The requested skill object
Example:
Request:
Code Block HTTP GET: https://{your-generated-endpoint-url}?key=Skill%20Name
Response (200):
Code Block { "key": "Skill Name" }
Create Skill
Creates a new skill under the specified parent
HTTP Method: POST
Request:
key (body) The key (name) of the new skill. Required
parentKey (body) The key (id) of the category under which to create the new skill. If not specified, the skill will be created at the root of the skill tree
Response [JSON]:
created: The array of created skills (array with 1 item)
Example:
Request:
Code Block HTTP POST: https://{your-generated-endpoint-url} { "key": "New Skill", "parentKey": "24151a90-7c57-4dd1-bf86-762418c650de" }
Response (200):
Code Block { "created": [{ "key": "New Skill" }] }
Move Skill
Move the specified skill under a different parent category
HTTP Method: PATCH
Request:
key (query) The key (name) of the skill. Required
newParentKey (query) The key (id) of the new parent category. Required
Response [JSON]:
moved: The array of moved skills (array with 1 item)
Example:
Request:
Code Block HTTP PATCH: https://{your-generated-endpoint-url}?key=Skill%20Name&newParentKey=dafdf116-c294-461c-813c-01b896a18d6e
Response (200):
Code Block { "moved": [{ "key": "Skill Name", "parentKey": "dafdf116-c294-461c-813c-01b896a18d6e" }] }
Delete Skill
Deletes the specified skill.
Note |
---|
The deleted skill will no longer be available for use. However, skill requirements of the existing issues will not be affected. |
HTTP Method: DELETE
Request:
key (query) The key (name) of the skill. Required
Response [JSON]:
deleted: The array of deleted skills (array with 1 item)
Example:
Request:
Code Block HTTP DELETE: https://{your-generated-endpoint-url}?key=Obsolete%20Skill
Response (200):
Code Block { "deleted": [{ "key": "Obsolete Skill" }] "description":"Software engineering skills","icon":"engineering","children":[{"key":"88167d41-c6af-49e2-9bcf-221b0ee4c655","children":[{"key":"Engineering - Beginner"},{"key":"Engineering - Competent"},{"key":"Engineering - Proficient"},{"key":"Engineering - Expert"},{"key":"Engineering - Master"}],"type":"category","displayName":"Levels"}],"type":"category","displayName":"Software Engineering"}]}