通过API发布ServiceNow知识文章

问题描述 投票:0回答:0

我正在寻找一种方法来创建处于“已发布”状态的文章,或通过 REST API 触发“发布”工作流程。

我写了一些 PowerShell 代码片段,用于创建“草稿”中的文章:

$serviceNowCredential = Get-Credential
$uri = "https://<instance>.service-now.com/api/now/table/kb_knowledge"
$method = "POST"

# Build auth header
$base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $ServiceNowCredential.UserName, $serviceNowCredential.GetNetworkCredential().Password)))

# Set proper headers
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add('Authorization', ('Basic {0}' -f $base64AuthInfo))
$headers.Add('Accept', 'application/json')
$headers.Add('content-type', 'application/json')

$tempObj = [PsCustomObject]@{
    text              = 'Some stuff goes here' 
    sys_created_by    = '[email protected]'
    author            = 'e9326af747d9611091271c42846d43bd'
    active            = 'true'
    kb_knowledge_base = 'cf33206447e5a11091271c42846d43ac'
    topic             = 'General'
    short_description = 'How to do a Thing'
    article_type      = 'text'
    kb_category       = 'a196b8a44729a11091271c42846d438c'
}

$response = Invoke-WebRequest -Headers $headers -Method $method -Uri $uri -Body ($tempObj | ConvertTo-Json) -ErrorAction Stop

效果很好,但我看不出有什么方法可以发布生成的文章。我尝试将日期值添加到“published”和“schedueled_published_date”属性,并将“workflow_state”设置为“published”。

如何切换状态或触发发布工作流程(在本例中为即时发布)来进行发布?我在东京。

servicenow servicenow-rest-api
© www.soinside.com 2019 - 2024. All rights reserved.