要将CSV文件报告附加到ServiceNow中的数据源,你可以使用Python编写一个脚本来完成这个任务。下面是一个解决方案的代码示例:
import requests
# 配置ServiceNow的相关信息
url = 'https://your-instance.service-now.com/api/now/attachment/upload' # 替换为你的ServiceNow实例URL
username = 'your-username' # 替换为你的ServiceNow用户名
password = 'your-password' # 替换为你的ServiceNow密码
# 读取CSV文件
file_path = 'path/to/your/file.csv' # 替换为你的CSV文件路径
with open(file_path, 'rb') as file:
file_data = file.read()
# 构建请求头和参数
headers = {
'Content-Type': 'application/octet-stream',
'Accept': 'application/json'
}
params = {
'table_name': 'your-table-name', # 替换为你的数据源表名
'table_sys_id': 'your-table-sys-id', # 替换为你的数据源表的sys_id
'file_name': 'your-file-name.csv' # 替换为你的文件名
}
# 发送POST请求上传文件
response = requests.post(url, auth=(username, password), headers=headers, params=params, data=file_data)
# 检查响应状态码
if response.status_code == 201:
print('文件上传成功!')
else:
print('文件上传失败!错误信息:', response.json())
请注意,你需要替换代码中的以下信息:
url
:将其替换为你的ServiceNow实例的URL。username
和password
:将其替换为你的ServiceNow用户名和密码。file_path
:将其替换为你的CSV文件的路径。table_name
:将其替换为你的数据源表的名称。table_sys_id
:将其替换为你的数据源表的sys_id。file_name
:将其替换为你想要为文件指定的名称。这个脚本将上传指定的CSV文件作为附件添加到ServiceNow中的数据源表中。成功上传后,你将收到一个状态码为201的响应。