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

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

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

Features

Azure Boards:

Azure Repos:

Azure Pipelines:

Azure Artifacts:

常规:

Wiki:

管理:

Azure Boards

使用 GitHub 进行代码且想要丰富的项目管理功能的 Teams 现在可以将其存储库与 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 无缝集成消除生产部署中的延迟。 Azure Pipelines 与 ServiceNow 合作宣布 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 服务状态门户,它将为遵循服务运行状况提供更好的体验。 如果遇到任何服务的问题,可以 在此处检查服务运行状况。

服务运行状况门户。

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

维基

用于公式和视频的 Markdown 模板

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

用于公式和视频的 Markdown 模板。

Administration

还原已删除的项目

在此版本中,我们添加了还原已删除项目的功能。 到目前为止,具有删除项目权限的用户可以通过 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 上获取社区的建议和问题解答。

谢谢

亚伦·布约克