Easy Agile Programs API
Easy Agile Programs provides an API for integration with other systems.
The documentation below is valid as at Easy Agile Programs 2.1 on Jira Server and Data Center. We do not yet publish the API for Cloud.
Notes:
- agileBoardSprints is a mapping between sprintIds and columns for each Scrum board in an increment
- Issues in Scrum boards are scheduled by assigning them to sprints in Jira Software
- Issues in Kanban boards are scheduled using an issue entity property (as Kanban agile boards do not support sprints)
- startDate is a Unix timestamp in UTC at the start of the calendar day of the increment
- Start and end dates of individual sprints are calculated from the startDate, sprintCount and sprintWeekCount
- issueLink... are used to set a link type other than Epic Link
Get Program
GET /rest/eap/latest/program/{programId}
Sample Response:
{ id: 30, name: "Program with issue-links and standalone roadmap", objectives: "{"version":1,"type":"doc","content": [{"type":"paragraph","content": [{"type":"text","text":"This is a sample program using issue-links and a standalone roadmap board"}] }] }", issueLinkMethod: "issue-link", issueLinkTypeId: "10300", issueLinkDirection: "outward", roadmapBoardId: 88, boardIds: [ 40, 42, 43, 41 ], increments: [ { id: 72, number: 1, objectives: "", agileBoardSprints: [ { boardId: 40, sprintIds: [ 471, 468, 467, 470, 469 ] } ], startDate: 1542758400000, sprintCount: 5, sprintWeekCount: 2 } ] }
Get Program Increment
GET /rest/eap/latest/program/increment/{incrementId}
Sample response:
{ id: 72, number: 1, objectives: "", agileBoardSprints: [ { boardId: 40, sprintIds: [ 471, 468, 467, 470, 469 ] } ], startDate: 1542758400000, sprintCount: 5, sprintWeekCount: 2, program: { id: 30, name: "Program with issue-links and standalone roadmap", objectives: "{"version":1,"type":"doc","content": [{"type":"paragraph","content": [{"type":"text","text":"This is a sample program using issue-links and a standalone roadmap board"}] }] }", issueLinkMethod: "issue-link", issueLinkTypeId: "10300", issueLinkDirection: "outward", roadmapBoardId: 88, boardIds: [ 40, 42, 43, 41 ], increments: [ ] } }
Get Milestones
Milestones are independent of the issues and are only used as markers within programs, therefore you cannot query for all issues within a milestone.
GET /rest/eap/latest/program/{programId}/milestones
Sample response:
[ { color: "#008DA6", endDate: null, id: 14, name: "System Demo", programId: 27, startDate: "2020-06-30T00:00:00.000Z", type: "DATE_MARKER" }, { color: "#6554C0", endDate: null, id: 13, name: "Inspect & Adapt", programId: 27, startDate: "2020-08-24T00:00:00.000Z", type: "DATE_MARKER" } ]
Get Issue Entity Properties
Issues on Kanban boards and issues on the Roadmap are scheduled with issue entity properties. You can search for these using JQL:
- Search for roadmap issues in a specific increment with the following JQL query:
- issue.property[EAP-schedules].tags ~ i_{incrementId}_tr
- Search for Kanban issues in a specific increment with the following JQL query:
- issue.property[EAP-schedules].tags ~ i_{incrementId}_ti
Then fetch the entity property using the Jira Core REST API: /rest/api/2/issue/{issueKey}/properties/EAP-schedules
Sample issue entity property for Roadmap schedule
{ key: "EAP-schedules", value: { schedules: [ { endColumn: 4, incrementId: 79, programId: 34, startColumn: 1, type: "ROADMAP" } ], tags: "p_34 i_79 i_79_tr" } }
Sample Kanban schedule
{ key: "EAP-schedules", value: { schedules: [ { boardId: 89, columnIndexes: [ 4 ], incrementId: 79, programId: 34, type: "ISSUE" } ], tags: "p_34 i_79 i_79_ti" } }