在研究如何在github操作中使用文件的拉请求("head")版本区分存储库中特定文件的“基本”版本时.在研究这个问题时,我在各种源(例如,github.community和Github.com/action/签出自述文件中的代码示例)中找到了.我发现以下上下文变量是可用的:
github.refgithub.shagithub.event.pull_request.head.refgithub.event.pull_request.head.shagithub.event.pull_request.base.refgithub.event.pull_request.base.sha但是,除了前两个(github.ref和github.sha)之外,我在任何github操作文档中都找不到其他四个。
我的问题是:有记录可用上下文变量的完整列表的地方吗?
例如,我有找到这个,但它只列出了上下文变量,从github上下文对象降一级。我找不到上面提到的更深层次嵌套变量的文档。可能还有其他非常有用的上下文变量,但我似乎找不到完整的列表,而只有那些碰巧在各种代码示例中提到和散布的内容。
发布于 2021-11-25 08:32:08
我认为您想要区分上下文变量和有效负载。
上下文变量在大多数情况下都是可用的,并记录了异常(如您所发现的):https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
另一方面,有效载荷取决于事件类型。如果您运行一个工作流作为on: pull_request的结果,您将得到一个与运行它的结果不同的on: push (等等.)。
我从未见过列出所有有效负载的文档,但我相信您可以从webhooks获得灵感。例如,如果在创建拉请求时运行工作流,您可以在这里查看web钩子对拉请求的有效负载:https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#webhook-payload-example-33
由于两个而不是被记录为相同,您可能不得不返回到转储事件并检查实际得到的内容。在文档中,GitHub有一个示例如何将上下文转储为工作流的一部分:
jobs:
one:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJSON(github) }}
run: echo "$GITHUB_CONTEXT"https://stackoverflow.com/questions/70104600
复制相似问题