将 GitHub 提交和拉取请求链接到Azure Boards工作项 - Sprint 144 更新

在 Azure DevOps 的 Sprint 144 更新 中,我们将继续扩展与 GitHub 的集成。 现在,你将能够将 GitHub 提交和拉取请求链接到Azure Boards工作项。 通过连接 GitHub 和Azure Boards,你可以通过访问积压工作、板、冲刺计划工具和多个工作项类型等功能,获得丰富的项目管理功能。

有关详细信息,请查看下面的 功能 列表。

功能

Azure Boards:

Azure Repos:

Azure Pipelines:

Azure Artifacts:

常规:

Wiki:

管理:

Azure Boards

使用 GitHub 进行代码并想要丰富项目管理功能的团队现在可以将其存储库与Azure Boards集成。 通过连接 GitHub 和Azure Boards,可以获得积压工作、开发板、冲刺计划工具、多个工作项类型等所有功能,并且仍具有与 GitHub 中的开发人员工作流集成的工作流。

可轻松地将提交和拉取请求链接到工作项。 使用以下语法提及工作项:

AB#{work item ID}

在提交消息、拉取请求标题或拉取请求说明中提及工作项,Azure Boards 会创建该项目的链接。 例如,请考虑提交消息如下所示:

Adds support for deleting connections. Fixes AB#20.

这会创建从工作项 #20 到 GitHub 中的提交的链接,该链接会出现在工作项的“开发”部分中。 ​

从工作项链接到提交。

如果字词“fix”、“fixes”或“fixed”在提及工作项之前出现(如上所示),则当提交合并到默认分支时,工作项会转变为已完成状态。

使用 Azure Pipelines 在 GitHub 中生成代码的团队还将在生成摘要中看到链接到其 GitHub 提交的工作项。

获取Azure Boards即服务

现在可以轻松获取Azure Boards并将其用作自己的服务。 无论你的代码是在 Azure Repos 还是 GitHub 中,都可以通过转到 https://www.azure.com/boards 并单击“开始使用 Azure Boards”来快速开始。 新用户将得到一个仅具有Azure Boards的项目,以及一个介绍,以帮助他们正常运行。

Azure Boards入门。

Azure Repos

为自动完成拉取请求重新运行过期的内部版本

Azure Repos现在会自动将拉取请求策略触发的过期生成排队。 这适用于已通过所有其他策略并设置为自动完成的拉取请求。 以前,当拉取请求具有策略(如所需审阅者)时,审批过程可能需要太长的时间,并且关联的生成可能会在审阅者批准拉取请求之前过期。 如果拉取请求设置为自动完成,则在用户手动将过期的内部版本排入队列之前,该拉取请求将一直处于阻止状态。 通过此更改,生成将自动排队,以便拉取请求可以在成功生成后自动完成。

注意

此自动化将每个拉取请求最多将五个过期的生成排入队列,并且只会尝试对每个生成重新排队一次。

Azure Pipelines

使用管道管理 GitHub 版本

GitHub 版本是打包并向用户提供软件的好方法。 我们很高兴地宣布,现在可以使用 Azure Pipelines 中的 GitHub 发布任务自动执行它。 使用任务可以创建新的版本、修改现有的草稿/已发布版本或放弃较旧的草稿/已发布版本。 它支持上传多个资产、将发布标记为预发布、将发布另存为草稿等功能。 此任务还有助于创建发行说明。 它还可以自动计算此版本中) (提交和相关问题的更改,并将它们以用户友好格式添加到发行说明。

下面是任务的简单 YAML:

task: GithubRelease@0 
displayName: 'Create GitHub Release'      
inputs:
  githubConnection: zenithworks
  repositoryName: zenithworks/pipelines-java
  assets: $(build.artifactstagingdirectory)/*.jar

GitHub 发布任务。

使用此任务创建的示例 GitHub 版本:

示例 GitHub 版本。

基于 YAML 的管道的 VS Code 扩展

为了加快编码过程,我们添加了适用于 YAML 管道的 VS Code 扩展 。 该扩展支持语法突出显示和 IntelliSense (代码完成) 来验证文件的结构是否正确以及它是否使用了有效的关键字。 此外,它还支持内置任务,并可以验证其所需的输入。

该扩展是 GitHub 上的一个开放源代码项目,欢迎来自社区的反馈、bug 报告和贡献。

具有用于 YAML 管道的 IntelliSense 的 Web 编辑器

如果使用 YAML 定义管道,现在可以利用此版本引入的新编辑器功能。 无论是创建新的 YAML 管道还是编辑现有的 YAML 管道,都可以在管道 Web 编辑器中编辑 YAML 文件。 编辑 YAML 文件时,请使用 Ctrl+Space 获取 IntelliSense 支持。 你将看到语法错误突出显示,并获取有关更正这些错误的帮助。

YAML 管道的 Web 编辑器。

ServiceNow 更改管理集成

通过与 ServiceNow 的无缝集成,消除生产部署中的延迟。 与 ServiceNow 合作的 Azure Pipelines 宣布 ServiceNow 更改管理扩展的公开可用性,使发布管道了解 ServiceNow 中的更改管理过程。

使用 ServiceNow 更改管理作为发布入口,可以在 ServiceNow 中启动更改管理过程,并在两个阶段之间保留管道,直到更改准备好实现为止。

ServiceNow 更改管理

还可以在部署过程中更新 ServiceNow 更改请求任务,ServiceNow 更改请求将使用部署的状态和结果进行更新。 这将提供 ServiceNow 和 Azure Pipelines 之间的完全双向集成。

ServiceNow 与 Azure Pipelines 之间的集成。

现在可以共享指向生成日志中特定行的链接。 在与其他团队成员协作诊断生成失败时,这将帮助你。 只需从结果视图中选择日志的行即可获取链接图标。

链接到生成日志中的特定行。

在单个文件中指定多平台管道

Azure Pipelines 为 Linux、macOS 和 Windows 代理提供托管池。 以前,若要在所有三个托管池中重复使用相同的管道步骤,必须在单独的模板文件中指定步骤。 我们删除了允许你在单个文件中指定多平台管道和矩阵策略的要求:

strategy:
  matrix:
    win:
      vm: windows-latest
    mac:
      vm: macOS-latest
    linux:
      vm: ubuntu-latest

pool:
  vmImage: $(vm)

steps:
- script: npm install
- script: npm run test

失败时自动重新部署

当部署到某个阶段失败时, Azure Pipelines 现在可以自动重新部署上次成功的部署。 可以通过在部署后条件中配置自动重新部署触发器,将阶段配置为自动部署上一个成功的版本。 我们计划在将来的冲刺中向自动重新部署配置添加其他触发的事件和操作。 有关详细信息,请参阅 部署组 文档。

失败时自动重新部署。

Azure Artifacts

PyPI 公共预览版

Azure Artifacts 现在可以托管 Python 包。 这包括生成和上游从公共 PyPI 保存的包。 有关更多详细信息,请参阅 公告博客文章文档

现在,可以将所有 NuGet、npm、Maven、Python 和通用包托管在同一源中。

托管 Python 包。

常规

服务运行状况门户

我们添加了一个新的 Azure DevOps 服务状态门户,它将提供更好的体验,以跟踪我们服务的运行状况。 如果遇到任何服务问题,可在此处检查服务运行状况。

服务运行状况门户。

有关更多详细信息,请参阅 公告博客文章文档

Wiki

公式和视频的 Markdown 模板

编辑 Wiki 时,不再需要记住用于添加 公式视频YAML 标记 的 Markdown 语法。 现在可以单击工具栏中的上下文菜单,然后选择所选选项。

公式和视频的 Markdown 模板。

管理

还原已删除的项目

在此版本中,我们添加了还原已删除项目的功能。 从今天开始,具有删除项目权限的用户可以通过 REST API 还原已删除的项目。 为此,请使用 { “state” : “wellFormed” } 创建更新项目请求。 在将来的版本中,我们将添加可从组织概述页访问的 UI。 有关 REST API 的详细信息,请参阅 此处的文档。

若要获取已删除项目的列表,请使用以下请求

GET https://dev.azure.com/{organization}/_apis/projects?stateFilter=deleted&api-version=5.0-preview.3

若要还原已删除的项目,请使用以下请求

PATCH https://dev.azure.com/{organization}/_apis/projects/{projectId}?api-version=5.0-preview.3

请求正文

{
    "state" : "wellFormed"
}

注意

最多只有 28 天的时间还原已删除的项目。 28 天后,项目将被 永久 删除。

后续步骤

注意

这些功能将在未来两到三周内推出。

阅读以下新功能,然后前往 Azure DevOps 自行试用。

如何提供反馈

我们很想听听你对这些功能的看法。 使用反馈菜单报告问题或提供建议。

提出建议

你还可以在 Stack Overflow 上获取社区的建议和问题解答。

此致

亚伦·比约克