···353353 Find(&labelIDs)
354354}
355355356356+// GetLabelIDsInOrgByNames returns a list of labelIDs by names in a given org.
357357+func GetLabelIDsInOrgByNames(ctx context.Context, orgID int64, labelNames []string) ([]int64, error) {
358358+ labelIDs := make([]int64, 0, len(labelNames))
359359+ return labelIDs, db.GetEngine(ctx).Table("label").
360360+ Where("org_id = ?", orgID).
361361+ In("name", labelNames).
362362+ Asc("name").
363363+ Cols("id").
364364+ Find(&labelIDs)
365365+}
366366+356367// BuildLabelNamesIssueIDsCondition returns a builder where get issue ids match label names
357368func BuildLabelNamesIssueIDsCondition(labelNames []string) *builder.Builder {
358369 return builder.Select("issue_label.issue_id").
+1-1
modules/references/references.go
···3232 // issueNumericPattern matches string that references to a numeric issue, e.g. #1287
3333 issueNumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[|\'|\")([#!][0-9]+)(?:\s|$|\)|\]|\'|\"|[:;,.?!]\s|[:;,.?!]$)`)
3434 // issueAlphanumericPattern matches string that references to an alphanumeric issue, e.g. ABC-1234
3535- issueAlphanumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[|\"|\')([A-Z]{1,10}-[1-9][0-9]*)(?:\s|$|\)|\]|:|\.(\s|$)|\"|\')`)
3535+ issueAlphanumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[|\"|\')([A-Z]{1,10}-[1-9][0-9]*)(?:\s|$|\)|\]|:|\.(\s|$)|\"|\'|,)`)
3636 // crossReferenceIssueNumericPattern matches string that references a numeric issue in a different repository
3737 // e.g. org/repo#12345
3838 crossReferenceIssueNumericPattern = regexp.MustCompile(`(?:\s|^|\(|\[)([0-9a-zA-Z-_\.]+/[0-9a-zA-Z-_\.]+[#!][0-9]+)(?:\s|$|\)|\]|[:;,.?!]\s|[:;,.?!]$)`)