無効なライセンス情報についてArtifactoryを監視することを検討しています。言い換えれば、私は、リポジトリが登録されているライセンスの一つと一致しないライセンス情報をアップロードする項目(プロパティartifactory.licenses)を持っていれば意識になりたい(管理] - > [設定]> [はライセンス)をユーザプラグインを使用してArtifactoryリポジトリ内の無効なライセンス情報をモニタする
artifactoryクライアントAPIで、このようなアーティファクトを作成するための簡単なテストケースは次のようになります。
File result = artifactory
.repository("sandbox")
.upload("com/google/guava/guava/14.0.1/guava-14.0.1.jar", jarFile)
.withProperty("artifactory.licenses", "NOTaLICENSE-1.0")
.doUpload()
承認されなかったり、未承認もされていないライセンス情報を検出するために使用することができるライセンス情報を検索するための公共REST APIがあります、それは要件に合っていて不正確なアーティファクトを見つけるように思われる:
curl -u "admin:password" -X GET "http://artifactory_server/artifactory/api/search/license?unapproved=0&approved=0"
{
"results" : [ {
"uri" : "http://artifactory_server/artifactory/sandbox/com/google/guava/guava/14.0.1/guava-14.0.1.jar",
"license" : "Unknown",
"found" : "",
"status" : "Unapproved"
} ]
}
しかし、私はむしろ、ユーザーのプラグインでこれを行うしたいと思います(https://www.jfrog.com/confluence/display/RTF/User+Pluginsを参照)が、私はArtifactoryパブリックAPIから同じ情報を取得する方法が表示されません。
- REST上で利用可能であるものと同様のライセンスの検索は、検索サービスhttp://repo.jfrog.org/artifactory/oss-releases-local/org/artifactory/artifactory-papi/5.4.4/artifactory-papi-5.4.4-javadoc.jar!/org/artifactory/search/Searches.html)を使用して利用できません。
は、いくつかのテストの後、パブリックAPI(artifactory-PAPI)と私の現在の理解は、ということです。
SearchesサービスのAQL機能を使用すると、基本となるプロパティにアクセスできるだけで、「不明」かどうかを判断することはできません。
items.find({ "@ artifactory.licenses": "NOTaLICENSE-1.0"})
が
items.find({"@artifactory.licenses" : "Unknown"})
一方で、私たちの間違ったアーティファクトを返しますでしょうない私たちを返します不正な成果物
- 登録されたライセンスのリストを返すAPIはありません。プロパティから、私は、ユーザーのプラグインからのREST APIを呼び出すことを考えていますが、これはすべてのアイデアは歓迎右:-)
することはできません登録ライセンス
とartifactory.licensesを値と一致するので、何のスクリプト可能な方法がありません。これはArtifactory 5.4.6です。