发布于 2026-01-06 0 阅读
0

一个用于触发房间警报的 GitHub 操作 🚨 issuetron-3000 🚨 由 Mux 呈现的 DEV 全球展示挑战赛:展示你的项目!

一个用于触发房间警报的 GitHub 操作🚨

issuetron-3000 🚨

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

我的行动黑客马拉松之旅

我提交这篇文章是为了记录我的Actions Hackathon 之旅,同时也是为了参与本次活动。

行动中的行动:

动机

我一直把开源维护者视为英雄,因为他们花费大量空闲时间分享知识,开发有用的软件,回馈开源社区。我多次遇到对开源软件充满热情的人,在我看来,他们值得拥有最好的。

所以我做了一个简单的操作(虽然是我第一个!),当有人在你配置的仓库中提交 Issue 时,它​​就能触发你房间里的警报。这样,当城市需要你的时候,你就能体验英雄的感觉了!你还可以对这个操作进行一些修改,比如在房间天花板上打开一个蝙蝠侠信号灯🦸🦇(这真是个好主意!)

Issuetron 盒子
我知道它不太美观,但它达到了目的👻

提交类别:

有趣的物联网

YAML 文件或代码链接

on:
  issues:
    types: [opened]

jobs:
  do_iot_thing:
    runs-on: ubuntu-latest
    name: A job to turn on a light when someone opens an issue
    steps:
      - name: Send activation to ESP8266 device
        uses: 'mxarc/issuetron-3000@1.1'
        id: activation
        with:
          time: '15' # how much time we will keep our light on
          blink: true # enable blinking, otherwise just turn on the lamp
          io_user: '${{ secrets.IO_USER }}'
          io_key: '${{ secrets.IO_KEY }}'
          io_feed: 'issuetron'
          send_context: true
      # Use the output from the `hello` step
      - name: Check if we succeeded to turn on the light
        run: echo "The result of the action is ${{ steps.activation.outputs.success }}"
Enter fullscreen mode Exit fullscreen mode

GitHub Marketplace 中的 Action 链接:
https://github.com/marketplace/actions/issuetron-3000

源代码

GitHub 标志 ojoanalogo / issuetron-3000

🚨 当有人在你的某个代码仓库中提交问题时,触发 MQTT 警报

issuetron-3000 🚨

🚨 当你的某个代码仓库中出现问题时,在现实世界中打开一个灯光信号。

这是我参加dev.to GitHub Actions 黑客马拉松的作品

指数

关于这一点

这是一个非常简单的操作,旨在将现实世界与连接到 Adafruit IO 云的物联网设备连接起来。

它允许仓库维护者随时了解其仓库中的新问题,专为开源英雄打造💙

🔧 我使用 Adafruit IO 云平台是为了方便物联网开发和设备配置,因为我知道大多数人都希望以简单的方式配置设备,而不必经历像 AWS 或 Azure IoT 那样复杂的设置。

操作工作流正在监听……




我是如何制作这个的

🔧 我使用 Adafruit IO 云平台是为了方便物联网开发和设备配置,因为我知道大多数人都希望以简单的方式配置设备,而不必经历像 AWS 或 Azure IoT 那样复杂的设置。

Action 工作流监听“Issue”事件,当事件触发时,它会获取问题上下文(例如用户名和问题标题),并通过 MQTT 协议将内容发送到我手头闲置的 ESP8266 设备,该设备会点亮我从汽车配件商店买来的红灯。🚨

操作能够发送有关问题的背景信息,即以下细节:

  • 问题标题
  • 问题作者
  • 原始仓库

如果您想节省一些字节,或者只想在 IoT 设备上触发自定义操作,也可以禁用问题上下文。

此操作利用了存储库密钥,因为某些变量(例如设备密钥和 ID)应该是保密的,您可以在 README 中找到有关如何设置设备的更多信息。

接线
物联网设备接线示例

上图中我们有一个红色 LED,但我建议您使用其他光源,或者添加一个铃铛!

您可以在这里看到实际操作画面:

我在创建这个动作的过程中学到了什么

我理解了 GitHub Actions 的基础知识,这次黑客马拉松给了我充分的动力去学习更多关于这个优秀工具的知识,我计划将来制作更多与物联网相关的项目,并以某种方式使用 GitHub Actions。

GitHub Actions 文档是最好的入门指南,不要害怕按照文档操作,它涵盖了从创建入门项目到部署第一个 Action 的所有内容。

文章来源:https://dev.to/ojoanalogo/a-github-action-to-trigger-a-light-on-your-room-385b