获取 BitBucket Pipelines 中已更改文件的列表

问题描述 投票:0回答:1

我知道我可以将特定步骤限制为“条件:变更集:includePaths:”这不是我想要做的。

我知道我可以使用 git diff 获得修改文件的列表

 在最后一次提交中
。不幸的是,这还不够。

我想做的是获取自上次推送以来在此分支中已修改的所有文件的列表。例如,假设您执行以下操作:

    创建一个分支。
  1. 提交 A。
  2. 推。
  3. 提交 B。
  4. 提交 C。
  5. 提交 D。
  6. 推。
我想要所有 B、C 和 D 中修改的文件列表,以便我可以将它们传递到我的测试脚本并评估自上次管道能够运行以来已修改的所有文件。

使用

pull-requests,我想我可以通过比较 BITBUCKET_COMMIT

BITBUCKET_PR_DESTINATION_BRANCH
 来做到这一点。但是对于我想在每次推送提交时运行的管道步骤,我不知道如何获取我想要的变更集。

bitbucket-pipelines
1个回答
0
投票
对于在 2023 年或之后寻找此问题答案的人,我们可以使用 Bitbucket API 在管道构建中的拉取请求中获取更新对象列表,例如:

# Get the PR diffstat URL curl --request GET --url "https://api.bitbucket.org/2.0/repositories/{workspace}/{repo_slug}/pullrequests/{pull_request_id}" --header "Authorization: Bearer <access_token>" --header "Accept: application/json" -o response.json DIFFSTAT_URL=$(jq -r .links.diffstat.href response.json) curl --request GET --url "${DIFFSTAT_URL}" --header "Authorization:Bearer <access_token>" --header "Accept: application/json" -o diffstat.json jq -r .values[].new.path diffstat.json > changelog.txt
来源:

https://developer.atlassian.com/cloud/bitbucket/rest/api-group-pullrequests

© www.soinside.com 2019 - 2024. All rights reserved.