你可以使用项目元数据(例如指派者和应用于问题的标签)以及项目中的字段,自定义哪些项目出现在视图中。你可以组合筛选器并将其保存为视图。有关更多信息,请参阅“管理视图”。
若要筛选视图,请单击 并开始输入你想要筛选的字段和值。在你输入时,将显示可能的值。你还可以通过按 Command+K(Mac)或 Ctrl+K(Windows/Linux)打开项目命令面板,然后输入“按以下内容筛选”以从可用筛选器中进行选择。
在看板布局中,你可以点击项目数据来过滤具有该值的数据。例如,点击一个受让人,只显示该受让人的项目。要移除过滤器,再次点击项目数据。
使用多个过滤器将作为逻辑 AND 过滤器。例如,label:bug status:"In progress"
将返回具有bug
标签和“进行中”状态的项目。你还可以为同一字段提供多个值,作为逻辑 OR 过滤器。例如,label:bug,support
将返回具有bug
或support
标签的项目。目前,Projects 不支持跨多个字段的逻辑 OR 过滤器。
对于你使用 Projects 的见解创建的图表,可以使用相同的过滤器,从而让你可以过滤用于创建图表的那些数据。更多信息,请参阅“关于 Projects 的见解”。
当你过滤一个视图,然后添加一个项目时,已过滤的元数据将应用于新项目。例如,如果你按status:"In progress"
过滤,并且添加一个项目,新项目的 status 将设置为“进行中”。
你可以使用过滤器来生成具有非常具体用途的视图。例如,你可以使用assignee:@me status:todo last-updated:5days
来创建当前用户分配的所有工作的视图,其状态为“待办”,且在过去五天内未更新。你可以使用否定过滤器来创建分类视图,例如no:label no:assignee repo:octocat/game
,它将显示没有标签且没有受让人,且位于octocat/game
存储库中的项目。
按字段过滤
限定词 | 示例 |
---|---|
assignee:USERNAME | assignee:octocat 将显示分配给 @octocat 的项目。 |
label:LABEL | label:bug 将显示应用了“bug”标签的项目。 |
field:VALUE | status:done 将显示“status”字段设置为“done”的项目。 |
reviewers:USERNAME | reviewers:octocat 将显示由 @octocat 评审的项目。 |
milestone:"MILESTONE" | milestone:"Beta release" 将显示分配给“Beta release”里程碑的项目。 |
组合过滤器
你可以为多个字段创建过滤器。你的视图将显示与所有过滤器匹配的项目。
限定词 | 示例 |
---|---|
assignee:USERNAME field:VALUE | assignee:octocat priority:1 将显示分配给 @octocat 且优先级为1的项目。 |
您还可以过滤同一字段中的多个值。如果您用逗号分隔值,您的视图将显示与任何提供的值匹配的项目。
限定词 | 示例 |
---|---|
assignee:USERNAME,USERNAME | assignee:octocat,stevecat 将显示分配给 @octocat 或 @stevecat 的项目。 |
要过滤同一字段中的多个值,但显示与所有提供的值匹配的项目,您可以为每个值重复限定符。
限定词 | 示例 |
---|---|
assignee:USERNAME assignee:USERNAME | assignee:octocat assignee:stevecat 将显示同时分配给 @octocat 和 @stevecat 的项目。 |
您还可以组合匹配某些项目和匹配所有项目的筛选器。
限定词 | 示例 |
---|---|
field:VALUE,VALUE assignee:USER assignee:USER | label: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:assignee | no:assignee 将显示任何未分配的项目。 |
no:reviewers | no:reviewers 将显示没有审阅者的拉取请求。 |
no:FIELD | no:priority 将显示优先级字段为空的项目。 |
您还可以添加连字符前缀来否定此行为,并仅返回具有值的项目。
限定词 | 示例 |
---|---|
-no:assignee | -no:assignee 将仅显示已分配的项目。 |
-no:FIELD | -no:priority 将仅显示优先级字段中具有值的项目。 |
按项目位置过滤
使用 repo
限定符过滤特定存储库中的项目。
限定词 | 示例 |
---|---|
repo:OWNER/REPO | repo:octocat/game 将显示“octocat/game”存储库中的项目。 |
按项目状态或项目类型过滤
您可以使用 is
限定符筛选特定类型的项目或处于特定状态的项目。
限定词 | 示例 |
---|---|
is:STATE | is:open 将显示开放的问题和请求拉取。 |
is:closed 将显示关闭的问题和请求拉取。 | |
is:merged 将显示所有合并的请求拉取。 | |
is:TYPE | is:issue 将仅显示问题。 |
is:pr 将仅显示请求拉取。 | |
is:draft 将显示草稿问题和草稿请求拉取。 | |
is:issue is:open 将显示开放的问题。 |
按关闭原因筛选
您可以按关闭原因筛选关闭的项目。
限定词 | 示例 |
---|---|
reason:CLOSE REASON | reason:completed 将显示因完成而关闭的项目。 |
reason:"not planned" 将显示具有“未计划”原因的关闭项目。 | |
reason:reopened 将显示在先前关闭后重新开放的项目。 |
按 tracked-by 字段筛选
您可以筛选由任务列表中另一个问题跟踪的问题。有关更多信息,请参阅“创建任务列表”。
限定词 | 示例 |
---|---|
tracked-by:"OWNER/REPO#ISSUE NUMBER" | tracked-by:"octocat/game#11" 将显示由 octocat/game 存储库的问题 #11 中的任务列表跟踪的任何问题。 |
筛选项目上次更新的时间
您可以使用 {number}days
语法筛选项目上次更新的时间。
限定词 | 示例 |
---|---|
last-updated:NUMBERdays | last-updated:1day 将显示一或多天前上次更新的项目。 |
last-updated:7days 将显示七或多天前上次更新的项目。 | |
-last-updated:10days 将显示在过去十天内更新的项目。 |
当问题或请求拉取
- 创建
- 重新打开
- 编辑
- 评论
- 标记
- 更新受让人
- 更新里程碑
- 转移到另一个存储库
时,GitHub 将其标记为已更新。
筛选数字、日期和迭代字段
限定词 | 示例 |
---|---|
字段:>值 | 优先级:>1 将显示优先级大于 1 的项目。 |
字段:>=值 | 日期:>=2022-06-01 将显示日期为“2022-06-01”或更晚的项目。 |
字段:<值 | 迭代:<"迭代 5" 将显示迭代早于“迭代 5”的项目。 |
字段:<=值 | 点数:<=10 将显示点数为 10 或更少的项目。 |
您还可以使用 ..
过滤包含范围。使用范围时,*
可用作通配符运算符。
限定词 | 示例 |
---|---|
字段:值..值 | 优先级:1..3 将显示优先级为 1、2 或 3 的项目。 |
日期:2022-01-01..2022-12-31 将显示 2022 年的项目。 | |
点数:*..10 将显示点数值为最多 10(含)的项目。 | |
迭代:"迭代 1..迭代 4" 将显示“迭代 1”、“迭代 2”、“迭代 3”和“迭代 4”中的项目。 |
使用关键字过滤指派人和审阅人
您可以在过滤器中使用 @me
关键字来表示自己。
限定词 | 示例 |
---|---|
字段:@me | 指派人:@me 将显示指派给已登录用户的项目。 |
-审阅人:@me 将显示尚未由已登录用户审阅的项目。 |
使用关键字过滤迭代和日期字段
您可以使用 @previous
、@current
和 @next
关键字来过滤相对于当前迭代的迭代。您还可以使用 @today
过滤当前日期。
限定词 | 示例 |
---|---|
字段:@keyword | 迭代:@current 将显示指派给当前迭代的项目。 |
迭代:@next 将显示指派给下一个迭代的项目。 | |
字段:@today | 日期:@today 将显示日期设置为当前日期的项目。 |
您还可以将 >
、>=
、<
、<=
、+
、-
和 ..
范围与关键字一起使用。
限定词 | 示例 |
---|---|
字段:@keyword..@keyword+n | 迭代:@current..@current+3 将显示指派给当前迭代和接下来三个迭代的项目。 |
日期:@today..@today+7 将显示日期设置为今天或接下来七天的项目。 | |
字段:<@keyword | 迭代:<@current 将显示指派给当前迭代之前任何迭代的项目。 |
字段:>=@keyword | 日期:>=@today 将显示日期设置为今天或更晚的项目。 |
按文本字段过滤
您可以按特定文本字段过滤,或对所有文本字段和标题使用通用文本过滤器。使用包含空格或特殊字符的文本进行过滤时,请用 "
或 '
引号将文本括起来。
限定词 | 示例 |
---|---|
字段:"文本" | 标题:“API 弃用”将显示标题完全匹配“API 弃用”的项目。 |
字段:文本 | 注释:已完成将显示注释文本字段完全匹配“已完成”的项目。 |
文本 | API 将显示标题或任何其他文本字段中包含“API”的项目。 |
字段:文本 文本 | 标签:错误呈现将显示带有“错误”标签的项目,并且标题或任何其他文本字段中包含“呈现”。 |
您还可以使用 *
作为通配符。
限定词 | 示例 |
---|---|
字段:*文本* | 标签:*错误* 将显示标签中包含单词“错误”的项目。 |
字段:文本* | 标题:API* 将显示标题以“API”开头的项目。 |
字段:*文本 | 标签:*支持 将显示标签以“支持”结尾的项目。 |