mirror of
https://github.com/yawaflua/Aoyo.Taiga.git
synced 2025-12-08 19:39:28 +02:00
79 lines
2.1 KiB
Markdown
79 lines
2.1 KiB
Markdown
# Aoyo.Taiga
|
||
|
||
**Aoyo.Taiga** is a lightweight C# application that listens for webhooks from [Taiga](https://taiga.io/) and sends a notification to a specified Discord channel via a bot.
|
||
|
||
## ✨ Features
|
||
|
||
- Receives webhook events from Taiga.
|
||
- Sends formatted messages to a designated Discord channel.
|
||
- Lightweight and easy to run (locally or in a container).
|
||
- Supports configuration via `environment variables` or `appsettings.json`.
|
||
|
||
## ⚙️ Required Configuration
|
||
|
||
The app requires the following configuration keys to function:
|
||
|
||
### Environment variables (`ENV`)
|
||
- `Discord__Token` – your Discord bot token.
|
||
- `Discord__Id` – target Discord channel ID.
|
||
- `Taiga__Key` – secret key to validate incoming Taiga webhooks.
|
||
|
||
### OR `appsettings.json`:
|
||
|
||
```json
|
||
{
|
||
"Discord": {
|
||
"Token": "your_discord_token",
|
||
"Id": "your_channel_id"
|
||
},
|
||
"Taiga": {
|
||
"Key": "your_taiga_webhook_secret"
|
||
}
|
||
}
|
||
```
|
||
Only one method of configuration is required. You can choose between env vars or appsettings.json.
|
||
🐳 Run with Docker
|
||
|
||
You can pull and run the prebuilt image from GitHub Container Registry (GHCR):
|
||
```bash
|
||
docker run -d \
|
||
-e Discord__Token=your_token \
|
||
-e Discord__Id=your_channel_id \
|
||
-e Taiga__Key=your_webhook_key \
|
||
-p 8080:80 \
|
||
ghcr.io/yawaflua/aoyo.taiga:latest
|
||
```
|
||
|
||
🧪 Run Locally
|
||
|
||
Make sure you have the .NET SDK installed.
|
||
1. Clone the repo
|
||
```shell
|
||
git clone https://github.com/yawaflua/Aoyo.Taiga.git
|
||
```
|
||
cd Aoyo.Taiga
|
||
|
||
2. Configure credentials
|
||
|
||
Either set env variables or fill in appsettings.json.
|
||
3. Run the app
|
||
|
||
```bash
|
||
dotnet run --project Aoyo.Taiga
|
||
```
|
||
|
||
By default, it will listen on http://localhost:8080/aoyo.
|
||
🚀 Behavior
|
||
|
||
Once a webhook is sent from Taiga (with the correct key), the app will verify it and forward a message to the Discord channel defined by the Discord__Id.
|
||
📫 Webhook Endpoint
|
||
|
||
You can point your Taiga webhook to:
|
||
|
||
`POST https://example.mycooldomain.co.il/aoyo/api/v1/TaigaWebHook/post`
|
||
|
||
Make sure to include the Taiga__Key as a query parameter or in the header to pass validation.
|
||
|
||
Project can be used under [Apache 2.0](LICENCE)
|
||
|