如何使用 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