我一直在使用 Artifactory pro 和 Jenkins(使用 Jenkins 插件),并且一直在尝试配置我的构建以报告其他类型状态的许可证违规,即除未知或未批准之外的状态。
The JFrog license control documentation states :
"You can also set a list of recipients to be notified about license violations as soon as they occur. This way whenever a dependency with an unknown or unapproved license is added to the build recipients receive an immediate email notification and can tend to any potential license violation."
Artifactory 内部还有更多设置,这些是:
- 未知
- 未批准
- 未找到
- 中性
- 已批准
This corresponds to the REST API :
Usage: GET /api/search/license[?unapproved=1][&unknown=1][¬found=0][&neutral=0][&approved=0][&autofind=0][&repos=x[,y]]
不幸的是,我没有找到直接在 Artifactory 中更改这些设置的方法,并且我找不到允许我设置这些值的 REST API 调用。
有没有办法设置这些值(在 Artifactory 服务器或 Jenkins 插件中)以返回“中性”作为许可证违规?
最佳答案
让我们首先理解这些状态。 对于每个许可证,只有两种状态:已批准或未批准(它是一个复选框,true 或 false)。
Artifactory 根据这个简单的 boolean 值计算 Artifactory 的状态:
- 未知 - 找到的许可证与 Artifactory 已知的任何许可证类型都不匹配
- 未批准 - 我们发现一个或多个许可证,所有许可证都属于未批准类型
- 未找到 - pom.xml (ivy.xml) 中没有有关许可证的信息
- 中立 - 我们发现了多个许可证,其中一些已获得批准,其他则未获得批准
- 已批准 - 我们找到一个或多个许可证,所有许可证都属于已批准类型
目前,电子邮件通知的触发器列表被硬编码为“未知”和“未经证实”。非常欢迎您访问open a feature request使其可定制(我可以想象一个用于选择/取消选择每个状态的复选框列表)
关于java - 是否可以更改 Artifactory pro/Jenkins 中的许可证违规设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24203642/