【问题标题】:Updating JIRA issues from Azure Pipelines从 Azure Pipelines 更新 JIRA 问题
【发布时间】:2019-10-04 20:36:49
【问题描述】:

我们正在使用 JIRA 云来处理问题。我们的源代码在 Azure Devops Repos 中,我们使用 Azure Devops Pipelines 进行构建和发布。

是否可以设置它,以便在 Azure Pipelines 完成对特定环境的部署时自动将 JIRA 问题转换为另一种状态? 问题编号是 Pull Request 标题中的引用。

【问题讨论】:

    标签: azure-devops jira azure-pipelines


    【解决方案1】:

    如果手动添加变量来定义管道中的问题编号是可行的。您可以尝试在下面尝试在发布管道的末尾添加一个 bash 任务并调用 Jira api 来转换问题状态。

    1. 首先为问题编号定义一个变量,必要时为transitionid 定义一个变量。

    2. 第二次在发布管道的末尾添加一个 bash 任务。

    假设您知道转换 ID。您可以使用以下脚本。 点击 here 获取 Jira 的 api 令牌。

    curl -D- -u "username:APIToken" -X POST --data '{"transition":{"id":"transitionid"}}' -H "Content-Type: application/json"  https://[accouint].atlassian.net/rest/api/2/issue/[issue-no]/transitions?transitionId?expand=transitions.fields
    

    (获取transitionids使用下面的api):

    curl -D- -u "username:APIToken" -X GET https://[accouint].atlassian.net/rest/api/2/issue/[issue-no]/transitions?transitionId?expand=transitions.fields
    

    更新:

    拉取请求标题可以通过下面的rest api获取。

    GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}?api-version=5.1 
    

    希望以上内容对你有所帮助。

    【讨论】:

    • 是的,这可能是更新问题的方式。 Azure Devops 已经知道哪些问题与给定版本相关,因为它们可以通过查看版本详细信息来显示。所以也许有一种方法可以让他们使用 Azure Devops REST API
    • 你是对的,PR 标题可以通过rest api GET https://dev.azure.com/{organization}/{project}/_apis/git/repositories/{repositoryId}/pullrequests/{pullRequestId}?api-version=5.1检索到
    • 我们可以通过这个 api 调用 https://vsrm.dev.azure.com/{organization}/{project}/_apis/release/releases/{releaseId}/workitems 获取与发布相关的问题,但不知道如何将这些部分联系在一起......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 2012-05-25
    • 1970-01-01
    • 2022-06-10
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多