My favorite thing to do with GitHub Actions by far is automating tedious tasks using webhooks. GitHub Actions is built on a few developer primitives for users to quickly ship integrations for their repos. Two of those primitives include their API and webhooks.
Automating PR reviews.
In a previous post, I shared how you can use the actions/github-script to automate events directly in your workflow YAML.
Automate your PR reviews with GitHub Action scripting in JavaScript
Brian Douglas for GitHub ・ Feb 14 '21
Automating the creation of issues
My team is made of many folks from around the world. To manage our team's weekly stand-ups, we use GitHub Actions to automate our issue's creation.
on:
schedule:
- cron: 01 13 * * 0
name: Top 5
jobs:
createAnIssue:
name: Create an issue
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create an issue
uses: bdougie/create-an-issue@e43b083ea71e22e77a81ffb4a55dacb2addb71ed
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: .github/ISSUE_TEMPLATE/TOP5.md
Using this workflow makes our team syncs more impactful, with the same agenda being automated the generated issues. I encourage you to give it a try while your team is working remotely.
JasonEtco / create-an-issue
A GitHub Action for creating a new issue from a template file.
Create an Issue Action
A GitHub Action that creates a new issue using a template file.
Usage
This GitHub Action creates a new issue based on an issue template file. Here's an example workflow that creates a new issue any time you push a commit:
# .github/workflows/issue-on-push.yml
on: [push]
name: Create an issue on push
permissions:
contents: read
issues: write
jobs:
stuff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: JasonEtco/create-an-issue@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
This reads from the .github/ISSUE_TEMPLATE.md
file. This file should have front matter to help construct the new issue:
---
title: Someone just pushed
assignees: JasonEtco, matchai
labels: bug, enhancement
---
Someone just pushed, oh no! Here's who did it: {{ payload.sender.login }}.
You'll notice that the above example has some {{ mustache }}
variables. Your issue templates have…
In addition to the above workflow, I have an action that closes the issue on a Friday, and another that pins the issue to the repo. There are countless ways to improve your developer workflow through actions. Let me know if you have examples in the comments. Always happy to learn.
This is part of my 28 days of Actions series. To get notified of more GitHub Action tips, follow the GitHub organization right here on Dev. Learn how to build action with Node.js
Top comments (0)