agile

package
v1.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BoardBacklogConnector

type BoardBacklogConnector interface {

	// Move moves issues to the backlog.
	//
	// This operation is equivalent to remove future and active sprints from a given set of issues.
	//
	// At most 50 issues may be moved at once.
	//
	// POST /rest/agile/1.0/backlog/issue
	//
	// https://docs.go-atlassian.io/jira-agile/boards/backlog#move-issues-to-backlog
	Move(ctx context.Context, issues []string) (*models.ResponseScheme, error)

	// MoveTo moves issues to the backlog of a particular board (if they are already on that board).
	//
	// This operation is equivalent to remove future and active sprints from a given set of issues if the board has sprints.
	//
	// If the board does not have sprints this will put the issues back into the backlog from the board.
	//
	// At most 50 issues may be moved at once.
	//
	// POST /rest/agile/1.0/backlog/{boardID}/issue
	//
	// https://docs.go-atlassian.io/jira-agile/boards/backlog#move-issues-to-a-board-backlog
	MoveTo(ctx context.Context, boardID int, payload *models.BoardBacklogPayloadScheme) (*models.ResponseScheme, error)
}

BoardBacklogConnector represents the board backlogs. Use it to search, get, create, delete, and change backlogs.

type BoardConnector

type BoardConnector interface {

	// Get returns the board for the given board ID.
	// This board will only be returned if the user has permission to view it.
	//
	//
	// Admins without the view permission will see the board as a private one,
	//
	// so will see only a subset of the board's data (board location for instance).
	//
	// GET /rest/agile/1.0/board/{boardID}
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-board
	Get(ctx context.Context, boardID int) (*model.BoardScheme, *model.ResponseScheme, error)

	// Create creates a new board. Board name, type and filter ID is required.
	//
	// POST /rest/agile/1.0/board
	//
	// Docs: https://docs.go-atlassian.io/jira-agile/boards#create-board
	Create(ctx context.Context, payload *model.BoardPayloadScheme) (*model.BoardScheme, *model.ResponseScheme, error)

	// Filter returns any boards which use the provided filter id.
	//
	// This method can be executed by users without a valid software license in order
	//
	// to find which boards are using a particular filter.
	//
	// GET /rest/agile/1.0/board/filter/{filterID}
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-board-by-filter-id
	Filter(ctx context.Context, filterID, startAt, maxResults int) (*model.BoardPageScheme, *model.ResponseScheme, error)

	// Backlog returns all issues from the board's backlog, for the given board ID.
	//
	// This only includes issues that the user has permission to view.
	//
	// The backlog contains incomplete issues that are not assigned to any future or active sprint.
	//
	// Note, if the user does not have permission to view the board, no issues will be returned at all.
	//
	// Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic.
	//
	// By default, the returned issues are ordered by rank.
	//
	// GET /rest/agile/1.0/board/{boardID}/backlog
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-issues-for-backlog
	Backlog(ctx context.Context, boardID int, opts *model.IssueOptionScheme, startAt, maxResults int) (*model.BoardIssuePageScheme, *model.ResponseScheme, error)

	// Configuration get the board configuration.
	//
	// GET /rest/agile/1.0/board/{boardID}/configuration
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-configuration
	Configuration(ctx context.Context, boardID int) (*model.BoardConfigurationScheme, *model.ResponseScheme, error)

	// Epics returns all epics from the board, for the given board ID.
	//
	// This only includes epics that the user has permission to view.
	//
	// Note, if the user does not have permission to view the board, no epics will be returned at all.
	//
	// GET /rest/agile/1.0/board/{boardID}/epic
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-epics
	Epics(ctx context.Context, boardID, startAt, maxResults int, done bool) (*model.BoardEpicPageScheme, *model.ResponseScheme, error)

	// IssuesWithoutEpic returns all issues that do not belong to any epic on a board, for a given board ID.
	//
	// This only includes issues that the user has permission to view.
	//
	// Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic.
	//
	// By default, the returned issues are ordered by rank.
	//
	// GET /rest/agile/1.0/board/{boardID}/epic/none/issue
	//
	// Docs: https://docs.go-atlassian.io/jira-agile/boards#get-issues-without-epic-for-board
	IssuesWithoutEpic(ctx context.Context, boardID int, opts *model.IssueOptionScheme, startAt, maxResults int) (
		*model.BoardIssuePageScheme, *model.ResponseScheme, error)

	// IssuesByEpic returns all issues that belong to an epic on the board, for the given epic ID and the board ID.
	//
	// This only includes issues that the user has permission to view.
	//
	// Issues returned from this resource include Agile fields, like sprint, closedSprints,
	//
	// flagged, and epic. By default, the returned issues are ordered by rank.
	//
	// GET /rest/agile/1.0/board/{boardID}/epic/none/issue
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-board-issues-for-epic
	IssuesByEpic(ctx context.Context, boardID, epicID int, opts *model.IssueOptionScheme, startAt, maxResults int) (
		*model.BoardIssuePageScheme, *model.ResponseScheme, error)

	// Issues returns all issues from a board, for a given board ID.
	//
	// This only includes issues that the user has permission to view.
	//
	// An issue belongs to the board if its status is mapped to the board's column.
	//
	// Epic issues do not belong to the scrum boards. Note, if the user does not have permission to view the board,
	//
	// no issues will be returned at all.
	//
	// Issues returned from this resource include Agile fields, like sprint, closedSprints, flagged, and epic.
	//
	// By default, the returned issues are ordered by rank.
	//
	// GET /rest/agile/1.0/board/{boardID}/issue
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-issues-for-board
	Issues(ctx context.Context, boardID int, opts *model.IssueOptionScheme, startAt, maxResults int) (*model.BoardIssuePageScheme,
		*model.ResponseScheme, error)

	// Move issues from the backlog to the board (if they are already in the backlog of that board).
	//
	// This operation either moves an issue(s) onto a board from the backlog (by adding it to the issueList for the board)
	//
	// Or transitions the issue(s) to the first column for a kanban board with backlog.
	//
	// At most 50 issues may be moved at once.
	//
	// POST /rest/agile/1.0/board/{boardID}/issue
	//
	// https://docs.go-atlassian.io/jira-agile/boards#move-issues-to-backlog-for-board
	Move(ctx context.Context, boardID int, payload *model.BoardMovementPayloadScheme) (*model.ResponseScheme, error)

	// Projects returns all projects that are associated with the board, for the given board ID.
	//
	// If the user does not have permission to view the board, no projects will be returned at all.
	//
	// Returned projects are ordered by the name.
	//
	// GET /rest/agile/1.0/board/{boardID}/project
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-projects
	Projects(ctx context.Context, boardID, startAt, maxResults int) (*model.BoardProjectPageScheme, *model.ResponseScheme, error)

	// Sprints returns all sprints from a board, for a given board ID.
	//
	// This only includes sprints that the user has permission to view.
	//
	// GET /rest/agile/1.0/board/{boardID}/sprint
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-all-sprints
	Sprints(ctx context.Context, boardID, startAt, maxResults int, states []string) (*model.BoardSprintPageScheme,
		*model.ResponseScheme, error)

	// IssuesBySprint get all issues you have access to that belong to the sprint from the board.
	//
	// Issue returned from this resource contains additional fields like: sprint, closedSprints, flagged and epic.
	//
	// Issues are returned ordered by rank. JQL order has higher priority than default rank.
	//
	// GET /rest/agile/1.0/board/{boardID}/sprint/{sprintID}/issue
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-board-issues-for-sprint
	IssuesBySprint(ctx context.Context, boardID, sprintID int, opts *model.IssueOptionScheme, startAt, maxResults int) (
		*model.BoardIssuePageScheme, *model.ResponseScheme, error)

	// Versions returns all versions from a board, for a given board ID.
	//
	// This only includes versions that the user has permission to view.
	//
	// Note, if the user does not have permission to view the board, no versions will be returned at all.
	//
	// Returned versions are ordered by the name of the project from which they belong and then by sequence defined by user.
	//
	// GET /rest/agile/1.0/board/{boardID}/sprint/{sprintID}/issue
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-all-versions
	Versions(ctx context.Context, boardID, startAt, maxResults int, released bool) (*model.BoardVersionPageScheme,
		*model.ResponseScheme, error)

	// Delete deletes the board. Admin without the view permission can still remove the board.
	//
	// DELETE /rest/agile/1.0/board/{boardID}
	//
	// https://docs.go-atlassian.io/jira-agile/boards#delete-board
	Delete(ctx context.Context, boardID int) (*model.ResponseScheme, error)

	// Gets returns all boards. This only includes boards that the user has permission to view.
	//
	// GET /rest/agile/1.0/board
	//
	// https://docs.go-atlassian.io/jira-agile/boards#get-boards
	Gets(ctx context.Context, opts *model.GetBoardsOptions, startAt, maxResults int) (*model.BoardPageScheme,
		*model.ResponseScheme, error)
}

BoardConnector represents the Jira boards. Use it to search, get, create, delete, and change boards.

type EpicConnector

type EpicConnector interface {

	// Get returns the epic for a given epic ID.
	//
	// This epic will only be returned if the user has permission to view it.
	//
	// Note: This operation does not work for epics in next-gen projects.
	//
	// GET /rest/agile/1.0/epic/{epicIDOrKey}
	//
	// https://docs.go-atlassian.io/jira-agile/epics#get-epic
	Get(ctx context.Context, epicIDOrKey string) (*model.EpicScheme, *model.ResponseScheme, error)

	// Issues returns all issues that belong to the epic, for the given epic ID.
	//
	// This only includes issues that the user has permission to view.
	//
	// Issues returned from this resource include Agile fields, like sprint, closedSprints,  flagged, and epic.
	//
	// By default, the returned issues are ordered by rank.
	//
	// GET /rest/agile/1.0/epic/{epicIDOrKey}/issue
	//
	// https://docs.go-atlassian.io/jira-agile/epics#get-issues-for-epic
	Issues(ctx context.Context, epicIDOrKey string, opts *model.IssueOptionScheme, startAt, maxResults int) (*model.BoardIssuePageScheme,
		*model.ResponseScheme, error)

	// Move moves issues to an epic, for a given epic id.
	//
	// Issues can be only in a single epic at the same time.
	// That means that already assigned issues to an epic, will not be assigned to the previous epic anymore.
	//
	// The user needs to have the edit issue permission for all issue they want to move and to the epic.
	//
	// The maximum number of issues that can be moved in one operation is 50.
	//
	// POST /rest/agile/1.0/epic/{epicIDOrKey}/issue
	//
	// https://docs.go-atlassian.io/jira-agile/epics#move-issues-to-epic
	Move(ctx context.Context, epicIDOrKey string, issues []string) (*model.ResponseScheme, error)
}

type SprintConnector

type SprintConnector interface {

	// Get Returns the sprint for a given sprint ID.
	//
	// The sprint will only be returned if the user can view the board that the sprint was created on,
	//
	// or view at least one of the issues in the sprint.
	//
	// GET /rest/agile/1.0/sprint/{sprintID}
	//
	// https://docs.go-atlassian.io/jira-agile/sprints#get-sprint
	Get(ctx context.Context, sprintID int) (*models.SprintScheme, *models.ResponseScheme, error)

	// Create creates a future sprint.
	//
	// Sprint name and origin board id are required.
	//
	// Start date, end date, and goal are optional.
	//
	// POST /rest/agile/1.0/sprint
	//
	// https://docs.go-atlassian.io/jira-agile/sprints#create-print
	Create(ctx context.Context, payload *models.SprintPayloadScheme) (*models.SprintScheme, *models.ResponseScheme, error)

	// Update Performs a full update of a sprint.
	//
	// A full update means that the result will be exactly the same as the request body.
	//
	// Any fields not present in the request JSON will be set to null.
	//
	// PUT /rest/agile/1.0/sprint/{sprintID}
	//
	// https://docs.go-atlassian.io/jira-agile/sprints#update-sprint
	Update(ctx context.Context, sprintID int, payload *models.SprintPayloadScheme) (*models.SprintScheme, *models.ResponseScheme, error)

	// Path Performs a partial update of a sprint.
	//
	// A partial update means that fields not present in the request JSON will not be updated.
	//
	// POST /rest/agile/1.0/sprint/{sprintID}
	//
	// https://docs.go-atlassian.io/jira-agile/sprints#partially-update-sprint
	Path(ctx context.Context, sprintID int, payload *models.SprintPayloadScheme) (*models.SprintScheme, *models.ResponseScheme, error)

	// Delete deletes a sprint.
	//
	// Once a sprint is deleted, all open issues in the sprint will be moved to the backlog.
	//
	// DELETE /rest/agile/1.0/sprint/{sprintID}
	//
	// https://docs.go-atlassian.io/jira-agile/sprints#delete-sprint
	Delete(ctx context.Context, sprintID int) (*models.ResponseScheme, error)

	// Issues returns all issues in a sprint, for a given sprint ID.
	//
	// This only includes issues that the user has permission to view.
	//
	// By default, the returned issues are ordered by rank.
	//
	// GET /rest/agile/1.0/sprint/{sprintID}/issue
	//
	// https://docs.go-atlassian.io/jira-agile/sprints#get-issues-for-sprint
	Issues(ctx context.Context, sprintID int, opts *models.IssueOptionScheme, startAt, maxResults int) (*models.SprintIssuePageScheme, *models.ResponseScheme, error)

	// Start initiate the Sprint
	//
	// PUT /rest/agile/1.0/sprint/{sprintID}
	//
	// https://docs.go-atlassian.io/jira-agile/sprints#start-sprint
	Start(ctx context.Context, sprintID int) (*models.ResponseScheme, error)

	// Close closes the Sprint
	//
	// PUT /rest/agile/1.0/sprint/{sprintID}
	//
	// https://docs.go-atlassian.io/jira-agile/sprints#close-sprint
	Close(ctx context.Context, sprintID int) (*models.ResponseScheme, error)

	// Move moves issues to a sprint, for a given sprint ID.
	//
	// Issues can only be moved to open or active sprints.
	//
	// The maximum number of issues that can be moved in one operation is 50.
	//
	// POST /rest/agile/1.0/sprint/{sprintID}/issue
	//
	// https://docs.go-atlassian.io/jira-agile/sprints#move-issues-to-sprint
	Move(ctx context.Context, sprintID int, payload *models.SprintMovePayloadScheme) (*models.ResponseScheme, error)
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL