您可以使用项目元数据(例如分配人和应用于问题的标签)以及项目中的字段的筛选器来自定义哪些项目显示在您的视图中。您可以组合筛选器并将它们保存为视图。有关更多信息,请参阅“管理您的视图”。
要筛选视图,请单击并开始键入您要筛选的字段和值。键入时,将会显示可能的值。您还可以通过按 Command+K(Mac)或 Ctrl+K(Windows/Linux)打开项目命令面板,然后键入“按筛选”以从可用筛选器中进行选择。
在看板布局中,您可以单击项目数据以筛选具有该值的所有项目。例如,单击分配人以仅显示该分配人的项目。要删除筛选器,请再次单击项目数据。
使用多个筛选条件相当于逻辑 AND 筛选。例如,label:bug status:"In progress"
将返回带有 bug
标签且状态为“进行中”的项目。您还可以为同一字段提供多个值,以用作逻辑 OR 筛选。例如,label:bug,support
将返回带有 bug
或 support
标签的项目。项目目前不支持跨多个字段的逻辑 OR 筛选。
您在使用项目洞察创建图表时,可以使用相同的筛选条件,以便筛选用于创建图表的数据。有关更多信息,请参阅“关于项目洞察”。
当您筛选视图并添加项目时,筛选后的元数据将应用于新项目。例如,如果您按 status:"In progress"
筛选,然后添加项目,则新项目的状态将设置为“进行中”。
您可以使用筛选条件创建用于非常特定用途的视图。例如,您可以使用 assignee:@me status:todo last-updated:5days
创建一个视图,其中显示分配给当前用户、状态为“待办”且在过去五天内未更新的所有工作。您可以通过使用否定筛选条件创建分类视图,例如 no:label no:assignee repo:octocat/game
,这将显示位于 octocat/game
存储库中、没有标签且没有分配人的项目。
筛选字段
限定符 | 示例 |
---|---|
assignee:用户名 | assignee:octocat 将显示分配给 @octocat 的项目。 |
label:标签 | label:bug 将显示应用了“bug”标签的项目。 |
field:值 | status:done 将显示“状态”字段设置为“已完成”的项目。 |
reviewers:用户名 | reviewers:octocat 将显示 @octocat 已审查过的项目。 |
milestone:"里程碑" | milestone:"QA release" 将显示分配给“QA 发布”里程碑的项目。 |
组合筛选条件
您可以为多个字段创建筛选条件。您的视图将显示与所有筛选条件匹配的项目。
限定符 | 示例 |
---|---|
assignee:用户名 field:值 | assignee:octocat priority:1 将显示分配给 @octocat 且优先级为 1 的项目。 |
您还可以筛选同一字段中的多个值。如果您用逗号分隔这些值,则您的视图将显示与任何提供的匹配的值匹配的项目。
限定符 | 示例 |
---|---|
assignee:用户名,用户名 | assignee:octocat,stevecat 将显示分配给 @octocat 或 @stevecat 的项目。 |
要筛选同一字段中的多个值,但显示与所有提供的匹配的值匹配的项目,您可以为每个值重复限定符。
限定符 | 示例 |
---|---|
assignee:用户名 assignee:用户名 | assignee:octocat assignee:stevecat 将显示同时分配给 @octocat 和 @stevecat 的项目。 |
您还可以组合一些匹配项目和所有匹配项目的筛选条件。
限定符 | 示例 |
---|---|
field:值,值 assignee:用户 assignee:用户 | label:bug,onboarding assignee:octocat assignee:stevecat 将显示具有 bug 或 onboarding 标签,但同时分配给 @octocat 和 @stevecat 的项目。 |
否定筛选条件
您可以通过在筛选条件前添加连字符来反转任何筛选条件,包括组合筛选条件。
限定符 | 示例 |
---|---|
-assignee:用户名 | -assignee:octocat 将不会显示分配给 @octocat 的任何项目。 |
-field:值 | -status:done 将不会显示状态为“已完成”的任何项目。 |
-field:值,值 | -priority:1,2 将不会显示优先级为 1 或 2 的任何项目。 |
筛选缺少值的项目
您可以使用 no:
筛选缺少值的项目
限定符 | 示例 |
---|---|
no:assignee | no:assignee 将显示任何未分配的项目。 |
no:reviewers | no:reviewers 将显示没有审查人的拉取请求。 |
no:字段 | no:priority 将显示优先级字段为空的项目。 |
您也可以在前面添加连字符以否定此行为,并且仅返回具有值的项目。
限定符 | 示例 |
---|---|
-no:assignee | -no:assignee 将仅显示已分配的项目。 |
-no:字段 | -no:priority 将仅显示优先级字段中具有值的项目。 |
按项目位置筛选
使用 repo
限定符筛选特定存储库中的项目。
限定符 | 示例 |
---|---|
repo:所有者/仓库 | repo:octocat/game 将显示“octocat/game”存储库中的项目。 |
筛选项目状态或项目类型
您可以使用 is
限定符筛选特定类型的项目或处于特定状态的项目。
限定符 | 示例 |
---|---|
is:状态 | is:open 将显示打开的问题和拉取请求。 |
is:closed 将显示已关闭的问题和拉取请求。 | |
is:merged 将显示任何已合并的拉取请求。 | |
is:类型 | is:issue 将仅显示问题。 |
is:pr 将仅显示拉取请求。 | |
is:draft 将显示草稿问题和草稿拉取请求。 | |
is:issue is:open 将显示打开的问题。 |
按关闭原因筛选
您可以按已关闭项目的关闭原因进行筛选。
限定符 | 示例 |
---|---|
reason:关闭原因 | reason:completed 将显示因已完成而关闭的项目。 |
reason:"not planned" 将显示关闭原因为“未计划”的已关闭项目。 | |
reason:reopened 将显示在之前关闭后重新打开的项目。 |
筛选项目上次更新的时间
您可以使用 {数字}days
语法筛选项目上次更新的时间。
限定符 | 示例 |
---|---|
last-updated:数字days | last-updated:1day 将显示上次更新时间为一天或更长时间之前的项目。 |
last-updated:7days 将显示上次更新时间为七天或更长时间之前的项目。 | |
-last-updated:10days 将显示在过去十天内已更新的项目。 |
GitHub 在以下情况下将问题或拉取请求标记为已更新
- 创建
- 重新打开
- 编辑
- 评论
- 添加标签
- 更新受让人
- 更新里程碑
- 转移到另一个存储库
筛选数字、日期和迭代字段
您可以使用 >
、>=
、<
和 <=
比较数字、日期和迭代字段。日期应使用 YYYY-MM-DD
格式提供。
限定符 | 示例 |
---|---|
field:>值 | priority:>1 将显示优先级大于 1 的项目。 |
field:>=值 | date:>=2022-06-01 将显示日期为“2022-06-01”或之后的项目。 |
field:<值 | iteration:<"Iteration 5" 将显示迭代时间早于“Iteration 5”的项目。 |
field:<=值 | points:<=10 将显示点数为 10 或更少的项目。 |
您还可以使用 ..
筛选包含的范围。在处理范围时,可以将 *
作为通配符运算符提供。
限定符 | 示例 |
---|---|
field:值..值 | priority:1..3 将显示优先级为 1、2 或 3 的项目。 |
date:2022-01-01..2022-12-31 将显示 2022 年的项目。 | |
points:*..10 将显示点数值最多为 10 的项目。 | |
iteration:"Iteration 1..Iteration 4" 将显示“Iteration 1”、“Iteration 2”、“Iteration 3”和“Iteration 4”中的项目。 |
使用关键字筛选受让人和审查人
您可以在筛选条件中使用 @me
关键字来表示您自己。
限定符 | 示例 |
---|---|
field:@me | assignee:@me 将显示分配给登录用户的项目。 |
-reviewers:@me 将显示登录用户尚未审查过的项目。 |
使用关键字筛选迭代和日期字段
您可以使用 @previous
、@current
和 @next
关键字筛选相对于当前迭代的迭代。您还可以使用 @today
筛选当前日期。
限定符 | 示例 |
---|---|
field:@关键字 | iteration:@current 将显示分配给当前迭代的项目。 |
iteration:@next 将显示分配给下一迭代的项目。 | |
field:@today | date:@today 将显示日期设置为当前日期的项目。 |
您还可以将 >
、>=
、<
、<=
、+
、-
和 ..
范围与关键字一起使用。
限定符 | 示例 |
---|---|
field:@关键字..@关键字+n | iteration:@current..@current+3 将显示分配给当前迭代和接下来三个迭代的项目。 |
date:@today..@today+7 将显示日期设置为今天或未来七天的项目。 | |
field:<@关键字 | iteration:<@current 将显示分配给当前迭代之前的任何迭代的项目。 |
field:>=@关键字 | date:>=@today 将显示日期设置为今天或之后的项目。 |
按文本字段筛选
您可以按特定文本字段进行筛选,或在所有文本字段和标题中使用通用文本筛选。使用包含空格或特殊字符的文本进行筛选时,请将文本括在 "
或 '
引号中。
限定符 | 示例 |
---|---|
field:"文本" | title:"Bug fix" 将显示标题完全匹配“Bug fix”的项目。 |
field:文本 | note:complete 将显示注释文本字段完全匹配“complete”的项目。 |
文本 | API 将显示标题或任何其他文本字段中包含“API”的项目。 |
field:文本 文本 | label:bug rendering 将显示带有“bug”标签且标题或任何其他文本字段中包含“rendering”的项目。 |
您还可以使用 *
作为通配符。
限定符 | 示例 |
---|---|
字段:*TEXT* | 标签:*bug* 将显示包含“bug”一词的标签的项目。 |
字段:TEXT* | 标题:API* 将显示标题以“API”开头的项目。 |
字段:*TEXT | 标签:*support 将显示标签以“support”结尾的项目。 |
按问题类型筛选
如果您的组织使用问题类型,您可以筛选特定类型。
注意
问题类型、子问题和高级问题搜索目前处于组织的可选加入公开预览版中。要了解更多信息并将您的组织添加到候补名单,请参阅“GitHub 博客”。
限定符 | 示例 |
---|---|
类型:"ISSUE TYPE" | 类型:"bug" 将显示类型为“bug”的问题。 |
按父问题筛选
您可以通过其父问题筛选子问题。
注意
问题类型、子问题和高级问题搜索目前处于组织的可选加入公开预览版中。要了解更多信息并将您的组织添加到候补名单,请参阅“GitHub 博客”。
限定符 | 示例 |
---|---|
父问题:OWNER/REPO#ISSUE NUMBER | 父问题:octocat/game#4 将显示以 octocat/game 中的 #4 问题作为父问题的问题。 |