SAP Cloud ALM Projects, Tasks, Requirements: API Updates 2022-02-01
Today, to celebrate the Year of the Tiger, we published the latest updates to the SAP Cloud ALM APIs in the SAP API Business Hub. The updates are primarily in the Tasks API but there are also new features in the Projects API.
Er… just kidding about publishing to celebrate the new year. 😉
Update 2022-02-04: We published code samples to our github.com repository. The samples are in notebook calm-project-task-2022-02-updates.ipynb
SAP Cloud ALM Projects
Let’s start with the Projects API. The API is nicely described in Open API Specification format:
You’ll immediately notices that we now have timebox APIs. Timeboxes may be phases, sprints, or milestones within a project.
Timeboxes have the following properties you can set and change:
- name – the name of the timebox which appears in the UI
- startDate – the start of the timebox (not relevant for milestones)
- endDate – the ending date of the timebox
- closed – a True/False value; False means a timebox is inactive and may not be assigned by users to tasks
SAP Cloud ALM Tasks
We’ve added many more features to tasks.
You may already be aware of some of these updates, as we’ve added them incrementally over the past few weeks:
- Requirements can now be read, created, updated, and deleted
- Sub-Tasks can be created as child tasks (Sub-Tasks must always have a parent Task or User Story)
- Comments in tasks can be read, created, updated, and deleted
- References (URL links) in tasks can also be read, created, updated, and deleted
- Scope, story points, and role attributes of tasks are now in the API
- You can create filter-queries to retrieve subsets of tasks instead of the entire list
Filter Parameters in GET /tasks
The filter parameters are as follows:
- offset, limit – numeric paging parameters
- type – filter by task type (project task, user story, requirement, etc.)
- status – filter by task status (open, in process, etc.)
- subStatus – sub-status values specific to task types, currently only for Requirements
- assigneeId – user ID of the person assigned to process the task
- lastChangedDate – filter by change date of tasks, using greater than, less than, and equals operators.
As I mentioned above, we’ve now published sample code in github.com. You can see our other notebooks in this subdirectory of our repository: https://github.com/SAP-samples/cloud-alm-api-examples/tree/main/jupyternotebooks