My journey on the actions hackathon
I'm submitting this post as part of my Actions Hackathon journey and also my participation.
Action in action:
Motivation
I always imagined open-source mantainers as heroes, since they spend lots of their free time just to share their knowledge with useful software and give back to the oss community, many times I've meet people who are passionate about OSS and for me they deserve the best.
So I'm making a simple action (my first one tho!) that is able to trigger an alarm on your room when someone opens up an Issue on your configured repositories, now you can feel like a hero when the city needs you! You may also remix this action to turn on a Batman signal on the ceiling of your room 🦸 🦇 (It's a great idea!)
I know is not pretty, but it serves it's purpose 👻
Submission Category:
Interesting IoT
Yaml File or Link to Code
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 }}"
Link to the Action in marketplace:
https://github.com/marketplace/actions/issuetron-3000
Source code
ojoanalogo / issuetron-3000
🚨 Trigger a MQTT alert when someone opens an issue in one of your repositories
issuetron-3000 🚨
🚨 Turn on a light signal on the physical world when an issue is opened on one of your repos
This is my entry for the dev.to GitHub Actions hackathon
Index
About this
This is a really simple action intended to connect the real world with IoT devices connected to Adafruit IO Cloud.
It allows repo mantainers to keep alerted about new issues on their repos, made for the heros of the Open-Source 💙
🔧 I'm using Adafruit IO cloud for the ease of IoT development and device provisioning, since I know most people would like to configure a device the easy way and not have to go through complicated setups like AWS or Azure IoT.
The Action workflow is listening to an…
How I'm making this
🔧 I'm using Adafruit IO cloud for the ease of IoT development and device provisioning, since I know most people would like to configure a device the easy way and not have to go through complicated setups like AWS or Azure IoT.
The Action workflow is listening to an "Issue" event and when it's triggered it gets the issue context (like username and issue title) and sends the content over MQTT protocol to an ESP8266 device which I had lying around, it turns on a red lamp which I got from a auto parts store. 🚨
Action is able to send context about the issue, being those details:
- issue title
- issue author
- repo of origin
You can also disable the issue context if you want to save some bytes or you only want to trigger a custom action on your IoT device.
This action leverages repo secrets, since some variables like the device Key and ID are supposed to be secret, you can find more information on the README on how to setup your device.
Example of how to wire your IoT device
In the above image we have a red LED, but I suggest you use another source of light or maybe add a ring bell!
You can see the action in action here:
What I have learned creating this action
I was able to understand the basics of GitHub actions, the hackathon was the perfect motivation to begin learning more about this wonderful tool, I plan to make more IoT related projects in the future that use GitHub actions in one way or another.
The GitHub actions documentation it's the best place to start, don't be afraid to follow it, it covers everything from creating a starter project to deploying your first action.
Top comments (8)
This is a good one :) Thumbs up for idea!
Thank you! I still need to add more features and I would love to do a video showing the action in action, I believe it's perfect for the upcoming Hacktoberfest event 🤯
I had in old office screen that was connected to raspberry pi and it displayed all issues and status on screen using API..
That was cool stuff as well.. and if pull to master comes in fireworks starts.. :)
Could add up a big bundle for dev teams in office's as fun thingy..
Keep up the good work, let me know maybe in comment later how Hacktoberfest went.. My vote for you! :)
We need to get the bat projector for this, haha. Cool one. Love it. I may even do one in the office.
¡Bravo! Buen trabajo, Alfonso.
¡Muchas gracias Doug! 😀
This is good Alfonso. Congrats. But I don't understand what's happening ?
I've updated the post with a video sample of this action working 🥳