Microsoft Teams entegrasyonu
Sorgu taleplerini bir Teams kanalında duyurun ve onayları HMAC ile doğrulanan aksiyon ucu üzerinden bağlayın.
Güncelleme:
Teams entegrasyonunun iki yarısı vardır: incoming webhook ile kanala duyurular ve otomasyonunuzun (outgoing webhook ya da Power Automate akışı) onaylamak/reddetmek için çağırabileceği bir aksiyon ucu.
Duyurular
- Teams kanalınıza bir Incoming Webhook ekleyin ve URL’sini kopyalayın.
- QueryProxy’de (DBA olarak) ChatOps’u açın; webhook URL’sini yapıştırın ve bir HMAC secret belirleyin (güçlü, rastgele bir dize — aşağıdaki aksiyon ucunda da aynı secret kullanılır). İkisi de şifreli saklanır.
Yeni talepler; talep sahibi, bağlantı, ifade sayısı, SQL önizlemesi ve Review in QueryProxy bağlantısıyla bir kart olarak yayınlanır. Kararlar da alındıkça kanala duyurulur.
Aksiyon ucu
Teams tarafındaki otomasyondan onaylamak/reddetmek için şu çağrıyı yapın:
POST https://queryproxy-sunucunuz/webhooks/teams/actions
Authorization: HMAC <base64(HMAC_SHA256(raw_body, secret))>
Content-Type: application/json
{
"action": "approve",
"request_id": 123,
"actor_email": "[email protected]",
"reason": "opsiyonel — reject için kullanılır"
}
action—approveya dareject.request_id— duyuru kartındaki talep numarası.actor_email— kararı veren QueryProxy hesabı. Webdeki kurallar aynen geçerlidir: kullanıcının talebin takımında DBA rolü olmalı ve kendi talebine karar verememelidir.reason—rejectiçin opsiyonel; varsayılanı “Rejected via Teams by <isim>”.
İmza şeması Microsoft Teams outgoing webhook’larıyla birebir aynıdır — ham
istek gövdesinin HMAC-SHA256’sı, base64 kodlu, Authorization: HMAC …
başlığında — yani bir Teams outgoing webhook’u ucu doğrudan çağırabilir; bir
Power Automate akışı da aynı başlığı hesaplayabilir.
Güvenlik
- Geçersiz ya da eksik HMAC
401döner ve hiçbir şeyi değiştirmez. - Yanıtlar JSON’dur (
{"ok": true|false, "message": "…"}); yetkilendirme hataları gerekçesiyle403döner. - Uç, QueryProxy’deki her webhook gibi hız sınırlıdır.
Slack’teki gibi tam etkileşimli Adaptive Card düğmeleri bir Teams bot kaydı gerektirir ve yol haritasındadır; bugün Teams’ten onay akışını aksiyon ucu karşılar.