ServiceNow 与 slack 集成
ServiceNow integration with slack
我需要将 servicenow 与 slack 集成,这有助于将高危 P1 警报发送到 slack 通道。
我正在寻找将 serviceNow 与 slack 集成的可能性。
求推荐。
您可以使用 ` 简单地编写基于 REST 的集成。是否有更多您需要了解的信息,或者您有什么特别的想法?
有多种方法可以集成 ServiceNow 和 Slack。但是,对于您的情况,一种简单直接的方法是在 Slack 中创建一个 Incoming WebHook,它提供 URL 并且您需要从 ServiceNow 实例做的就是 post JSON URL。
您可以在此处找到有关创建和自定义 Slack webhook 的更多详细信息:https://api.slack.com/incoming-webhooks
您应该在 insert/update 上在 ServiceNow 中创建业务规则。
条件:
优先级 = 1 或优先级更改为 1
Advanced/Script:
var request = new sn_ws.RESTMessageV2('SLACK_EndpointURL', 'POST');
request.setRequestHeader("Accept","application/json");
request.setRequestHeader('Content-Type','application/json');
//OR METHOD # request.setEndpoint('SLACK_EndpointURL');
// Your message
var reqBody = '{\"text\":\"This is a line of text.\nAnd this is another one.\"}';
request.setRequestBody(reqBody);
var response = request.execute();
var responseBody = response.getBody();
//See response in System Logs # gs.log(responseBody);
您可以使用 BR 在所需条件下触发。这个函数 post 将我们的消息发送给 Slack。端点是在 Slack 中创建的入站 webhook 地址:
function postMessage(inPayload, inEndpoint, inTimeout) {
var sResponseBody = '', nResponseCode = 0, sResponseMessage = '', sResponseEndpoint = '', sResponseHeaders = [];
var rest = new sn_ws.RESTMessageV2();
rest.setEndpoint(inEndpoint);
rest.setHttpTimeout(inTimeout);
rest.waitForResponse(inTimeout);
rest.setRequestHeader('Content-Type', 'application/json');
rest.setRequestHeader('Accept', 'application/json');
rest.setHttpMethod('post');
rest.setRequestBody(inPayload);
for ( var i = 0; i < 3; i++ ) {
try {
var response = rest.execute();
sResponseBody = response.getBody();
nResponseCode = response.getStatusCode();
sResponseEndpoint = response.getEndpoint();
sResponseHeaders = response.getRequestHeaders();
break;
} catch( err ) {
sResponseMessage = err.getMessage();
gs.sleep(5000);
}
}
return {"ResponseCode":nResponseCode,"ResponseBody":sResponseBody,"ResponseMessage":sResponseBody,"ResponseEndpoint":sResponseEndpoint, "ResponseHeaders":sResponseHeaders};
}
这将告诉您如何创建入站 webhook:
https://api.slack.com/incoming-webhooks
这是我们使用的示例负载。 ${tags} 是我们用来从源票证中获取价值的简单宏。你可以简单地在 BR 中漫游。
{
"username":"${SlackUsername}",
"attachments":[{
"title":"Short description",
"title_link":"${URL}",
"text":"${ShortDescription}",
"fallback":"${ShortDescription}",
"color":"${Color}",
"footer":"${SlackUsername}",
"fields":[
{"title":"State","value":"${State}","short":true},
{"title":"Priority","value":"${Priority}","short":true},
{"title":"Assignment group","value":"${AssignmentGroup}","short":true},
{"title":"Assigned to","value":"${AssignedTo}","short":true},
{"title":"Technical Service","value":"${TechnicalService}","short":true},
{"title":"Configuration item","value":"${ConfigurationItem}","short":true},
{"title":"Details","value":"${Description}","short":false}
],
"ts":"${TimeStampEpoch}"
}
]
}
相关信息:
我们使用自定义 table 并设置条件以触发 post 到 Slack。用户可以根据需要简单地创建自己的过滤器。使用的端点是用户提供的入站 webhook。
异步业务规则在任务上运行以根据需要审查条件和操作。
目前这方面的工作是使用 Slack 应用程序,这样我们就可以通过频道 ID post 到任何频道。这意味着我们不会冒有人创建入站 webhook 然后离开公司的风险。
ServiceNow 和 Slack 在 SN 版本金士顿中提供 OOTB 集成。在 serviceNow 方面,您可以使用 slack spoke 在新的流程设计器中创建集成。
https://docs.servicenow.com/bundle/kingston-servicenow-platform/page/administer/integrationhub/reference/slack-spoke.html
您可以在 2 分钟内设置 ServiceNow 与 Slack 的集成,而无需编写一行代码。
只需转到下面的 URL,注册,连接您的 ServiceNow 和 Slack 帐户并设置您的集成。
Connect ServiceNow to Slack now.
希望这对您有所帮助。 :)
使用传入的 webhook 和传出的 webhook 以及作为 ServiceNow 集成中心的一部分的 slack spoke 来集成 Slack 非常简单。
您可以简单地创建一个基于集成中心中的某些条件触发的流,并使用 slack spoke 将消息从 ServiceNow 触发到所需的 slack 通道。
此 slack spoke 将使用您的 slack 传入 webhook 的详细信息 URL 和其他详细信息。
如果您需要任何进一步的帮助,请告诉我。
此致
我需要将 servicenow 与 slack 集成,这有助于将高危 P1 警报发送到 slack 通道。
我正在寻找将 serviceNow 与 slack 集成的可能性。
求推荐。
您可以使用 ` 简单地编写基于 REST 的集成。是否有更多您需要了解的信息,或者您有什么特别的想法?
有多种方法可以集成 ServiceNow 和 Slack。但是,对于您的情况,一种简单直接的方法是在 Slack 中创建一个 Incoming WebHook,它提供 URL 并且您需要从 ServiceNow 实例做的就是 post JSON URL。
您可以在此处找到有关创建和自定义 Slack webhook 的更多详细信息:https://api.slack.com/incoming-webhooks
您应该在 insert/update 上在 ServiceNow 中创建业务规则。
条件: 优先级 = 1 或优先级更改为 1
Advanced/Script:
var request = new sn_ws.RESTMessageV2('SLACK_EndpointURL', 'POST');
request.setRequestHeader("Accept","application/json");
request.setRequestHeader('Content-Type','application/json');
//OR METHOD # request.setEndpoint('SLACK_EndpointURL');
// Your message
var reqBody = '{\"text\":\"This is a line of text.\nAnd this is another one.\"}';
request.setRequestBody(reqBody);
var response = request.execute();
var responseBody = response.getBody();
//See response in System Logs # gs.log(responseBody);
您可以使用 BR 在所需条件下触发。这个函数 post 将我们的消息发送给 Slack。端点是在 Slack 中创建的入站 webhook 地址:
function postMessage(inPayload, inEndpoint, inTimeout) {
var sResponseBody = '', nResponseCode = 0, sResponseMessage = '', sResponseEndpoint = '', sResponseHeaders = [];
var rest = new sn_ws.RESTMessageV2();
rest.setEndpoint(inEndpoint);
rest.setHttpTimeout(inTimeout);
rest.waitForResponse(inTimeout);
rest.setRequestHeader('Content-Type', 'application/json');
rest.setRequestHeader('Accept', 'application/json');
rest.setHttpMethod('post');
rest.setRequestBody(inPayload);
for ( var i = 0; i < 3; i++ ) {
try {
var response = rest.execute();
sResponseBody = response.getBody();
nResponseCode = response.getStatusCode();
sResponseEndpoint = response.getEndpoint();
sResponseHeaders = response.getRequestHeaders();
break;
} catch( err ) {
sResponseMessage = err.getMessage();
gs.sleep(5000);
}
}
return {"ResponseCode":nResponseCode,"ResponseBody":sResponseBody,"ResponseMessage":sResponseBody,"ResponseEndpoint":sResponseEndpoint, "ResponseHeaders":sResponseHeaders};
}
这将告诉您如何创建入站 webhook: https://api.slack.com/incoming-webhooks
这是我们使用的示例负载。 ${tags} 是我们用来从源票证中获取价值的简单宏。你可以简单地在 BR 中漫游。
{
"username":"${SlackUsername}",
"attachments":[{
"title":"Short description",
"title_link":"${URL}",
"text":"${ShortDescription}",
"fallback":"${ShortDescription}",
"color":"${Color}",
"footer":"${SlackUsername}",
"fields":[
{"title":"State","value":"${State}","short":true},
{"title":"Priority","value":"${Priority}","short":true},
{"title":"Assignment group","value":"${AssignmentGroup}","short":true},
{"title":"Assigned to","value":"${AssignedTo}","short":true},
{"title":"Technical Service","value":"${TechnicalService}","short":true},
{"title":"Configuration item","value":"${ConfigurationItem}","short":true},
{"title":"Details","value":"${Description}","short":false}
],
"ts":"${TimeStampEpoch}"
}
]
}
相关信息: 我们使用自定义 table 并设置条件以触发 post 到 Slack。用户可以根据需要简单地创建自己的过滤器。使用的端点是用户提供的入站 webhook。 异步业务规则在任务上运行以根据需要审查条件和操作。
目前这方面的工作是使用 Slack 应用程序,这样我们就可以通过频道 ID post 到任何频道。这意味着我们不会冒有人创建入站 webhook 然后离开公司的风险。
ServiceNow 和 Slack 在 SN 版本金士顿中提供 OOTB 集成。在 serviceNow 方面,您可以使用 slack spoke 在新的流程设计器中创建集成。 https://docs.servicenow.com/bundle/kingston-servicenow-platform/page/administer/integrationhub/reference/slack-spoke.html
您可以在 2 分钟内设置 ServiceNow 与 Slack 的集成,而无需编写一行代码。
只需转到下面的 URL,注册,连接您的 ServiceNow 和 Slack 帐户并设置您的集成。
Connect ServiceNow to Slack now.
希望这对您有所帮助。 :)
使用传入的 webhook 和传出的 webhook 以及作为 ServiceNow 集成中心的一部分的 slack spoke 来集成 Slack 非常简单。
您可以简单地创建一个基于集成中心中的某些条件触发的流,并使用 slack spoke 将消息从 ServiceNow 触发到所需的 slack 通道。
此 slack spoke 将使用您的 slack 传入 webhook 的详细信息 URL 和其他详细信息。
如果您需要任何进一步的帮助,请告诉我。
此致