Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
77 lines
2.9 KiB
Markdown
77 lines
2.9 KiB
Markdown
# Zulip GitHub Actions integration
|
|
|
|
Get Zulip notifications from GitHub Actions workflow runs!
|
|
|
|
{start_tabs}
|
|
|
|
{tab|send-channel-message}
|
|
|
|
1. {!create-a-generic-bot.md!}
|
|
|
|
1. Add the `zulip/github-actions-zulip/send-message@v1` action to your GitHub
|
|
Actions [workflow file][workflows]. The `content` template parameter supports Markdown
|
|
and [GitHub Actions expressions][expressions].
|
|
|
|
```
|
|
{% raw %}- name: Send a channel message
|
|
if: steps.backup.outcome == 'failure'
|
|
uses: zulip/github-actions-zulip/send-message@v1
|
|
with:
|
|
# Your bot's API key and email
|
|
api-key: ${{ secrets.ZULIP_API_KEY }}
|
|
email: "github-actions-generic-bot@example.com"
|
|
organization-url: "https://your-org.zulipchat.com"
|
|
type: "stream"
|
|
# Notification channel
|
|
to: "github-actions updates"
|
|
topic: "scheduled backups"
|
|
# Example: Notify if a previous GitHub Actions step with the ID "backup" fails.
|
|
content: "Backup [failed](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) at <time:${{ steps.backup.outputs.time }}>.\n>${{ steps.backup.outputs.error }}"{% endraw %}
|
|
```
|
|
|
|
{tab|send-dm}
|
|
|
|
1. {!create-a-generic-bot.md!}
|
|
|
|
1. Look up the ID of the recipient for DM notifications in their
|
|
[profile](https://zulip.com/help/view-someones-profile).
|
|
|
|
1. Add the `zulip/github-actions-zulip/send-message@v1` action to your GitHub
|
|
Actions [workflow file][workflows]. The `content` template parameter
|
|
supports Markdown and [GitHub Actions expressions][expressions].
|
|
|
|
```
|
|
{% raw %}- name: Send a channel message
|
|
if: steps.backup.outcome == 'failure'
|
|
uses: zulip/github-actions-zulip/send-message@v1
|
|
with:
|
|
# Your bot's API key and email
|
|
api-key: ${{ secrets.ZULIP_API_KEY }}
|
|
email: "github-actions-generic-bot@example.com"
|
|
organization-url: "https://your-org.zulipchat.com"
|
|
type: "private"
|
|
# Recipient's user ID
|
|
to: "295"
|
|
# Example: Notify if a previous GitHub Actions step with the ID "backup" fails.
|
|
content: "Backup [failed](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) at <time:${{ steps.backup.outputs.time }}>.\n>${{ steps.backup.outputs.error }}"{% endraw %}
|
|
```
|
|
|
|
{end_tabs}
|
|
|
|
{!congrats.md!}
|
|
|
|

|
|
|
|
### Related documentation
|
|
|
|
* [Configuring the Send Message Action][README]
|
|
|
|
* [Zulip GitHub Actions repository][repo]
|
|
|
|
* [GitHub integration](/integrations/github)
|
|
|
|
[README]: https://github.com/zulip/github-actions-zulip/blob/main/send-message/README.md
|
|
[repo]: https://github.com/zulip/github-actions-zulip
|
|
[expressions]: https://docs.github.com/en/actions/reference/evaluate-expressions-in-workflows-and-actions
|
|
[workflows]: https://docs.github.com/en/actions/reference/workflows-and-actions/workflow-syntax
|