Expert Agile Sprint

Added in version 3.0.0.

Requires Redmine >= 5.0 and the redmine_expert_agile plugin >= 0.6.0. All operations, including read ones, require the manage_expert_agile_sprints permission and the Agile module enabled in the project.

Note

This resource targets redmine_expert_agile and is not compatible with RedmineUP’s Agile plugin, which uses different endpoints and payloads.

Manager

All operations on the ExpertAgileSprint resource are provided by its manager. To get access to it you have to call redmine.expert_agile_sprint where redmine is a configured redmine object. See the Configuration about how to configure redmine object.

Sprints are always addressed through their project, so every manager method needs a project_id. Resource methods (save(), delete(), refresh()) use the sprint’s own project automatically. A sprint shared into another project can only be read through the project owning it.

Create methods

create

redminelib.managers.ResourceManager.create(**fields)

Creates new ExpertAgileSprint resource with given fields.

Parameters:
  • project_id (int or string) – (required). Id or identifier of sprint’s project.

  • name (string) – (required). Sprint name, unique per project.

  • start_date (string or date object) – (required). Sprint start date.

  • end_date (string or date object) – (required). Sprint end date, on or after the start date.

  • description (string) – (optional). Sprint description.

  • status (string) – (optional). Status of the sprint, one of:

    • open (default)

    • active (the previously active sprint of the project is reopened)

    • closed (refused while the sprint still has open issues)

  • sharing (string) – (optional). Sprint sharing, one of:

    • none (default)

    • descendants

    • hierarchy

    • tree

    • system (admin only)

Returns:

Resource object

Note

The plugin expects status and sharing as integers but returns them as names, Python-Redmine converts the names listed above automatically so you can always work with names.

>>> sprint = redmine.expert_agile_sprint.create(
...     project_id='scrum',
...     name='Sprint 3',
...     start_date=datetime.date(2026, 1, 5),
...     end_date=datetime.date(2026, 1, 16),
...     status='open'
... )
>>> sprint
<redminelib.resources.ExpertAgileSprint #3 "Sprint 3">

new

redminelib.managers.ResourceManager.new()

Creates new empty ExpertAgileSprint resource but saves it only when save() is called. Valid attributes are the same as for create() method above.

Returns:

Resource object

Read methods

get

redminelib.managers.ResourceManager.get(resource_id, **params)

Returns single ExpertAgileSprint resource by its id, including issue_count and story_points of the issues visible to the user.

Parameters:
  • resource_id (int) – (required). Id of the sprint.

  • project_id (int or string) – (required). Id or identifier of sprint’s project.

Returns:

Resource object

>>> sprint = redmine.expert_agile_sprint.get(3, project_id='scrum')
>>> sprint.status, sprint.story_points
('active', 13)

all

Not supported by the Agile plugin

filter

redminelib.managers.ResourceManager.filter(**filters)

Returns all ExpertAgileSprint resources of a project, active first, then open, then closed. The plugin doesn’t paginate, limit and offset are applied by Python-Redmine.

Parameters:

project_id (int or string) – (required). Id or identifier of sprints’ project.

Returns:

ResourceSet object

>>> sprints = redmine.expert_agile_sprint.filter(project_id='scrum')
>>> sprints
<redminelib.resultsets.ResourceSet object with ExpertAgileSprint resources>

Update methods

update

redminelib.managers.ResourceManager.update(resource_id, **fields)

Updates values of given fields of an ExpertAgileSprint resource. Accepts the same fields as create().

Parameters:
  • resource_id (int) – (required). Sprint id.

  • project_id (int or string) – (required). Id or identifier of sprint’s project.

Returns:

True

>>> redmine.expert_agile_sprint.update(3, project_id='scrum', end_date=datetime.date(2026, 1, 20))
True

save

redminelib.resources.ExpertAgileSprint.save(**attrs)

Saves current state of an ExpertAgileSprint resource.

Returns:

Resource object

>>> sprint = redmine.expert_agile_sprint.get(3, project_id='scrum')
>>> sprint.save(name='Sprint 3 (extended)')
<redminelib.resources.ExpertAgileSprint #3 "Sprint 3 (extended)">

There are also activate() and close() shortcuts which set the status and save the sprint:

>>> sprint.close()
<redminelib.resources.ExpertAgileSprint #3 "Sprint 3 (extended)">

Delete methods

delete

redminelib.managers.ResourceManager.delete(resource_id, **params)

Deletes an ExpertAgileSprint, its issues are unassigned from the sprint. Refused while issues of other projects are still in the sprint.

Parameters:
  • resource_id (int) – (required). Sprint id.

  • project_id (int or string) – (required). Id or identifier of sprint’s project.

Returns:

True

>>> redmine.expert_agile_sprint.delete(3, project_id='scrum')
True

Export

Not supported by the Agile plugin