Workstream 4: Sync legacy epics API
We need to keep the following endpoints working using the work item data through the legacy epic's ID.
REST API
Epics
ee/lib/api/epics.rb
https://docs.gitlab.com/ee/api/epics.html
path | description |
---|---|
/api/:version/groups/:id/epics | Get epics for the group |
/api/:version/groups/:id/-/epics | Get epics for the group |
/api/:version/groups/:id/epics/:epic_iid | Get details of an epic |
/api/:version/groups/:id/-/epics/:epic_iid | Get details of an epic |
/api/:version/groups/:id/(-/)epics | Create a new epic |
/api/:version/groups/:id/(-/)epics/:epic_iid | Update an epic |
/api/:version/groups/:id/(-/)epics/:epic_iid | Destroy an epic |
Epic Issues
ee/app/models/epic_issue.rb
https://docs.gitlab.com/ee/api/epic_issues.html
path | description |
---|---|
/api/:version/groups/:id/(-/)epics/:epic_iid/issues/:epic_issue_id | Update epic-issue association |
/api/:version/groups/:id/epics/:epic_iid/issues | List issues for an epic |
/api/:version/groups/:id/-/epics/:epic_iid/issues | List issues for an epic |
/api/:version/groups/:id/(-/)epics/:epic_iid/issues/:issue_id | Assign an issue to the epic |
/api/:version/groups/:id/(-/)epics/:epic_iid/issues/:epic_issue_id | Remove an issue from the epic |
Epic Links
ee/lib/api/epic_links.rb
https://docs.gitlab.com/ee/api/epic_links.html
path | description |
---|---|
/api/:version/groups/:id/(-/)epics/:epic_iid/epics | Get related epics |
/api/:version/groups/:id/(-/)epics/:epic_iid/epics/:child_epic_id | Relate epics |
/api/:version/groups/:id/(-/)epics/:epic_iid/epics | Create and relate epic to a parent |
/api/:version/groups/:id/(-/)epics/:epic_iid/epics/:child_epic_id | Remove epics relation |
/api/:version/groups/:id/(-/)epics/:epic_iid/epics/:child_epic_id | Reorder child epics |
Related Epics
ee/lib/api/related_epic_links.rb
https://docs.gitlab.com/ee/api/linked_epics.html
path | description |
---|---|
/api/:version/groups/:id/related_epic_links | Get related epics within the group and hierarchy |
/api/:version/groups/:id/epics/:epic_iid/related_epics | Get related epics |
/api/:version/groups/:id/epics/:epic_iid/related_epics | Relate epics |
/api/:version/groups/:id/epics/:epic_iid/related_epics/:related_epic_link_id | Remove epics relation |
Epic Notes
lib/api/notes.rb
https://docs.gitlab.com/ee/api/notes.html#epics
path | description |
---|---|
/api/:version/groups/:id/epics/:noteable_id/notes | Get a list of epic notes |
/api/:version/groups/:id/epics/:noteable_id/notes/:note_id | Get a single epic note |
/api/:version/groups/:id/epics/:noteable_id/notes | Create a new epic note |
/api/:version/groups/:id/epics/:noteable_id/notes/:note_id | Update an existing epic note |
/api/:version/groups/:id/epics/:noteable_id/notes/:note_id | Delete a epic note |
Epic Discussions
lib/api/discussions.rb
https://docs.gitlab.com/ee/api/discussions.html#epics
path | description |
---|---|
/api/:version/groups/:id/epics/:noteable_id/discussions | Get a list of epic discussions |
/api/:version/groups/:id/epics/:noteable_id/discussions/:discussion_id | Get a single epic discussion |
/api/:version/groups/:id/epics/:noteable_id/discussions | Create a new epic discussion |
/api/:version/groups/:id/epics/:noteable_id/discussions/:discussion_id/notes | Get comments in a single epic discussion |
/api/:version/groups/:id/epics/:noteable_id/discussions/:discussion_id/notes | Add a comment to a epic discussion |
/api/:version/groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id | Get a comment in a epic discussion |
/api/:version/groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id | Edit a comment in a epic discussion |
/api/:version/groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id | Delete a comment in a epic discussion |
Epic Resource label events
lib/api/resource_label_events.rb
https://docs.gitlab.com/ee/api/resource_label_events.html#epics
path | description |
---|---|
/api/:version/groups/:id/epics/:eventable_id/resource_label_events | Get a list of epic resource label events |
/api/:version/groups/:id/epics/:eventable_id/resource_label_events/:event_id | Get a single epic resource label event |
GraphQL API
Queries
- Query.epicBoardList
- Mutation.boardEpicCreate
- Mutation.createEpic
- Mutation.destroyEpicBoard
- Mutation.epicAddIssue
- Mutation.epicBoardCreate
- Mutation.epicBoardListCreate
- Mutation.epicBoardListDestroy
- Mutation.epicBoardUpdate
- Mutation.epicMoveList
- Mutation.epicSetSubscription
- Mutation.epicTreeReorder
- Mutation.issueSetEpic
- Mutation.promoteToEpic
- Mutation.todoCreate
- Mutation.todosMarkAllDone
- Mutation.updateBoardEpicUserPreferences
- Mutation.updateEpic
- Mutation.updateEpicBoardList
Epics as a field
TDB
Epics as an input
TBD
Epics as an argument
TBD
Edited by Nicolas Dular