在调查如何在 github 操作中,我可以将存储库中特定文件的“基本”版本与文件的拉取请求(“头”)版本进行比较......在调查这一点时,我发现了各种来源(例如,github.community https://github.community/t/how-do-i-get-the-git-diff-compared-to-main/179296, and 代码示例 in the github.com/actions/checkout 自述文件 https://github.com/actions/checkout/#readme) ...我发现以下上下文变量可用:
github.ref
github.sha
github.event.pull_request.head.ref
github.event.pull_request.head.sha
github.event.pull_request.base.ref
github.event.pull_request.base.sha
然而,除了前两个(github.ref
and github.sha
) I 在任何 github actions 文档中都找不到其他四个.
我的问题是这样的:是否有任何地方记录了可用上下文变量的完整列表?
例如,我有找到了这个 https://docs.github.com/en/actions/learn-github-actions/contexts#github-context,但它只列出了 github 上下文对象下一级的上下文变量。我找不到上述更深层嵌套变量的文档。可能还有其他可能非常有用的上下文变量,但我似乎找不到complete列出,而不是仅列出那些碰巧被提及并分散在各种代码示例中的内容。
我认为你想区分上下文变量和有效负载。
上下文变量在大多数情况下都可用,并且记录了异常情况(如您所发现的):https://docs.github.com/en/actions/learn-github-actions/contexts#example-printing-context-information-to-the-log https://docs.github.com/en/actions/learn-github-actions/contexts#example-printing-context-information-to-the-log
另一方面,有效负载取决于事件类型。如果您运行工作流程的结果是on: pull_request
你会得到一个与运行它不同的有效负载,因为on: push
(ETC..)。
我从未见过列出所有有效负载的文档,但我相信您可以从 webhooks 中获得灵感。例如,如果您在创建拉取请求时运行工作流,则可以在此处查看拉取请求的 Webhook 负载:https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#webhook-payload-example-33 https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#webhook-payload-example-33
自从两人not被记录为相同的,您可能不得不重新转储事件并检查您实际得到的内容。在里面docs https://docs.github.com/en/actions/learn-github-actions/contexts#example-printing-context-information-to-the-log-file,GitHub 有一个示例如何将上下文转储作为工作流程的一部分:
jobs:
one:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJSON(github) }}
run: echo "$GITHUB_CONTEXT"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)