如何使用 powershell 关闭 Lametric 通知
How to dismiss a Lametric Nofitication using powershell
这是 的后续问题,内容是关于关闭 Lametric 时钟上的通知。我们使用 Lametric 时钟在构建失败时显示通知。到目前为止,需要有人站起来并按下 Lametric 时钟上的按钮才能再次关闭通知。如何使用 powershell 解决这个问题?
为了解决这个问题,我们首先发起了一个 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
这将 return 一个包含 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
这是
为了解决这个问题,我们首先发起了一个 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
这将 return 一个包含 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