Bitbucket、Jiravs.ControlFreak:Bitbucket如何在多行提交信息中查找多个Jira问题?
创始人
2024-12-19 15:32:26
0

Bitbucket使用Jira的API来匹配多个Jira问题。以下是使用Bitbucket API和Jira API的示例代码:

import requests
import re

BITBUCKET_API_URL = 'https://api.bitbucket.org/2.0/repositories/{owner}/{repo}/commits/{commit_id}/comments'
JIRA_API_URL = 'https://jira.example.com/rest/api/latest/issue/{issue_key}'

def find_jira_issues(commit_id, owner, repo):
    # Get the commit message using the Bitbucket API
    comments_response = requests.get(BITBUCKET_API_URL.format(owner=owner, repo=repo, commit_id=commit_id))
    comments_data = comments_response.json()
    commit_message = comments_data['values'][0]['content']['raw']

    # Use regular expressions to match Jira issue keys
    pattern = r'[A-Z]{2,}-\d+'
    issue_keys = re.findall(pattern, commit_message)
    jira_issues = {}

    # Use the Jira API to get information about the Jira issues
    for key in issue_keys:
        jira_response = requests.get(JIRA_API_URL.format(issue_key=key))
        jira_data = jira_response.json()
        jira_issue = {
            'title': jira_data['fields']['summary'],
            'url': JIRA_API_URL.format(issue_key=key)
        }
        jira_issues[key] = jira_issue

    return jira_issues

jira_issues = find_jira_issues('abc123', 'myusername', 'myrepository')
for issue_key, issue in jira_issues.items():
    print('{}: {}'.format(issue_key, issue['title']))
    print(issue['url'])

此脚本使用Bitbucket API获取给定提交的注释,使用正则表达式匹配多个Jira问题,并使用Jira API检索每个Jira问题的标题和URL。最后,它将Jira问题的键、标题和URL作为字典返回。

相关内容

热门资讯

安装apache-beam==... 出现此错误可能是因为用户的Python版本太低,而apache-beam==2.34.0需要更高的P...
避免在粘贴双引号时向VS 20... 在粘贴双引号时向VS 2022添加反斜杠的问题通常是由于编辑器的自动转义功能引起的。为了避免这个问题...
Android Recycle... 要在Android RecyclerView中实现滑动卡片效果,可以按照以下步骤进行操作:首先,在项...
omi系统和安卓系统哪个好,揭... OMI系统和安卓系统哪个好?这个问题就像是在问“苹果和橘子哪个更甜”,每个人都有自己的答案。今天,我...
原生ios和安卓系统,原生对比... 亲爱的读者们,你是否曾好奇过,为什么你的iPhone和安卓手机在操作体验上有着天壤之别?今天,就让我...
Android - 无法确定任... 这个错误通常发生在Android项目中,表示编译Debug版本的Java代码时出现了依赖关系问题。下...
Android - NDK 预... 在Android NDK的构建过程中,LOCAL_SRC_FILES只能包含一个项目。如果需要在ND...
Akka生成Actor问题 在Akka框架中,可以使用ActorSystem对象生成Actor。但是,当我们在Actor类中尝试...
Agora-RTC-React... 出现这个错误原因是因为在 React 组件中使用,import AgoraRTC from “ago...
Alertmanager在pr... 首先,在Prometheus配置文件中,确保Alertmanager URL已正确配置。例如:ale...