GitHub Issues是协作的绝佳方式,但由于存储库范围的限制和缺乏拖放式待办事项清单及可视化看板,GitHub Issues并不是可视化和跟踪工作的完美方法。
在GitHub中管理跨存储库工作的中心枢纽是GitHub Projects。它建立在GitHub Issues之上,支持来自多达50个存储库的issue。
GitHub Projects是一个灵活的协作平台。用户可以自定义待办事项清单和看板,并与其他团队或社区分享它们。
在撰写本书时,Git项目正在进行彻底的改造。新部分目前被称为GitHub Projects(beta)或New GitHub Issues,当准备就绪时将取代GitHub Projects。目前还不确定最终名称是什么。
目前,新的测试体验不像Jira或Azure Boards那样成熟。但是有一个出色的团队正在开发它,作者相信如果准备完善,它将是市场上最好的解决方案之一!
请注意,每个月都会推出很多新功能,本书中的截图可能很快就会过时。读者应关注变更日志(https://github.blog/changelog/),以便及时了解发布的所有内容。
GitHub Projects可以包含来自多个存储库的issue和拉取请求。因此,它们必须在组织级别或在用户个人存储库配置文件中创建。要创建新项目,请导航到组织或GitHub配置文件的主页面上的“Projects”并单击“New Project”(见图2-14)。
项目中的默认视图是表视图。它被优化用于输入数据。按Ctrl+空格键或单击表格的最后一行,可以直接输入新工作项的名称,然后将该项转换为issue。或者可以输入#并选择一个存储库,然后选择可用的issue或拉取请求(见图2-15)。
图2-14 在配置文件或组织中创建新项目
图2-15 将issue、拉取请求或草稿工作项添加到待办清单中
用户可以轻松地向项目添加不同的元数据字段。支持如下类型:
● 日期字段: 值必须是有效的日期。
● 数字字段: 值必须是数字。
● 单选: 值必须从值列表中选择。
● 文本字段: 值可以是任何文本。
● 迭代: 值必须从一组日期范围中选择。过去的日期被自动标记为完成,日期范围中包括当前日期的将被标记为正在进行。
要添加新字段,请按“Cmd+K”组合键(在Mac环境下)或“Ctrl+K”组合键(在Windows/Linux环境下)打开命令面板,然后输入“Create new field”。还可以单击右上角的加号并选择“+New field”。输入字段名称并选择字段类型。
项目的默认视图是高度灵活的表视图,用户可以拖放对行进行排序并按优先顺序输入数据。可以通过打开列标题中的菜单或打开命令面板(按“Cmd+K”或“Ctrl+K”组合键)并选择其中一个命令来对行中的数据进行排序、筛选和分组。
如果将表视图分组,用户可以直接向组中添加项目或通过将其拖到另一个组中更改项目的值(见图2-16)。
图2-16 表视图支持分组、筛选和排序
用户可以将视图切换到看板视图,将工作显示为可配置的看板。看板可以为视图中的任何字段值显示一列!用户可以使用视图的列字段属性进行设置,将项目拖到另一列中以更改状态。目前还不能分组看板或设置泳道,但是用户可以筛选看板,以便使不同类型的工作项拥有单独的看板(见图2-17)。
图2-17 看板视图
用户可以通过单击看板右侧的加号用任何字段作为看板的列字段,以添加新列。这提供了一种非常灵活的可视化工作的方式(见图2-18)。
图2-18 选择任何字段作为看板的列字段
看板视图被优化用于可视化工作、优化流程和限制WIP。
每次在视图中对数据进行排序、筛选或分组,或在表格和看板视图之间切换时,选项卡标题中的蓝色图标都会指示该视图有未保存的更改。用户可以在菜单中查看更改并保存或丢弃,也可以将它们保存为一个新的视图(见图2-19)。
图2-19 使用视图修改
创建新的自定义视图,重命名它们并使用拖放进行排列非常简单。
用户可以使用工作流来定义当issue或拉取请求转换到另一个状态时触发的事件。目前,用户只能启用或禁用默认的工作流——但将来将能够编写自己的工作流(见图2-20)。
用户可以通过非常灵活的图表报告实时数据来了解进展情况。通过右上角的菜单可以访问洞察,或者从视图创建一个图表。还可以为图表使用预定义的时间范围,或选择自定义范围。也可以使用宏来筛选图表,例如迭代字段的@current或@next,或指派人字段的@me。用户可以通过单击它们来禁用图表中的状态,可以用鼠标悬停在日期上查看详细信息(见图2-21)。
图2-20 工作流定义项目更改时发生的情况
图2-21 使用灵活的实时数据图表获取Insights
在撰写本书时,洞察只支持燃尽图,并且只支持某些项目和状态。但这种情况很快就会改变,用户将能够创建各种灵活的图表,可以将其更改为各种列。
由于项目可以跨多个存储库共享,因此可以在设置中配置可见性和访问权限。项目可以具有公共或私有的可见性,这使用户可以创建能与公众共享的路线图。在组织中,可以将组织成员的基本权限设置为不可访问、读取、写入或管理员。这在个人项目中是不存在的,但是可以邀请具体的协作者并授予他们读取、写入或管理员权限。
为了获得更好地被发现,可以将项目添加到存储库(见图2-22)。
图2-22 将项目添加到存储库
GitHub Projects是管理工作并根据需求进行调整的非常灵活的解决方案。要了解有关GitHub Projects的更多信息,请参见https://docs.github.com/en/issues/trying-out-the-new-projects-experience/about-projects。
项目仍处于测试阶段。但是,已经推出的功能令人印象深刻,在不久的将来,这将是一种最灵活的解决方案,可以轻松地与社区共享个人配置。请关注更新日志中的更新https://github.blog/changelog/label/issues/。