提问人:Niall Hodgen 提问时间:7/3/2023 更新时间:10/12/2023 访问量:81
Bitbucket Cloud API:有没有办法编辑存储库中的文件?
Bitbucket Cloud API: is there a way to edit a file in a repo?
问:
Bitbucket Server API 文档概述了用于提交 PUT 请求和编辑指定存储库中的文件的端点。但是,Bitbucket Cloud API 似乎没有包含相同的功能。
是否有直接或间接的方法来使用 Bitbucket Cloud API 编辑文件?
我的具体用例是每次成功发布生产版本时,都会增加生成管道 YAML 文件中指定的版本号。
当前为 Bitbucket 服务器 API 提供的 Python 模板如下所示:
import requests
import json
url = "http://{baseurl}/rest/api/latest/projects/{projectKey}/repos/{repositorySlug}/browse/{path}"
headers = {
"Accept": "application/json"
}
response = requests.request(
"PUT",
url,
headers=headers
)
print(json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")))
但是,Cloud API 基本 URL 显然不同,因此无法正常工作。
答:
0赞
Niall Hodgen
10/12/2023
#1
在 Bitbucket Cloud API 上解决此问题的方法是:
获取我要编辑的原始文件
将此文件的内容写入具有相同名称的新空文件
编辑文件内容以满足我的需要
POST 编辑后的文件(将同名文件发布到同一位置会导致覆盖原始文件)
注意事项:
- 我使用 Python 编写脚本,使用 Requests 库进行 HTTP 调用,并使用其他几个库根据需要解析文件。
- 我的脚本直接提交到主分支。为此,您需要确保自己不受任何分支限制的阻碍。我必须为我们用来执行任何此类自动化任务的 CI 帐户创建一个例外。
评论