【问题标题】:Using DevOps Release REST API to determine time for release to complete使用 DevOps Release REST API 确定发布完成的时间
【发布时间】:2019-03-20 21:52:47
【问题描述】:

我在这里使用 DevOps REST API: https://docs.microsoft.com/en-us/rest/api/azure/devops/release/releases/list?view=azure-devops-rest-5.0

我有一个特定的发布管道,我想监控它的性能,我希望能够查询该管道以确定在过去 n 次运行中完成它需要多长时间。然后我可以获取这些数据并使用它来确定随着时间的推移性能是否有任何下降。

是否可以使用现有 API 确定此信息?上面的 API 似乎只谈论发布开始时间,从玩弄各种我无法从中获得完成时间的选项。

【问题讨论】:

    标签: azure-devops azure-devops-rest-api


    【解决方案1】:

    这不是很容易找到,但以下链接返回您需要的数据: https://vsrm.dev.azure.com/Utopia-Demo/Utopia/_apis/release/releases/1

     "releaseDeployPhases": [
                            {
                               ...
                                "deploymentJobs": [
                                    {
                                        "job": {
                                            ...
                                            "dateStarted": "2019-01-23T14:40:59.603Z",
                                            "dateEnded": "2019-01-23T14:42:49.863Z",
                                            "startTime": "2019-01-23T14:40:59.603Z",
                                            "finishTime": "2019-01-23T14:42:49.863Z",
                                            ...
                                        },
    

    这是作业的开始和结束时间,您可以使用它来计算作业长度。

    【讨论】:

    • 有趣,我整个项目中的发布版本都没有这个属性。
    • 好的,找到了。我之前没有看到它的原因:我使用“列表”API 来获取给定管道的前 50 个版本。如果我切换到使用 Get Release API,我还会返回一个 Release 对象,但它包含的信息比 List API 多。因此,根据我的需要,我可能必须先获取一个列表,然后获取发布 ID 并单独查询。
    • 是的,就是这样。您可以分页 List API 以获取所有版本 ID,然后获取各个版本的详细信息。
    猜你喜欢
    • 2019-09-07
    • 2020-05-23
    • 2021-08-12
    • 1970-01-01
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 2020-08-03
    • 2022-01-02
    相关资源
    最近更新 更多