标签: servicenow

如何从Javascript调用VBscript

我在这里搜索了线程,但找不到任何与我想做的事情有关的东西.基本上我想使用javascript为onClick调用vbscript.

有没有办法从使用Javascript onmouseover和onmouseout事件的按钮调用onClick事件的aVBScript?

我似乎无法让它工作并需要帮助.下面是我的javascript代码片段以及我想呼叫的vb脚本:

Javascript代码:

<td align="center">
    <input onMouseOver="window.status=me.value" onMouseOut="window.status=''" onMouseOver="window.status=me.value" onMouseOut="window.status=''" type="button" value="Impersonation" class="redBtn" onClick="openPopup('http://internal.mps.cardinal.net/cardcom/index.asp')" />
   </td>
   <td align="center">
    <input onMouseOver="window.status=me.value" onMouseOut="window.status=''" onMouseOver="window.status=me.value" onMouseOut="window.status=''" type="button" value="ServiceNow" class="normalBtn" onClick="openPopup('https://cardinal.service-now.com/navpage.do')" />
   </td>
Run Code Online (Sandbox Code Playgroud)

我想做的是调用ServiceBow OnClick事件的vbscript.

我的VBscript:WScript.Quit Main

Function Main
Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_")
IE.Visible = True
IE.Navigate "https://cardinal.service-now.com/navpage.do"
Wait IE

With IE.Document
On Error Resume Next
  .GetElementsByName("EnterpriseID")(0).value = "admin"
  .GetElementsByName("PASSWORD")(0).value = "admin"
End With

IE.Document.getElementByID("SignInBtn").Click

End Function

Sub Wait(IE)
Do
WScript.Sleep 500
Loop While IE.ReadyState < 4 And IE.Busy 
Do
WScript.Sleep …
Run Code Online (Sandbox Code Playgroud)

javascript servicenow

10
推荐指数
1
解决办法
2万
查看次数

window.open() 参数在 Edge 中不起作用

在 Servicenow 中,我需要从 UI 操作打开一个新窗口。1. 在新窗口中打开(不是选项卡) 2. 显示导航工具栏(按钮) 3. 显示滚动条 4. 可调整大小

var window = window.open(url, windowName, [windowFeatures]);在 Chrome 和 Firefox 中使用似乎工作正常,但在 IE 中,窗口参数在很大程度上被忽略。高度和宽度似乎是唯一遵守的。我正在使用 Microsoft Edge 41.16299.248.0,无论我尝试什么,我都无法打开一个带有工具栏显示的新窗口。

https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_win_open5 这是测试代码:

myFunction() { window.open("https://www.google.com/search?q=help", "_blank", "toolbar=yes,width=600,height=400,left=600,top=500,status=yes,scrollbars=no,resize=no");
Run Code Online (Sandbox Code Playgroud)

}

当我单击按钮时,会打开一个新窗口,没有工具栏,没有根据左侧/顶部定位,没有状态栏,我确实看到滚动条,并且可以调整大小。

这是来自 MSDN 的示例:https : //msdn.microsoft.com/en-us/library/windows/desktop/ms644696%28v=vs.85%29.aspx? f = 255 & MSPPError =-2147217396

根据 MS 的说法,他们已经采用“ MDN Web Docs 作为当前和新兴的基于标准的 Web 技术的有用、无偏见、与浏览器无关的文档的最终位置。”,但我没有找到对我遇到的这个问题的任何解释. https://docs.microsoft.com/en-us/microsoft-edge/dev-guide

这是 IE Edge 的已知问题还是有某种解决方法?

javascript window.open servicenow microsoft-edge

10
推荐指数
1
解决办法
3792
查看次数

从 ServiceNow REST API 检索文本状态

我正在为 ServiceNow 构建一个相当简单的 REST 应用程序。使用 REST API Explorer(很棒的工具!)和这里的一些示例,我已经能够使用我需要的所有字段信息连接和生成事件记录。

我似乎唯一无法理解的是如何获取事件状态的文本标签 - 我可以从事件记录中获取整数,并且我知道在字典中每个整数之间建立了一个关系和相应的标签。例如。事件状态=1,标签为“新”

也许我错了,但我希望我可以通过 REST 查找另一个表,提取整数并检索我的文本状态?我已经尝试访问 API 资源管理器中的字典表,但这还不够……请问有什么帮助吗?

我进行此集成的目标是提出事件或请求,然后在需要时报告所述记录的状态 - 几天来一直在努力......

rest servicenow

6
推荐指数
1
解决办法
2894
查看次数

是否可以设置Servicenow页面,以便所有子路由都由根页面处理?

给定一个在Servicenow中创建的简单页面,其中包含以下配置:

Name: My Page
Url Suffix: my-page
Layout: foo
Run Code Online (Sandbox Code Playgroud)

在foo内部,我正在单页应用程序中加载,具有各种路径,例如/ invoice/1,invoice/2,user/1,user/2等等.

我正在使用react router这种路由,虽然它松散地支持散列路由,但很明显它被考虑用于"旧浏览器".而且2.4.1似乎_key=存在是一个要求.

无论如何,理想情况下,我不想滥用hashbang来描述路线,而是使用更典型的url结构.

当前:

instance.servicenow/my-page#/invoice/1
Run Code Online (Sandbox Code Playgroud)

首选:

instance.servicenow/my-page/invoice/1
Run Code Online (Sandbox Code Playgroud)

这将要求SN知道任何比重my-page定向到我的页面更深的东西.我来自一个apache世界,在这种情况下我会写下面的内容:

RewriteEngine On  
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]

RewriteRule ^ /index.html [L]
Run Code Online (Sandbox Code Playgroud)

servicenow react-router

6
推荐指数
0
解决办法
221
查看次数

停止 WKWebView 基于通用链接重定向到另一个应用程序

我们正在使用WKWebview来自定义加载和管理我们的 ServiceNow 实例,但是当登录成功时,如果用户在登录后安装了“ServiceNow”移动应用程序,它会打开 ServiceNow 应用程序。

试图阻止最终的 Url 导航操作(decidePolicyfor navigationAction)但没有成功。

这是由于 ServiceNow 端的通用链接而发生的。http://service-now.com/apple-app-site-association

在我们结束时阻止此操作的任何方法。

ios servicenow swift wkwebview

6
推荐指数
1
解决办法
967
查看次数

通过 OAuth for REST 通过单个应用程序访问多个服务实例

我想在 serviceNow(如 Facebook)中创建一个应用程序,它可以通过 OAuth 为不同的实例调用 REST API。

假设,我在 servicenow 的实例 A 中创建了一个应用程序,现在通过适当的 OAuth 和权限机制,我想访问其他实例的 REST API。

到目前为止,我能够创建一个应用程序并将其注册到应用程序注册表中,并且我还能够验证该实例的 Oauth(生成令牌);但现在我想为其他实例执行此操作,而无需每次都创建一个新应用程序。当我尝试这样做时,我收到此错误:

未经授权的客户端:提供的客户端凭据(
您正在使用的服务的凭据)无效或不受信任

servicenow servicenow-rest-api

6
推荐指数
1
解决办法
249
查看次数

c#:在完成之前经过一定时间后重新启动异步任务

所以,我一直在开发一个使用 REST API 请求的应用程序,但是,由于某种原因,该 API 随机变得无响应(有时它会在 3 秒内给出响应,有时请求会花费很长时间,以至于它会抛出 timeOutexception)所以每当我调用一个电话时,如果在一定时间内没有检索到响应,我会使用此代码重新启动调用:

bool taskCompletion = false;
        while(taskCompletion == false)
        {
            try
            {
                using (CancellationTokenSource cts = new CancellationTokenSource())
                {
                    cts.CancelAfter(timeSpan);
                    await task(cts.Token);
                    taskCompletion = true;
                }
            }
            catch (OperationCanceledException)
            {
                taskCompletion = false;
            }
        }
Run Code Online (Sandbox Code Playgroud)

我的 API 请求之一如下:

 public static async Task<Result> task(CancellationToken ct)
    {
        string Url = baseurl
        ApiHelper instance = new ApiHelper();

        using (HttpResponseMessage response = await instance.ApiClient.GetAsync(Url, ct))
        {
            if (response.IsSuccessStatusCode)
            {
                var x = await response.Content.ReadAsStringAsync();
                var result = …
Run Code Online (Sandbox Code Playgroud)

c# rest asynchronous servicenow

6
推荐指数
1
解决办法
115
查看次数

JAXB Unmarshalling XML属性的问题

我正在解决使用JAXB解析XML文件的问题.我需要获取一些名为"display_value"的xml元素的属性.以下是XML文件的一个小示例:

<unload>
  <change_request>
    <active>true</active>
    <approval>not requested</approval>
    <assigned_to display_value=""/>
    <alt_poc display_value="Tom Ford">056468745677484657</alt_poc>
    <poc display_value="Matt Ryan">56465148754878</poc>
   </change_request>
</unload>
Run Code Online (Sandbox Code Playgroud)

我认为在我的ChangeRequest类,我只想对有属性,如alt_poc但是这似乎并没有工作DISPLAY_VALUE领域注释@XmlAttribute(NAME ="DISPLAY_VALUE).这是我ChangeRequest类的一个实例.

@XmlAccessorType(XmlAccessType.FIELD)
public class ChangeRequest{
  String active;
  String approval;
  String assigned_to;
  String alt_poc;
  String poc;
}
Run Code Online (Sandbox Code Playgroud)

我有一个包含ChangeRequest对象列表的类,名为ChangeRequests.这个类很简单,看起来像:

@XmlRootElement(name="unload")
public class ChangeRequests{
ArrayList<ChangeRequest> changeRequestList;

@XmlElement(name="change_request")
public ArrayList<ChangeRequest> getRecords(){
  return changeRequestList;
}
Run Code Online (Sandbox Code Playgroud)

最后,我将向您展示JAXB代码,其中我将完成所有这些操作

URL url = new URL("wwww.somethingInteresting.com/syz.xml");
try {
   JAXBConext jc = JAXBContext.newInstance(ChangeRequest.class, ChangeRequests.class);
   Unmarshaller un  = jc.createUnmarshaller();

   return (ChangeRequests) un.unmarshal(url);
} catch(JAXBException e){
    thow new RunTimeException(e);
}
Run Code Online (Sandbox Code Playgroud)

目前,所有代码都有效,但是当我需要它时,我无法获得display_value.而不是display_value我得到像65484435487这样的长数字.

任何人都可以提供任何帮助都会很棒.谢谢!

java xml jaxb servicenow

5
推荐指数
1
解决办法
5913
查看次数

Service Now现在通过rest api为事件添加标签

我正在尝试为现在发生的服务添加标签,但我无法在任何地方找到任何文档.我查看了事件api中的label和label_entry表.我似乎无法将事件和标签捆绑在一起.

rest servicenow

5
推荐指数
1
解决办法
1144
查看次数

使用 Powershell 从 Servicenow 票证下载附加的 excel 文件

我目前正在开发一个 powershell 脚本,该脚本应该能够从现在服务票中下载附加的 excel 文件,在我解释更多之前,请参阅下面的自动化的基本流程。

  1. 将要求用户输入票号。

在此处输入图片说明

  1. 然后系统会找到那个事故单,准确的拿到需要的excel文件(我在网上看到需要使用sys_id)。
  2. 然后它将被下载到用户机器上的特定路径。例如:“C:\下载\演示\”。

完成所有这些之后,我在网上找到了一个示例脚本,我正在尝试对其进行配置以满足我的需求;但是,我不确定从哪里获取该示例脚本的值。您可以检查脚本下方的项目符号以了解我想到的问题。

$IncidentNumber = Read-Host -Prompt 'Enter Incident Request #'
#$admin = "admin"
#$password = "admin" | ConvertTo-SecureString -AsPlainText -Force 
#$Credential = New-Object pscredential -ArgumentList ($admin,$password)
$Uri = "https://dev42835.service-now.com/api/now/table/incident?sysparm_query=number=$($IncidentNumber)&sysparm_fields=sys_id&sysparm_limit=1"
$IncidentResult = Invoke-RestMethod -Uri $Uri #-Method Get -Credential $Credential
if($IncidentResult.result.sys_id -ne $null) {
    $IncidentAttachments = Invoke-RestMethod -Uri "https://dev42835.service-now.com/api/now/attachment?sysparm_query=table_sys_id=$($IncidentResult.result.sys_id)" #-Method Get -Credential $Credential
    $IncidentAttachments.result | Select file_name , download_link
}
else{
    "Incident Not Found!"
}
Run Code Online (Sandbox Code Playgroud)
  • 我真的需要凭据来运行脚本吗?如果是,有没有办法消除对凭据的需求?
  • 我在哪里可以获得分配给 $URI 变量的 URL?

我是 powershell 自动化的新手,所以如果您能推荐更好的方法,我将不胜感激。

asp.net powershell servicenow servicenow-rest-api

5
推荐指数
1
解决办法
919
查看次数