issue

package
v3.1.25 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2026 License: 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