gpt4 book ai didi

Bitbucket API - "push"事件的有效负载 - 如何最可靠地获取最新哈希值

转载 作者:行者123 更新时间:2023-12-02 23:52:05 26 4
gpt4 key购买 nike

看起来像是获取更改的最新哈希值,如下所示:

const hash = body.push.changes[0].new.target.hash;

不过,考虑到数组访问,这似乎有点尴尬 - 它总是第一个元素吗?

这是我正在查看的文档: https://confluence.atlassian.com/bitbucket/event-payloads-740262817.html

推送的示例有效负载为: https://gist.github.com/ORESoftware/1ef3abe66dba23039ddd90fef1093318

当存储库发生更改/推送时,我真的很困惑如何访问最新的哈希值。

最佳答案

从您链接的文档中,推送属性包含:

The details of the push, which includes the changes property. This property contains an array with all the references that the push updated and the following properties:

所以不,你不能只看第一个值。如果用户一次推送多个分支(例如,git push origin --all),则 changes 数组中可能有多个对象。例如,一个分支可能已被删除,另一个分支可能已被创建(old 将为空),第三个分支可能已被更新。因此,在处理这些推送事件时,您应该确保一次处理多个可能的引用更新。

How to most reliably get latest hash

您到底想通过获取最新的哈希值来实现什么目的?如果您只需要记录所有哈希值,则只需映射 changes 数组就足够了,例如

const hashes = body.push.changes.map(change => change.new.target.hash);

但是您似乎假设您可以一次处理一个存储库更改。这很可能是错误的——有人可以克隆一个存储库,以不同的方式更改大量分支,然后推送(或强制推送!)这些更改。

关于Bitbucket API - "push"事件的有效负载 - 如何最可靠地获取最新哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56247209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com