问题描述
我正在尝试使用ServiceNow Jenkins插件,该插件使用Table API并遇到两个问题-
- ServiceNow Table REST API似乎不支持同时插入多个记录,因此下面的脚本仅在我尝试“将更改请求状态设置为实施”之前起作用,任何人都对我如何提出建议也许开始一个新线程?
- 在“开始日期”中以“ YYYYmmddhhmmss”格式插入当前时间戳的最佳方法是在“结束日期”中插入+1天?
import groovy.json.JsonSlurper
import org.json.simple.JSONObject
pipeline {
agent any
stages {
stage('Create Change Request') {
steps {
script {
try {
def response = serviceNow_createChange serviceNowConfiguration: [instance: 'sNowlab',producerId: '4726c1c41b7bd0856756756'],credentialsId: 'ServiceNowLab'
def jsonSlurper = new JsonSlurper()
def createResponse = jsonSlurper.parseText(response.content)
def sysId = createResponse.result.sys_id
def changeNumber = createResponse.result.number
println "${changeNumber} has been created successfully"
println "Change Request SYSID: ${sysId}"
//Update and Schedule Change
def messageJson = new JSONObject()
messageJson.putAll([business_service:'app1',start_date:'CURRENT DATE',end_date: '+ 1 DAY FROM CURRENT DATE',state:'-2'])
def updateResponse = serviceNow_updateChangeItem serviceNowConfiguration: [instance: 'sNowlab'],credentialsId: 'ServiceNowLab',serviceNowItem: [table: 'change_request',sysId: sysId,body: messageJson.toString()]
//Set Change Request State to Implement
def statmessageJson = new JSONObject()
statmessageJson.putAll([state: '-1'])
def statResponse = serviceNow_UpdateChangeItem serviceNowConfiguration: [instance: 'sNowlab'],body: statmessageJson.toString()]
} catch (e) {
}
}
}
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)