首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带松弛的ServiceNow集成

带松弛的ServiceNow集成
EN

Stack Overflow用户
提问于 2017-04-04 13:30:01
回答 3查看 4.2K关注 0票数 0

我需要将servicenow与松弛集成在一起,这有助于向松弛通道发送高且关键的P1警报。

我正在寻找的可能性,可以做,以使serviceNow与松弛集成。

请建议一下。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-09-13 06:49:51

您应该在ServiceNow中在insert/update上创建业务规则。

条件:优先级=1或优先级ChangesTo 1

高级/脚本:

代码语言:javascript
复制
    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);
票数 3
EN

Stack Overflow用户

发布于 2017-04-05 17:31:36

集成ServiceNow和Slack有多种方法。但是,对于您的情况,一种简单而直接的方法是在WebHook中创建一个传入的ServiceNow,它提供了一个URL,而从您的ServiceNow实例所需要做的就是将JSON发布到该URL。

您可以在这里找到有关创建和自定义Slack的更多详细信息:https://api.slack.com/incoming-webhooks

票数 1
EN

Stack Overflow用户

发布于 2018-02-09 13:21:18

您可以使用BR触发所需的条件。这个函数将我们的消息发布到Slack。端点是在Slack中创建的入站web钩子地址:

代码语言:javascript
复制
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};
}

这将告诉您如何创建入站web钩子:https://api.slack.com/incoming-webhooks

下面是我们使用的一个有效载荷示例。${tag}是我们用来从源票证中获取值的简单宏。你只需在BR中做点什么。

代码语言:javascript
复制
{
    "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}"
        }
    ]
}

关于信息:我们使用一个自定义表,并设置了条件以触发将post发送到Slack。用户可以根据需要创建自己的过滤器。所使用的端点是用户提供的入站web钩子。异步业务规则在任务上运行,以检查所需的条件和操作。

目前的工作是使用Slack,以便我们可以张贴到任何频道的id。这意味着我们不会冒险有人创建一个入站的web钩子然后离开公司。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43208710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档