GitHub Actions - 计划的 cron 作业的通知

Posted

技术标签:

【中文标题】GitHub Actions - 计划的 cron 作业的通知【英文标题】:GitHub Actions - Notifications for scheduled cron jobs 【发布时间】:2022-01-23 18:53:59 【问题描述】:

是否可以为 Workflow 计划的 Cron 作业获取电子邮件或 Slack 通知?

【问题讨论】:

为什么不在工作流作业中添加一个步骤,以便在每次执行工作流时发送电子邮件或通知? @GuiFalourd 这是需要的步骤吗? '- 名称:发送邮件使用:dawidd6/action-send-mail@v3 with:' 这是一个选项,是的。其他操作on the Github marketplace 也可能很有用,具体取决于您想要实现什么(以及如何)。 【参考方案1】:

您可以在 Slack 中使用带有传入 webhook 的自定义应用程序,并在您的工作流程中添加一个步骤以将 JSON 消息发布到该 webhook URL。

在 Slack 中

    首先创建一个新的 Slack 应用程序,地址为 https://api.slack.com/apps?new_app=1 激活传入 Webhook 功能 添加新的 webhook URL,这可能需要您的工作区管理员批准 将新的 webhook 添加到您的工作区,为要发送的帖子选择一个频道 复制 webhook URL

在 GitHub 中

    转到您的存储库设置,并添加一个名为 SLACK_WEBHOOK_URL 的 Actions 机密,其值是从 Slack 复制的 URL

在操作工作流程中

    为您的工作流程添加一个新步骤:
    -
    name: Notify Slack
    run: |
      curl -X POST -H 'Content-type: application/json' --data \
        '"username": "GitHub Actions robot", "icon_emoji": ":robot_face:", "text": "GitHub Actions workflow completed"' \
        $SLACK_WEBHOOK_URL
    

【讨论】:

以上是关于GitHub Actions - 计划的 cron 作业的通知的主要内容,如果未能解决你的问题,请参考以下文章

在另一个工作流成功运行后手动触发 Github Actions 工作流

如何在本地运行 GitHub Actions 工作流程?

编辑使用 node-cron 创建的任务

创建周期性计划任务cron

Linux CentOS 8(计划任务_Cron)

Linux CentOS 8(计划任务_Cron)