script.create

תיאור

object script.create(סקריפטים של אובייקט/מערך)

שיטה זו מאפשרת ליצור סקריפטים חדשים.

שיטה זו זמינה רק לסוג משתמש סופר אדמין. ניתן לבטל הרשאות להתקשר למתודה בהגדרות תפקידי המשתמש. לִרְאוֹת מִשׁתַמֵשׁ תפקידים למידע נוסף.

פרמטרים

(אובייקט/מערך) סקריפטים ליצירה.

השיטה מקבלת סקריפטים עם הסקריפט סטנדרטי מאפיינים.

החזר ערכים

(object) מחזירה אובייקט המכיל את המזהים של הסקריפטים שנוצרו תחת המאפיין scriptids. סדר המזהים המוחזרים תואם סדר התסריטים שעברו.

דוגמאות

צור סקריפט webhook

צור סקריפט 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
       }

תְגוּבָה:

{
            "jsonrpc": "2.0",
            "תוצאה": {
                "scriptids": [
                    "3"
                ]
            },
            "מזהה": 1
       }

צור סקריפט SSH

צור סקריפט 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
       }

תְגוּבָה:

{
            "jsonrpc": "2.0",
            "תוצאה": {
                "scriptids": [
                    "5"
                ]
            },
            "מזהה": 1
       }

צור סקריפט מותאם אישית

צור סקריפט מותאם אישית שיאתחל מחדש שרת. התסריט יהיה דורש גישת כתיבה למארח ויציג תצורה הודעה לפני ריצה ב-frontend.

בַּקָשָׁה:

{
            "jsonrpc": "2.0",
            "method": "script.create",
            "params": {
                "name": "אתחל שרת",
                "command": "אתחול מחדש של שרת 1",
                "confirmation": "האם אתה בטוח שברצונך לאתחל את השרת?",
                "היקף": 2,
                "סוג": 0
            },
            "auth": "038e1d7b1735c6a5436ee9eae095879e",
            "מזהה": 1
       }

תְגוּבָה:

{
            "jsonrpc": "2.0",
            "תוצאה": {
                "scriptids": [
                    "4"
                ]
            },
            "מזהה": 1
       }

Create a URL type script

Create a URL type script that for host scope and remains in same window and has confirmation text.

Request:

{
           "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:

{
           "jsonrpc": "2.0",
           "result": {
               "scriptids": [
                   "56"
               ]
           },
           "id": 1
       }

מקור

CScript::create()‎ בתוך ui/include/classes/api/services/CScript.php.