A GitHub Action PHP application that automates task management and YouTube livestream scheduling.
- Tracks GitHub issues in a task manifesto file
- Automatically creates scheduled YouTube livestreams from GitHub issues
- Simplifies YouTube API integration
- PHP 7.4 or higher
- Composer
- A GitHub repository
- A Google account with YouTube channel
- Clone this repository
- Install dependencies:
composer install
- Create a project in the Google Cloud Console
- Enable the YouTube Data API v3
- Create OAuth 2.0 credentials (Web application type)
- Set the redirect URI to
http://localhost:8080/callback
- Get your API key, client ID, and client secret
- Run the token generator script:
php setup/get_youtube_token.php
- Follow the prompts and authorize the application
- Save the generated refresh token
Add the following secrets to your GitHub repository:
YOUTUBE_API_KEY
: Your YouTube API keyYOUTUBE_CLIENT_ID
: Your Google client IDYOUTUBE_CLIENT_SECRET
: Your Google client secretYOUTUBE_REFRESH_TOKEN
: The refresh token from the previous stepYOUTUBE_CHANNEL_ID
: Your YouTube channel ID
- Create a new GitHub issue with the title "New Live" or "New Livestream"
- In the issue body, include the following details:
Title: Your Livestream Title Description: A description of your livestream Date: YYYY-MM-DD HH:MM (e.g., 2025-06-05 15:00) Privacy: public (or private, unlisted)
- Submit the issue
- The GitHub Action will automatically create a scheduled livestream on your YouTube channel
- The tasks_manifesto.md file will be updated with the livestream details
To test your YouTube API credentials:
php setup/test_youtube_api.php <api_key> <client_id> <client_secret> <refresh_token>
Or set the credentials as environment variables and run:
php setup/test_youtube_api.php
See the LICENSE file for details.