https://github.com/jvegar/ts-my-platform-tasks
Azure Functions for processing scheduled tasks for My Platform
https://github.com/jvegar/ts-my-platform-tasks
azure-functions github-api postgresql scheduler
Last synced: about 2 months ago
JSON representation
Azure Functions for processing scheduled tasks for My Platform
- Host: GitHub
- URL: https://github.com/jvegar/ts-my-platform-tasks
- Owner: jvegar
- Created: 2025-02-07T23:13:17.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-25T17:25:25.000Z (12 months ago)
- Last Synced: 2025-06-25T18:32:45.143Z (12 months ago)
- Topics: azure-functions, github-api, postgresql, scheduler
- Language: TypeScript
- Homepage:
- Size: 25.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GitHub Repository Trigger Function
This is an Azure Functions project that implements a GitHub repository trigger function written in TypeScript. The function is designed to respond to GitHub repository events and perform automated actions.
## Project Structure
- `/src` - Source code directory
- `/functions` - Contains the function implementations
- `/dist` - Compiled JavaScript output
- `/__azurite__` - Local Azure storage emulator data
## Prerequisites
- Node.js (v18 or higher recommended)
- Azure Functions Core Tools (v4.x)
- TypeScript (v4.x)
- Azure CLI (for deployment)
## Installation
1. Clone the repository
2. Install dependencies:
```bash
npm install
```
## Development
1. Build the project:
```bash
npm run build
```
2. Start the function locally:
```bash
npm start
```
3. For development with auto-rebuild:
```bash
npm run watch
```
## Deployment
To deploy to Azure:
1. Login to Azure:
```bash
az login
```
2. Deploy to Azure:
```bash
func azure functionapp publish
```
## Notes
- The function is scheduled to run every 5 minutes.
- Rate limiting is implemented to avoid hitting GitHub API limits.
- Error handling is included for API responses and rate limits.
- READMEs are fetched and stored for each repository.
- Topics are fetched and stored for each repository.
## License
MIT