Last week, I build a simple GitHub Action, called productive-box. It's my first time creating a GitHub Action so I would like to share some insight about it.
The kernel concept about this project is using commit histories to find your most productive hours and declare which type of people you are (simply an early 🐤 or a night 🦉), finally write into your Gist.
When it comes to 'commit', we always think of GitHub. That's right. Here I using GitHub API to access commit history. It's also my first time using it. In the beginning, I check out the v3 RESTful API, but I found something new - v4 GraphQL API, so I gave it a try.
The greatest part of GitHub GraphQL API is it provides a real-time and interactive playground: GraphQL Explorer which makes a better experience with this new stuff.
After I completed this project, I knew that GraphQL just means POST a query and gets something you REALLY need.
reference to an amazing project - matchai/waka-box
Workflows are custom automated processes that you can set up in your repository to build, test, package, release, or deploy any project on GitHub.
Simply saying, it uses GitHub's virtual machine to execute our script and we just only need to write YAML config into .github/workflows/xxx.yml.
My Action simply listens to two events: push and schedule. It means that when we push some commits to the master branch(by default) or periodically(just a Linux cron job), it will trigger my built script.
I also have some other ideas about this project. Welcome to follow up or star ⭐ ️my project if you're interested in it.
Are you an early
When are you most productive during the day
Let's check out in gist!
This project is inspired by an awesome pinned-gist project.
Find more in https://github.com/matchai/awesome-pinned-gists
This project uses GitHub graphQL API to get the commit histories and write into the gist by rest.js
- Create a new public GitHub Gist (https://gist.github.com/)
- Create a token with the
reposcope and copy it. (https://github.com/settings/tokens/new)
reposcope seems DANGEROUS
but this GitHub Action only accesses your commit timestamp in repository you contributed.
Fork this repo
Open the "Actions" tab of your fork and click the "enable" button
Edit the environment variable in
GIST_ID: The ID portion from your gist url:
TIMEZONE: The timezone of your location, eg.
- GIST_ID: The ID portion from your gist url:
Feedback welcome! Thanks for reading.