Skip to main content

筛选 projects

使用筛选器选择哪些项显示在项目视图中。

可以使用项元数据的筛选器(如代理人和应用于问题的标签)以及按项目中的字段来自定义视图中显示的项。 可以合并筛选并将其保存为视图。 有关详细信息,请参阅“管理视图”。

若要筛选视图,请单击 并开始键入要筛选的字段和值。 当您输入时,可能的值将会出现。 还可按 Command+K (Mac) 或 Ctrl+K (Windows/Linux) 来打开项目命令面板,然后键入“筛选依据”以从可用筛选器中进行选择。

“Mona 的项目”的屏幕截图。 标有“按关键字或字段筛选”的字段以橙色边框突出显示。

在板布局中,您可以单击项目数据以过滤具有该值的项。 例如,单击某个受理人以仅显示该受理人的项。 要移除过滤器,请再次单击项数据。

使用多个筛选器将充当逻辑 AND 筛选器。 例如,label:bug status:"In progress" 将返回带 bug 标签且状态为“正在进行”的项。 还可以为同一字段提供多个值,以充当逻辑 OR 筛选器。 例如,label:bug,support 将返回带 bugsupport 标签的项。 Projects 当前不支持跨多个字段的逻辑 OR 筛选器。

对于使用 Projects 的见解创建的图表,可使用相同的筛选器来筛选用于创建图表的数据。 有关详细信息,请参阅“关于 Projects 的见解”。

筛选视图并添加项时,筛选后的元数据将应用到新项。 例如,如果将筛选条件设置为 status:"In progress",并添加项,则新项的状态将设置为“正在进行”。

可以使用筛选器生成用于非常特定的目的的视图。 例如,可以使用 assignee:@me status:todo last-updated:5days 创建一个视图,来显示已分配给当前用户,状态为“todo”,且在过去五天内无任何更新的所有工作。 可以使用负筛选器(如 no:label no:assignee repo:octocat/game)创建会审视图,从而显示没有标签和被分派人且位于 octocat/game 仓库中的项。

筛选字段

限定符示例
assignee:USERNAMEassignee:octocat 将显示分配给 @octocat 的项。
label:LABELlabel:bug 将显示应用了“bug”标签的项。
field:VALUEstatus:done 将显示“状态”字段设置为“已完成”的项。
reviewers:USERNAMEreviewers:octocat 将显示已由 @octocat 审阅的项。
milestone:"MILESTONE"milestone:"Beta release" 将显示分配给“Beta 版本”里程碑的项。

组合筛选器

可以为多个字段创建筛选器。 视图将显示与所有筛选器匹配的项。

限定符示例
assignee:USERNAME field:VALUEassignee:octocat priority:1 将显示优先级为 1 的分配给 @octocat 的项 。

还可以筛选同一字段中的多个值。 如果用逗号分隔这些值,则视图将显示与提供的任何值匹配的项。

限定符示例
assignee:USERNAME,USERNAMEassignee:octocat,stevecat 将显示分配给 @octocat 或 @stevecat 的项。

若要筛选同一字段中的多个值,但显示与所有提供的值匹配的项,则可以为每个值重复限定符。

限定符示例
assignee:USERNAME assignee:USERNAMEassignee:octocat assignee:stevecat 将显示同时分配给 @octocat 和 @stevecat 的项。

还可以组合与部分项匹配和与所有项匹配的筛选器。

限定符示例
field:VALUE,VALUE assignee:USER assignee:USERlabel:bug,onboarding assignee:octocat assignee:stevecat 将显示具有 bug 或 onboarding 标签但同时分配给 @octocat 和 @stevecat 的项。

否定筛选器

可以通过添加连字符作为前缀来反转任何筛选器,包括组合。

限定符示例
-assignee:USERNAME-assignee:octocat 不会显示分配给 @octocat 的任何项。
-field:VALUE-status:done 不会显示状态为“已完成”的任何项。
-field:VALUE,VALUE-priority:1,2 不会显示优先级为 1 或 2 的任何项。

筛选缺少值的项

可以使用 no: 来筛选缺少值的项

限定符示例
no:assigneeno:assignee 将显示任何未分配的项。
no:reviewersno:reviewers 将显示没有审阅者的拉取请求。
no:FIELDno:priority 将显示优先级字段为空的项。

还可以添加连字符作为前缀来否定此行为,并仅返回具有值的项。

限定符示例
-no:assignee-no:assignee 将仅显示已分配的项。
-no:FIELD-no:priority 将仅显示优先级字段中具有值的项。

按项位置筛选

使用 repo 限定符可筛选位于特定存储库中的项。

限定符示例
repo:OWNER/REPOrepo:octocat/game 将显示位于“octocat/game”存储库中的项。

筛选项状态或项类型

可以使用 is 限定符筛选特定类型的项或处于特定状态的项。

限定符示例
is:STATEis:open 将显示打开的问题和拉取请求。
is:closed 将显示关闭的问题和拉取请求。
is:merged 将显示任何合并的拉取请求。
is:TYPEis:issue 将仅显示问题。
is:pr 将仅显示拉取请求。
is:draft 将显示草稿问题和草稿拉取请求。
is:issue is:open 将显示打开的问题。

按关闭原因筛选

可以按关闭原因筛选关闭的项。

限定符示例
reason:CLOSE REASONreason:completed 将显示由于已完成而关闭的项。
reason:"not planned" 将显示原因为“未计划”的已关闭项。
reason:reopened 将显示之前关闭后已重新打开的项。

按“跟踪依据”字段筛选

可以筛选任务列表中另一个问题所跟踪的问题。 有关详细信息,请参阅“创建任务列表”。

限定符示例
tracked-by:"OWNER/REPO#ISSUE NUMBER"tracked-by:"octocat/game#11" 将显示 octocat/game 存储库的问题 #11 中的任务列表所跟踪的任何问题。

筛选项的上次更新时间

可以使用 {number}days 语法筛选项的上次更新时间。

限定符示例
last-updated:NUMBERdayslast-updated:1day 将显示上次更新时间为一天或多天前的项。
last-updated:7days 将显示上次更新时间为七天或更多天前的项。
-last-updated:10days 将显示过去十天内更新的项。

GitHub 会在以下情况下将问题或拉取请求标记为已更新:

  • 创建
  • 已重新打开
  • 已编辑
  • 已评论
  • 已标记
  • 被分派人已更新
  • 里程碑已更新
  • 转移到其他存储库

筛选数字、日期和迭代字段

可以使用 >>=<<= 来比较数字、日期和迭代字段。 日期应以 YYYY-MM-DD 格式提供。

限定符示例
field:>VALUEpriority:>1 将显示优先级大于 1 的项。
field:>=VALUEdate:>=2022-06-01 将显示日期为“2022-06-01”或更晚的项。
field:<VALUEiteration:<"Iteration 5" 将显示其迭代在“迭代 5”之前的项。
field:<=VALUEpoints:<=10 将显示分数不超过 10 的项。

还可以使用 .. 筛选包含范围。 使用范围时,* 可作为通配符运算符提供。

限定符示例
field:VALUE..VALUEpriority:1..3 将显示优先级为 1、2 或 3 的项。
date:2022-01-01..2022-12-31 将显示 2022 年的项。
points:*..10 将显示分数值最多为 10 的项。
iteration:"Iteration 1".."Iteration 4" 将显示“迭代 1”、“迭代 2”、“迭代 3”和“迭代 4”中的项。

使用关键字筛选代理人和审阅者

可以使用 @me 关键字在筛选器中表示自己。

限定符示例
field:@meassignee:@me 将显示分配给已登录用户的项。
-reviewers:@me 将显示尚未由已登录用户审阅的项。

使用关键字筛选迭代和日期字段

可以使用 @previous@current@next 关键字来筛选相对于当前迭代的迭代。 还可以使用 @today 筛选当前日期。

限定符示例
field:@keyworditeration:@current 将显示分配给当前迭代的项。
iteration:@next 将显示分配给下一次迭代的项。
field:@todaydate:@today 将显示日期设置为当前日期的项。

还可以将 >>=<<=+-.. 范围与关键字一起使用。

限定符示例
field:@keyword..@keyword+niteration:@current..@current+3 将显示分配给当前迭代和接下来的三次迭代的项。
date:@today..@today+7 将显示日期设置为今天或未来七天的项。
field:<@keyworditeration:<@current 将显示分配给当前迭代之前的任何迭代的项。
field:>=@keyworddate:>=@today 将显示日期设置为今天或更晚的项。

按文本字段筛选

可以按特定文本字段进行筛选,也可以对所有文本字段和标题使用通用文本筛选器。 使用包含空格或特殊字符的文本进行筛选时,请将文本用 "' 引号括起来。

限定符示例
field:"TEXT"title:"API deprecation" 将显示标题与“API 弃用”完全匹配的项。
field:TEXTnote:complete 将显示具有与“complete”完全匹配的注释文本字段的项。
TEXTAPI 将显示其标题或任何其他文本字段中具有“API”的项。
field:TEXT TEXTlabel:bug rendering 将显示其标题或任何其他文本字段中具有“bug”标签和“rendering”的项。

还可以将 * 用作通配符。

限定符示例
field:*TEXT*label:*bug* 将显示其标签包含单词“bug”的项。
field:TEXT*title:API* 将显示标题以“API”开头的项。
field:*TEXTlabel:*support 将显示其标签以“support”结尾的项。