pka*_*mol 3 continuous-integration github github-actions
我只想打印github.eventGitHub Actions 步骤中的上下文,因此我正在执行以下操作
- name: check context
shell: bash
run: echo ${{ toJSON(github.event) }}
Run Code Online (Sandbox Code Playgroud)
但是,这会失败,如下所示:
/home/runner/work/_temp/hd73999-5309-44cf-9218-9e2e3805d525.sh: line 2: after:: command not found
Error: Process completed with exit code 127.
Run Code Online (Sandbox Code Playgroud)
(尽管github.event 确实在错误发生之前打印了。
这是为什么?
我正在使用该toJSON函数,因为如果我不这样做,所有打印的内容都是:
Run echo Object
Object
Run Code Online (Sandbox Code Playgroud)
避免转义问题的更好方法是将上下文转储到环境变量中,然后在 bash 中回显该变量。
name: Context testing
on: push
jobs:
dump_contexts_to_log:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
Run Code Online (Sandbox Code Playgroud)
您需要在表达式周围添加引号,这样它就不会将其计算为 JS。
name: Context testing
on: push
jobs:
dump_contexts_to_log:
runs-on: ubuntu-latest
steps:
- name: Dump GitHub context
env:
GITHUB_CONTEXT: ${{ toJson(github) }}
run: echo "$GITHUB_CONTEXT"
Run Code Online (Sandbox Code Playgroud)