当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 废弃 UI - 使用此 TFS PowerShell 示例自动化 TFS

作者:精品下载站 日期:2024-12-14 20:50:10 浏览:14 分类:玩电脑

废弃 UI - 使用此 TFS PowerShell 示例自动化 TFS


如果您使用的是 Microsoft 的 Team Foundation Server (TFS) 并且需要使用 PowerShell 对其进行管理,那么这篇文章适合您。在本教程中,您将通过 TFS PowerShell 示例学习如何管理 TFS。您永远不知道,您可能只想获取这些知识并从中构建 TFS PowerShell 模块!

TFS 提供了丰富的 API,可以与 PowerShell 结合使用,构建一种使用命令行和 PowerShell 脚本控制 TFS 的便捷方法。

在本文中,我们将介绍使用 PowerShell 与 TFS 进行初始连接所需的基础知识。然后,您将使用的代码可用于通过 PowerShell 探索更多 API 操作,以构建更高级的功能。

向 TFS 进行身份验证

要访问 TFS REST API,您首先需要进行身份验证。在此 TFS PowerShell 示例中,使用 PSCredential 对象。要创建 PSCredential 对象,请运行 Get-Credential 并提供有权访问 TFS 的帐户

PS51> $credential = Get-Credential

将凭据保存为变量后,即可在对 PowerShell cmdlet Invoke-RestMethod 的多次调用中使用该凭据。

Invoke-RestMethod 是一个 PowerShell cmdlet,它允许我们快速创建各种 HTTP 请求并将其发送到 REST API。由于我需要为每个 Invoke-RestMethod 调用使用 Credential 参数,因此我将创建一个包含 Credential 的 splatted 参数集,以便我不必每次都指定它。

$invRestMethParams = @{
    Credential = $credential
}

带有 Invoke-RestMethod 的 TFS PowerShell 示例

现在向 TFS 发送测试查询以确保您不会收到错误。尝试检索服务器上所有可用的项目。您可以通过将 HTTP GET 方法发送到 API 来完成此操作。但首先,您需要知道 URI。要检索所有项目,URL 方案将如下所示:

http(s)://///_apis/projects?api-version=2.0

你可以看到我使用的是 v2.0 的 API。我的特定 URI 如下所示:

$uri = 'http://tfs.domain.local:8080/tfs/IT/_apis/projects?api-version=2.0'

现在您知道了 URI,您可以将其添加到 Invoke-RestMethod 的参数中。

PS51> $invRestMethParams.Uri = $uri

接下来,我需要将其他参数添加到 Invoke-RestMethod 中。

$invRestMethParams.Method = 'Get'
$invRestMethParams.ContentType = 'application/json'

## My final parameters and the Invoke-RestMethod call will look like this:

$invRestMethParams = @{
    Credential = $credential
    Uri = $uri
    Method = 'Get'
    ContentType = 'application/json'
}
Invoke-RestMethod @invRestMethParams

当我运行上面的代码时,您将得到如下所示的输出。此 TFS PowerShell 示例使用 Invoke-RestMethod 发起 API 请求。

这不太有帮助。要找到您要查找的内容,您需要查看 value 属性的内容。一旦查看 value 属性,您将立即看到集合中的每个项目都会显示出来。

这意味着您已通过 TFS 身份验证并查询了正确的 URI。

至此,世界尽在你的掌握之中。也许您想查看所有可用的构建。因为我已将所有参数存储在哈希表中,所以我只需更改 Uri 参数。您可以使用下面的 TFS PowerShell 示例。

$invRestMethParams.Uri = 'http://tfs.domain.local:8080/tfs/IT/IS-DevOps/_apis/build/builds?api-version=2.0'

您可以看到,在获得身份验证并找出正确的 URL 方案后,只需更改 URL 即可执行您想要的操作。要详细了解可以使用 TFS REST API 执行哪些操作,我鼓励您查看 Visual Studio 入门文档。

下一步

使用 PowerShell,您可以开始使用 TFS 管理和自动化许多事情。使用 PowerShell 管理 TFS 允许您将各种 TFS 流程集成到 CI/CD 管道等概念中。

现在,利用您所学到的知识,看看是否可以通过创建 TFS PowerShell 模块来改进它!

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯