object script.create(סקריפטים של אובייקט/מערך)
שיטה זו מאפשרת ליצור סקריפטים חדשים.
שיטה זו זמינה רק לסוג משתמש סופר אדמין. ניתן לבטל הרשאות להתקשר למתודה בהגדרות תפקידי המשתמש. לִרְאוֹת מִשׁתַמֵשׁ תפקידים למידע נוסף.
(אובייקט/מערך)
סקריפטים ליצירה.
השיטה מקבלת סקריפטים עם הסקריפט סטנדרטי מאפיינים.
(object)
מחזירה אובייקט המכיל את המזהים של הסקריפטים שנוצרו תחת המאפיין scriptids
. סדר המזהים המוחזרים תואם סדר התסריטים שעברו.
צור סקריפט webhook ששולח בקשת HTTP לשירות חיצוני.
בַּקָשָׁה:
{
"jsonrpc": "2.0",
"method": "script.create",
"params": {
"name": "תסריט Webhook",
"command": "נסה {\n var request = new HttpRequest(),\n תגובה,\n נתונים;\n\n request.addHeader('Content-Type: application/json');\n\n תגובה = request.post('https://localhost/post', value);\n\n נסה את {\n response = JSON.parse(response);\n }\n תפס (שגיאה) {\n response = null; \n }\n\n if (request.getStatus() !== 200 || !('נתונים' בתגובה)) {\n זרוק 'תגובה בלתי צפויה.';\n }\n\n נתונים = JSON. stringify(response.data);\n\n Zabbix.Log(3, 'נתוני תגובה של [Webhook Script]: ' + data);\n\n החזר נתונים;\n}\nתפוס (שגיאה) {\n Zabbix. Log(3, 'ביצוע סקריפט [Webhook] נכשל: ' + error);\n throw 'הביצוע נכשל: ' + error + '.';\n}",
"סוג": 5,
"פסק זמן": "40s",
"פרמטרים": [
{
"שם": "אסימון",
"value": "{$WEBHOOK.TOKEN}"
},
{
"name": "מארח",
"value": "{HOST.HOST}"
},
{
"name": "v",
"value": "2.2"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"מזהה": 1
}
תְגוּבָה:
צור סקריפט SSH עם אימות מפתח ציבורי שניתן להפעיל על מארח ויש לו תפריט הקשר.
בַּקָשָׁה:
{
"jsonrpc": "2.0",
"method": "script.create",
"params": {
"name": "סקריפט SSH",
"command": "פקודת הסקריפט שלי",
"סוג": 2,
"username": "ג'ון",
"publickey": "pub.key",
"privatekey": "priv.key",
"סיסמה": "סוד",
"port": "12345",
"היקף": 2,
"menu_path": "כל הסקריפטים/SSH",
"usrgrpid": "7",
"groupid": "4"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"מזהה": 1
}
תְגוּבָה:
צור סקריפט מותאם אישית שיאתחל מחדש שרת. התסריט יהיה דורש גישת כתיבה למארח ויציג תצורה הודעה לפני ריצה ב-frontend.
בַּקָשָׁה:
{
"jsonrpc": "2.0",
"method": "script.create",
"params": {
"name": "אתחל שרת",
"command": "אתחול מחדש של שרת 1",
"confirmation": "האם אתה בטוח שברצונך לאתחל את השרת?",
"היקף": 2,
"סוג": 0
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"מזהה": 1
}
תְגוּבָה:
Create a URL type script that for host scope and remains in same window and has confirmation text.
{
"jsonrpc": "2.0",
"method": "script.create",
"params": {
"name": "URL script",
"type": 6,
"scope": 2,
"url": "http://zabbix/ui/zabbix.php?action=host.edit&hostid={HOST.ID}",
"confirmation": "Edit host {HOST.NAME}?",
"new_window": 0
},
"id": 1
}
Response:
CScript::create() בתוך ui/include/classes/api/services/CScript.php.