ट्रिगर
ट्रिगर परिभाषित करते हैं कि ADK Studio में वर्कफ़्लो कैसे शुरू होते हैं। प्रत्येक वर्कफ़्लो एक Trigger नोड से शुरू होता है जो प्रवेश बिंदु निर्धारित करता है — चाहे वह उपयोगकर्ता इनपुट से हो, एक HTTP webhook से हो, एक cron schedule से हो, या किसी बाहरी घटना से हो।

ट्रिगर प्रकार
| प्रकार | विवरण | उपयोग का मामला |
|---|---|---|
| मैनुअल | चैट इनपुट के माध्यम से उपयोगकर्ता द्वारा शुरू किया गया | इंटरैक्टिव एजेंट, परीक्षण |
| वेबहुक | HTTP एंडपॉइंट (POST/GET) | API एकीकरण, CI/CD पाइपलाइन |
| शेड्यूल | क्रॉन-आधारित समय-निर्धारण | आवधिक रिपोर्ट, डेटा सिंक |
| इवेंट | बाहरी सिस्टम इवेंट | माइक्रोसर्विस ऑर्केस्ट्रेशन, इवेंट-ड्रिवन वर्कफ़्लो |
मैनुअल ट्रिगर
यह डिफ़ॉल्ट ट्रिगर प्रकार है। जब किसी वर्कफ़्लो में मैनुअल ट्रिगर होता है, तो चैट इनपुट को एक कॉन्फ़िगर करने योग्य लेबल और प्लेसहोल्डर के साथ दिखाया जाता है।
कॉन्फ़िगरेशन:
| गुण | प्रकार | डिफ़ॉल्ट |
|---|---|---|
inputLabel | string | "अपना संदेश दर्ज करें" |
defaultPrompt | string | "आज आप ADK-Rust के साथ मुझे क्या बनाने में मदद कर सकते हैं?" |
इनपुट लेबल चैट इनपुट फ़ील्ड के ऊपर दिखाई देता है, और डिफ़ॉल्ट प्रॉम्प्ट प्लेसहोल्डर टेक्स्ट के रूप में उपयोग किया जाता है।
वेबहुक ट्रिगर्स
एक HTTP एंडपॉइंट उजागर करें जो कॉल किए जाने पर वर्कफ़्लो शुरू करता है। बाहरी सेवाओं, CI/CD पाइपलाइनों, या अन्य अनुप्रयोगों के साथ एकीकृत करने के लिए उपयोगी।
कॉन्फ़िगरेशन:
| गुण | प्रकार | विवरण |
|---|---|---|
path | string | URL पाथ (उदाहरण के लिए, /my-webhook) |
method | GET, POST | HTTP स्वीकार करने की विधि |
auth | none, bearer, api_key | प्रमाणीकरण आवश्यकता |
एंडपॉइंट्स
प्रत्येक वेबहुक ट्रिगर दो एंडपॉइंट बनाता है:
| एंडपॉइंट | व्यवहार |
|---|---|
/api/projects/:id/webhook/*path | अतुल्यकालिक — तुरंत सेशन आईडी लौटाता है |
/api/projects/:id/webhook-exec/*path | तुल्यकालिक — वर्कफ़्लो पूरा होने का इंतज़ार करता है और परिणाम लौटाता है |
GET वेबहुक भी काम करते हैं:
GET /api/projects/:id/webhook/my-path?message=Hello
प्रमाणीकरण
बियरर टोकन:
curl -X POST "http://localhost:3000/api/projects/{id}/webhook/my-path" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"message": "Process this"}'
API कुंजी:
curl -X POST "http://localhost:3000/api/projects/{id}/webhook/my-path" \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"message": "Process this"}'
वेबहुक इवेंट सूचनाएं
SSE के माध्यम से रीयल-टाइम वेबहुक निष्पादन इवेंट्स की सदस्यता लें:
GET /api/projects/:id/webhook-events
यह स्ट्रीम वेबहुक प्राप्त होने और संसाधित होने पर इवेंट्स उत्सर्जित करती है।
शेड्यूल ट्रिगर
क्रॉन एक्सप्रेशन का उपयोग करके वर्कफ़्लो को आवर्ती शेड्यूल पर चलाएं।
कॉन्फ़िगरेशन:
| प्रॉपर्टी | प्रकार | विवरण |
|---|---|---|
cron | string | 5-फ़ील्ड cron एक्सप्रेशन |
timezone | string | IANA टाइमज़ोन (उदाहरण के लिए, America/New_York) |
defaultPrompt | string? | इनपुट टेक्स्ट जो शेड्यूल ट्रिगर होने पर भेजा जाता है |
क्रॉन सिंटैक्स
मानक 5-फ़ील्ड क्रॉन एक्सप्रेशन:
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sun=0)
│ │ │ │ │
* * * * *
उदाहरण:
| अभिव्यक्ति | अर्थ |
|---|---|
* * * * * | हर मिनट |
0 9 * * * | रोजाना सुबह 9:00 बजे |
0 0 * * 0 | हर रविवार आधी रात को |
0 */6 * * * | हर 6 घंटे में |
30 8 * * 1-5 | कार्यदिवसों पर सुबह 8:30 बजे |
शेड्यूल सेवा last_executed टाइमस्टैम्प को डुप्लिकेट रन को रोकने के लिए ट्रैक करती है।
इवेंट ट्रिगर
बाहरी सिस्टम इवेंट्स के जवाब में वर्कफ़्लो शुरू करें। इवेंट्स का मिलान source और eventType द्वारा किया जाता है, जिसमें इवेंट डेटा पर वैकल्पिक JSONPath फ़िल्टरिंग होती है।
कॉन्फ़िगरेशन:
| गुण | प्रकार | विवरण |
|---|---|---|
source | string | Event source identifier (उदाहरण के लिए, payment-service) |
eventType | string | Event type to match (उदाहरण के लिए, payment.completed) |
filter | string? | JSONPath expression to filter events |
इवेंट भेजना
curl -X POST "http://localhost:3000/api/projects/{id}/events" \
-H "Content-Type: application/json" \
-d '{
"source": "payment-service",
"eventType": "payment.completed",
"data": {
"orderId": "12345",
"amount": 99.00,
"status": "active"
}
}'
JSONPath फ़िल्टर
इवेंट्स को फ़िल्टर करें ताकि वर्कफ़्लो तभी ट्रिगर हो जब विशिष्ट शर्तें पूरी हों:
| फ़िल्टर अभिव्यक्ति | कब मेल खाता है |
|---|---|
$.data.status == 'active' | स्थिति फ़ील्ड "सक्रिय" के बराबर है |
$.data.amount > 100 | राशि 100 से अधिक है |
$.data.priority == 'high' | प्राथमिकता "उच्च" है |
फ़िल्टर से मेल न खाने वाली घटनाओं को चुपचाप अनदेखा कर दिया जाता है।
ट्रिगर-जागरूक रन बटन
स्टूडियो UI सक्रिय ट्रिगर प्रकार के आधार पर अनुकूलित होता है:
- मैनुअल — कॉन्फ़िगर किए गए लेबल और प्लेसहोल्डर के साथ मानक चैट इनपुट
- Webhook — रन बटन एक सिम्युलेटेड वेबहुक पेलोड भेजता है
- शेड्यूल — रन बटन कॉन्फ़िगर किया गया डिफ़ॉल्ट प्रॉम्प्ट भेजता है
- इवेंट — रन बटन एक सिम्युलेटेड इवेंट पेलोड भेजता है
जब अंतिम बिल्ड के बाद से किसी वर्कफ़्लो में बदलाव हुआ हो, तो रीकंपाइलेशन को प्रॉम्प्ट करने के लिए सेंड बटन बिल्ड बटन में बदल जाता है।
API संदर्भ
| एंडपॉइंट | विधि | विवरण |
|---|---|---|
/api/projects/:id/webhook/*path | POST, GET | अतुल्यकालिक वेबहुक ट्रिगर |
/api/projects/:id/webhook-exec/*path | POST | तुल्यकालिक वेबहुक ट्रिगर (परिणाम की प्रतीक्षा करता है) |
/api/projects/:id/webhook-events | GET | SSE stream वेबहुक सूचनाओं के लिए |
/api/projects/:id/events | POST | इवेंट ट्रिगर |
पिछला: ← Action Nodes | अगला: विकास दिशानिर्देश →