官术网_书友最值得收藏!

Running background scripts

The simplest place to experiment with server-side scripting is perhaps the Background Scripts section in ServiceNow. This provides you with a large text box in which you place your code and a button saying Run Script, without any fuss, formatting, or further complexity. Outputs from your session during execution (such as log statements) are captured and presented to the screen. This, therefore, provides an excellent place to run server-side code where you need to monitor the results, where you can experiment, or where you need to run one-off scripts.

Navigate to Background Scripts by going to System Definition > Scripts (Background).

You will be presented with a large script box; however, before you get too enthusiastic, heed the warning shown. The reason that accessing background scripts requires elevated privileges is to remind you that some badly written code can, in fact, delete all your data. Never experiment in a live production instance!

Tip

Inefficient scripts get stuck in an infinite loop and can seriously impact performance or even cause outages or security breaches. Always test in a sandbox instance first. If you do get stuck, try going to https://<instance>.service-now.com/cancel_my_transaction.do, using the same browser session. The instance will attempt to halt execution of whatever it is doing in the other tab.

Let's run the standard Hello, World! as our first script:

gs.info('Hello, world!'); 

As the output, you should see the following:

*** Script: Hello, world! 

The function used is in this code is not a standard JavaScript command, but is part of the ServiceNow platform. gs stands for GlideSystem, which is a collection of useful functions and utilities. The info function of gs writes a message to the system log, and Background Scripts echoes it back. In Chapter 8, Securing Applications and Data, we will explore logging in ServiceNow in much more detail.

Note

The various functions of GlideSystem will be introduced throughout this book. For a detailed list of all its capabilities, refer to the product documentation: https://developer.servicenow.com/app.do#!/api_doc?v=geneva&type=server&scoped=true&to=class__scoped_glidesystem__geneva.

You must be wondering why it's called GlideSystem. Originally, the company now named ServiceNow was called GlideSoft, and they produced a platform called Glide. As the company and platform grew, they were both renamed to the more familiar monikers used today. You may see other references to Glide and GlideSoft, particularly in the less recent parts of the platform.

The gs object is one of several that are instantiated before the code is run. You will see many more as we journey through the ServiceNow platform. Which ones are available is dependent upon the context the code is running in.

主站蜘蛛池模板: 大英县| 宁夏| 会昌县| 江山市| 阳高县| 望江县| 安岳县| 涞水县| 醴陵市| 尼勒克县| 沂南县| 壤塘县| 建水县| 区。| 丰原市| 峨边| 泰顺县| 黄冈市| 贺州市| 修武县| 永春县| 花莲市| 武安市| 靖宇县| 裕民县| 策勒县| 全州县| 绍兴县| 漾濞| 乌苏市| 普格县| 织金县| 来安县| 雷州市| 达尔| 宁国市| 靖远县| 蕲春县| 三原县| 汤原县| 蓬溪县|