所以我正在构建一个动作,为一个将进入 Netlify 的项目进行构建。在操作中,我可以传递部署消息。在该部署消息中,我想传入触发构建的提交的提交消息。我正在查看文档,但找不到这是否可行。谢谢
小智 19
您可以在操作的github上下文中获取此信息,如下所述:https :
//docs.github.com/en/actions/reference/context-and-expression-syntax-for-github-actions#github-context
事件键将为您提供 webhook 内容,如下定义:https : //docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#push
因此,对于您的操作,您可以使用类似 ${{ github.event.head_commit.message }}
fla*_*xel 18
您可以使用以下命令获取具体的提交消息:
github.event.head_commit.message
Run Code Online (Sandbox Code Playgroud)
或者,git log如果您使用 bash,则可以使用以下命令获取提交消息:
git log -1 --pretty=format:"%s"
Run Code Online (Sandbox Code Playgroud)
更新:关于文档,有效负载以及提交消息的调用已更改。可以使用 GitHub 操作中的以下行获取消息:
github.event.commits[0].message
Run Code Online (Sandbox Code Playgroud)
Aka*_*ash 16
可commit-message通过以下键使用:
${{ github.event.commits[0].message }}${{ github.event.head_commit.message }}关于事件还有很多其他信息。对于前;以下工作流程将为您提供所有这些信息:
# .github/workflows/logger.yaml
name: Event Loggger
on: push
jobs:
log-github-event-goodies:
name: "LOG Everything on GitHub Event"
runs-on: ubuntu-latest
steps:
- name: Logging
run: |
echo "${{toJSON(github.event)}}"
Run Code Online (Sandbox Code Playgroud)
如果您尝试从不同的工作流程访问,例如:
on:
workflow_run:
workflows: Spec App
branches: master
types: completed // Only runs after spec is completed...
Run Code Online (Sandbox Code Playgroud)
你必须使用:
${{ github.event.workflow_run.head_commit.message }}
Run Code Online (Sandbox Code Playgroud)
两者之间有一个小的区别:
${{ github.event.commits[0].message }}
Run Code Online (Sandbox Code Playgroud)
当 github push 事件包含多个提交时,commit[0]包含最旧的提交。我在合并后看到过这个。
${{ github.event.head_commit.message }}
Run Code Online (Sandbox Code Playgroud)
另一方面,head_commit包含最年轻的提交。
| 归档时间: |
|
| 查看次数: |
9246 次 |
| 最近记录: |