
jimschubert/labeler-actionlabeler-action 是一个GitHub Action,可基于issues和pull requests(PR)标题或描述中的正则表达式模式自动应用标签。v2及以上版本支持通过pull_request_target事件为forked仓库的PR添加标签,解决了传统pull_request事件无法访问基础仓库密钥的限制。
适用于需要自动化标签管理的GitHub仓库,特别是社区贡献活跃、需要根据内容自动分类issues和PR的项目。例如:
.github/labeler.yml该Action需要在仓库中创建配置文件 .github/labeler.yml,支持简单模式和完整模式两种配置方式。配置文件必须存在于发布分支(如master、main等)。
适用于基础场景,为issues和PR应用相同的评论和标签规则:
yaml# labeler "简单" 模式 # 评论同时应用于issues和PR # 如需更复杂的配置,请考虑使用"完整"模式 comment: | 👍 感谢提交! 🏷 我已根据您的issue中特殊文本应用了匹配的标签。 请检查标签并进行必要的调整。 # 标签配置: # - 键为标签名称 # - 值为字符串模式数组,用于匹配issues/PR的标题+正文 labels: 'bug': - '\bbug[s]?\b' # 匹配"bug"或"bugs" 'help wanted': - '\bhelp( wanted)?\b' # 匹配"help"或"help wanted" 'duplicate': - '\bduplicate\b' # 匹配"duplicate" - '\bdupe\b' # 匹配"dupe" 'enhancement': - '\benhancement\b' # 匹配"enhancement" 'question': - '\bquestion\b' # 匹配"question"
提供更精细的控制,支持分别配置issues和PR的启用状态、评论内容及标签规则:
yaml# labeler "完整" 模式 # 启用标签功能的对象(issues、PR或两者) enable: issues: true # 启用issues标签 prs: true # 启用PR标签 # 评论配置,可针对issues和PR设置不同内容 comments: issues: | 感谢提交issue! 我已根据标题和描述中的特殊文本应用了匹配的标签。 请检查标签并进行必要的调整。 prs: | 感谢您的贡献! 我已根据标题和描述中的特殊文本应用了匹配的标签。 请检查标签并进行必要的调整。 # 标签配置: # - 键为标签名称 # - 值为包含以下字段的对象: # - include: 匹配模式数组(任意模式匹配则应用标签) # - exclude: 排除模式数组(任意模式匹配则忽略标签) # - branches: 可选分支数组(仅当PR目标分支匹配时应用标签) # 所有模式均为正则表达式,全局应用于标题+正文 labels: 'bug': include: - '\bbug[s]?\b' # 匹配"bug"或"bugs" exclude: [] branches: - 'master' # 仅应用于目标分支为master的PR - 'main' # 仅应用于目标分支为main的PR 'help wanted': include: - '\bhelp( me)?\b' # 匹配"help"或"help me" exclude: - '\b\[test(ing)?\]\b' # 排除包含"[test]"或"[testing]"的内容 'enhancement': include: - '\bfeat\b' # 匹配"feat" exclude: []
需创建工作流定义文件(如 .github/workflows/community.yml),配置触发事件和Action执行步骤。
yamlname: 社区标签管理 on: issues: types: [opened, edited, milestoned] # 触发issues标签的事件类型 pull_request_target: types: [opened] # 触发PR标签的事件类型(使用pull_request_target支持forks) jobs: labeler: runs-on: ubuntu-latest steps: - name: 应用标签 id: labeler uses: jimschubert/labeler-action@v2 # 使用v2及以上版本 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # 工作流默认提供的令牌,具有API访问权限
opened、edited事件;PR必须使用pull_request_target而非pull_request,以支持从forked仓库发起的PR(pull_request在fork场景下无法访问基础仓库密钥)。public_repo作用域的个人访问令牌并存储为secret。@v2或具体版本号(如@v2.1.0),避免直接使用@main分支。本项目采用Apache 2.0许可证。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务