【发布时间】:2018-06-01 12:21:55
【问题描述】:
这是this comment 的后续问题,关于关闭 Lametric 时钟上的通知。我们使用 Lametric 时钟在构建失败时显示通知。到目前为止,需要有人起床并物理按下 Lametric 时钟上的按钮才能再次关闭通知。如何使用 powershell 解决这个问题?
【问题讨论】:
标签: api powershell webrequest lametric
这是this comment 的后续问题,关于关闭 Lametric 时钟上的通知。我们使用 Lametric 时钟在构建失败时显示通知。到目前为止,需要有人起床并物理按下 Lametric 时钟上的按钮才能再次关闭通知。如何使用 powershell 解决这个问题?
【问题讨论】:
标签: api powershell webrequest lametric
为了解决这个问题,我们首先发出 GET 请求以获取 Lametric 时钟队列中的通知 ID 列表:
$request = @{uri = 'http://192.168.37.75:8080/api/v2';
Method = 'GET';
Headers = @{Authorization = 'Basic <base64-encoded-authentication-string>'; "Content-Type" = 'application/json' }
}
$notifications = invoke-webrequest -UseBasicParsing @request
$request = @{uri = 'http://192.168.37.75:8080/api/v2/device/notifications';
Method = 'GET';
Headers = @{Authorization = 'Basic <base64-encoded-authentication-string>'; "Content-Type" = 'application/json' }
}
$notifications = invoke-webrequest -UseBasicParsing @request
这将返回一个具有包含 JSON 字符串的属性内容的对象。这可以转换为对象列表:
$notification = $notifications.Content | ConvertFrom-Json
从该列表中获取第一个元素,我们可以生成要调用的 URI
$notificationUri = 'http://192.168.37.75:8080/api/v2/device/notifications/' + $notification[0].ID;
并使用它来关闭通知
$request = @{uri = $notificationUri
Method = 'DELETE';
Headers = @{Authorization = 'Basic <base64-encoded-authentication-string>'; "Content-Type" = 'application/json' }
}
invoke-webrequest -UseBasicParsing @request
【讨论】: