Help us shape the future of Go! Take the 2026 Go Developer Survey

issue

package
v3.1.61 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2026 License: MIT, MIT Imports: 40 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddAssigneeIfNotAssigned

func AddAssigneeIfNotAssigned(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, assigneeID int64, notify bool) (comment *issues_model.Comment, err error)

AddAssigneeIfNotAssigned adds an assignee only if he isn't already assigned to the issue. Also checks for access of assigned user

func AddLabel

func AddLabel(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, label *issues_model.Label) error

AddLabel adds a new label to the issue.

func AddLabels

func AddLabels(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, labels []*issues_model.Label) error

AddLabels adds a list of new labels to the issue.

func CanDoerChangeReviewRequests

func CanDoerChangeReviewRequests(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, posterID int64) bool

CanDoerChangeReviewRequests returns if the doer can add/remove review requests of a PR

func ChangeContent

func ChangeContent(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, content string, contentVersion int) error

ChangeContent changes issue content, as the given user.

func ChangeIssueRef

func ChangeIssueRef(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, ref string) error

ChangeIssueRef changes the branch of this issue, as the given user.

func ChangeMilestoneAssign

func ChangeMilestoneAssign(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, oldMilestoneID int64) (err error)

ChangeMilestoneAssign changes assignment of milestone for issue.

func ChangeTimeEstimate

func ChangeTimeEstimate(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, timeEstimate int64) (err error)

ChangeTimeEstimate changes the time estimate of this issue, as the given user.

func ChangeTitle

func ChangeTitle(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, title string) error

ChangeTitle changes the title of this issue, as the given user.

func ClearLabels

func ClearLabels(ctx context.Context, issue *issues_model.Issue, doer *user_model.User) error

ClearLabels clears all of an issue's labels

func CloseIssue

func CloseIssue(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, commitID string) error

CloseIssue close an issue.

func CreateCommentReaction

func CreateCommentReaction(ctx context.Context, doer *user_model.User, comment *issues_model.Comment, content string) (*issues_model.Reaction, error)

CreateCommentReaction creates a reaction on a comment.

func CreateIssueComment

func CreateIssueComment(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, issue *issues_model.Issue, content string, attachments []string) (*issues_model.Comment, error)

CreateIssueComment creates a plain issue comment.

func CreateIssueReaction

func CreateIssueReaction(ctx context.Context, doer *user_model.User, issue *issues_model.Issue, content string) (*issues_model.Reaction, error)

CreateIssueReaction creates a reaction on an issue.

func CreateRefComment

func CreateRefComment(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, issue *issues_model.Issue, content, commitSHA string) error

CreateRefComment creates a commit reference comment to issue.

func DeleteComment

func DeleteComment(ctx context.Context, doer *user_model.User, comment *issues_model.Comment) error

DeleteComment deletes the comment

func DeleteIssue

func DeleteIssue(ctx context.Context, doer *user_model.User, issue *issues_model.Issue) error

DeleteIssue deletes an issue

func DeleteIssuesByRepoID

func DeleteIssuesByRepoID(ctx context.Context, repoID int64) (attachmentPaths []string, err error)

DeleteIssuesByRepoID deletes issues by repositories id

func DeleteNotPassedAssignee

func DeleteNotPassedAssignee(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, assignees []*user_model.User) (err error)

DeleteNotPassedAssignee deletes all assignees who aren't passed via the "assignees" array

func DeleteOrphanedIssues

func DeleteOrphanedIssues(ctx context.Context) error

DeleteOrphanedIssues delete issues without a repo

func GetDefaultTemplateConfig

func GetDefaultTemplateConfig() api.IssueConfig

func GetRefEndNamesAndURLs

func GetRefEndNamesAndURLs(issues []*issues_model.Issue, repoLink string) (map[int64]string, map[int64]string)

GetRefEndNamesAndURLs retrieves the ref end names (e.g. refs/heads/branch-name -> branch-name) and their respective URLs.

func GetSuggestion

func GetSuggestion(ctx context.Context, repo *repo_model.Repository, isPull optional.Option[bool], keyword string) ([]*structs.Issue, error)

func GetTemplateConfig

func GetTemplateConfig(gitRepo *git.Repository, path string, commit *git.Commit) (api.IssueConfig, error)

GetTemplateConfig loads the given issue config file. It never returns a nil config.

func GetTemplateConfigFromDefaultBranch

func GetTemplateConfigFromDefaultBranch(repo *repo.Repository, gitRepo *git.Repository) (api.IssueConfig, error)

GetTemplateConfigFromDefaultBranch returns the issue config for this repo. It never returns a nil config.

func HasTemplatesOrContactLinks(repo *repo.Repository, gitRepo *git.Repository) bool

func IsCodeOwnerFile

func IsCodeOwnerFile(f string) bool

func IsTemplateConfig

func IsTemplateConfig(path string) bool

IsTemplateConfig returns if the given path is a issue config file.

func LoadCommentPushCommits

func LoadCommentPushCommits(ctx context.Context, c *issues_model.Comment) error

LoadCommentPushCommits Load push commits

func NewIssue

func NewIssue(ctx context.Context, repo *repo_model.Repository, issue *issues_model.Issue, labelIDs []int64, uuids []string, assigneeIDs []int64, projectID int64) error

NewIssue creates new issue with labels for repository.

func ParseTemplatesFromDefaultBranch

func ParseTemplatesFromDefaultBranch(repo *repo.Repository, gitRepo *git.Repository) (ret struct {
	IssueTemplates []*api.IssueTemplate
	TemplateErrors map[string]error
},
)

ParseTemplatesFromDefaultBranch parses the issue templates in the repo's default branch, returns valid templates and the errors of invalid template files (the errors map is guaranteed to be non-nil).

func RemoveLabel

func RemoveLabel(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, label *issues_model.Label) error

RemoveLabel removes a label from issue by given ID.

func ReopenIssue

func ReopenIssue(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, commitID string) error

ReopenIssue reopen an issue. FIXME: If some issues dependent this one are closed, should we also reopen them?

func ReplaceLabels

func ReplaceLabels(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, labels []*issues_model.Label) error

ReplaceLabels removes all current labels and add new labels to the issue.

func ReviewRequest

func ReviewRequest(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, permDoer *access_model.Permission, reviewer *user_model.User, isAdd bool) (comment *issues_model.Comment, err error)

ReviewRequest add or remove a review request from a user for this PR, and make comment for it.

func ReviewRequestNotify

func ReviewRequestNotify(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, reviewNotifiers []*ReviewRequestNotifier)

func TeamReviewRequest

func TeamReviewRequest(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, reviewer *organization.Team, isAdd bool) (comment *issues_model.Comment, err error)

TeamReviewRequest add or remove a review request from a team for this PR, and make comment for it.

func ToggleAssigneeWithNotify

func ToggleAssigneeWithNotify(ctx context.Context, issue *issues_model.Issue, doer *user_model.User, assigneeID int64) (removed bool, comment *issues_model.Comment, err error)

ToggleAssigneeWithNoNotify changes a user between assigned and not assigned for this issue, and make issue comment for it.

func UpdateAssignees

func UpdateAssignees(ctx context.Context, issue *issues_model.Issue, oneAssignee string, multipleAssignees []string, doer *user_model.User) (err error)

UpdateAssignees is a helper function to add or delete one or multiple issue assignee(s) Deleting is done the GitHub way (quote from their api documentation): https://developer.github.com/v3/issues/#edit-an-issue "assignees" (array): Logins for Users to assign to this issue. Pass one or more user logins to replace the set of assignees on this Issue. Send an empty array ([]) to clear all assignees from the Issue.

func UpdateComment

func UpdateComment(ctx context.Context, c *issues_model.Comment, contentVersion int, doer *user_model.User, oldContent string) error

UpdateComment updates information of comment.

func UpdateIssuesCommit

func UpdateIssuesCommit(ctx context.Context, doer *user_model.User, repo *repo_model.Repository, commits []*repository.PushCommit, branchName string) error

UpdateIssuesCommit checks if issues are manipulated by commit message.

Types

type ReviewRequestNotifier

type ReviewRequestNotifier struct {
	Comment    *issues_model.Comment
	IsAdd      bool
	Reviewer   *user_model.User
	ReviewTeam *org_model.Team
}

func PullRequestCodeOwnersReview

func PullRequestCodeOwnersReview(ctx context.Context, pr *issues_model.PullRequest) ([]*ReviewRequestNotifier, error)

Source Files

  • assignee.go
  • comments.go
  • commit.go
  • content.go
  • issue.go
  • label.go
  • milestone.go
  • pull.go
  • reaction.go
  • status.go
  • suggestion.go
  • template.go

Jump to

Keyboard shortcuts

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