扩展Azure多阶段yaml管道日志

时间:2020-02-26 03:25:35

标签: azure-devops azure-pipelines

我正在尝试使用一些自定义详细信息记录多阶段yaml管道的每个阶段的完成情况。 如何将自定义详细信息添加到https://dev.azure.com/ / _ settings / audit日志中。 有没有一种方法可以将该信息持久存储在sqldb或任何其他持久存储选项中。 我如何订阅这些日志事件。

1 个答案:

答案 0 :(得分:0)

如何将自定义详细信息添加到 https://dev.azure.com//_settings/audit日志。

恐怕您无法实现。

因为details的句子格式是由我们的后端类定义和固定的。一旦发生了相应的操作,在操作类旁边,还将调用event方法以生成日志并将其记录到审核页面中。这些都由后端完成。到目前为止,我们还没有向用户公开此操作权限。

但是基于我自己的观点,这是一个好主意,我们可以考虑扩展。因为自定义详细信息可以使details对公司更具可读性。您可以提出自己的想法here,对其进行投票和评论。我们相应的产品小组会定期审查这些建议,并考虑根据其优先级(投票)来考虑我们的发展路线图。


我如何订阅这些日志事件。

有一件重要的事情要告诉您,audit log仅保留90天。它会在90天后清除,包括我们的后端数据库。简而言之,如果您想要超过90天的审核日志,我们也不知道如何帮助您恢复。

因此,我建议您为Powershell任务配置一个预定的管道。

在此powershell任务中,运行此api以获取并存储为所需的任何文件类型,例如.csv.json等。

对于计划值,您可以将其设置为任意时间段。不到90天,这样就不会丢失任何审核事件日志。


是否有一种方法可以将该信息持久存储在sqldb或任何其他数据库中 持久存储选项。

如果可以使用其他数据库,则最好建议您考虑使用文档存储解决方案,例如CouchDBDynamoDBMongoDB

根据您的实际使用情况,可以将Command line task与自代理结合使用,以执行相应的存储命令。

例如,我使用的是MongoDB,我可以运行以下命令来存储api之前生成的JSON文件:

C:\>mongodb\bin\mongoimport --jsonArray -d mer -c docs --file audit20191231.json