使用Artifactory REST API构建上传

问题描述 投票:0回答:1

我在弄清楚如何将已上传的工件注册到工件构建中遇到麻烦。我知道我可以使用人工构建的上载终结点,该终结点在某种程度上对我有用,但是无法找出用于JSON数据的正确有效负载。

我尝试使用不同的有效负载来引用我在工件信息下看到的信息。

这是我的有效载荷:

{
    "url":  "https://bamboo-ci-server-url/browse/EC-SRT0-25",
    "vcsRevision":  "14fc6dcf71bee74e328078",
    "artifactoryPrincipal":  "username",
    "version":  "4.0.0-SNAPSHOT",
    "number":  "27",
    "started":  "2019-11-04T19:49:35.471+0100",
    "name":  "SPO3.MGUI.RTEST",
    "properties":  {
                       "buildInfo.env.JAVA_HOME":  "java_home"
                   },
    "issues":  {
                   "tracker":  {
                                   "version":  "8.5.0",
                                   "name":  "JIRA"
                               },
                   "affectedIssues":  [
                                          {
                                              "url":  "https://jira-url/browse/projectkey-3433",
                                              "key":  "projectkey-3433",
                                              "summary":  "Testing snapshot builds automation"
                                          },
                                          {
                                              "url":  "https://bamboo-ci-cerver-url/browse/EC-3408",
                                              "key":  "projectkey-3408",
                                              "summary":  "Create release for 1.4"
                                          }
                                      ]
               },
    "modules":  [
                    {
                        "id":  "SPO3.MGUI.RTEST-4.0.0-SNAPSHOT",
                        "artifacts":  [
                                          {
                                              "name":  "/com/company/module/SPO3.MGUI.RTEST/4.0.0-SNAPSHOT/ivy.xml",
                                              "md5":  "a242c427c6c1fdcd33c1c0498fb41324",
                                              "type":  "application/xml",
                                              "sha1":  "2d4916b9a1292dca8875b1aceaca9beb8de1a5e6"
                                          },
                                          {
                                              "name":  "/com/company/module/SPO3.MGUI.RTEST/4.0.0-SNAPSHOT/SPO3.MGUI.RTEST-bin-4.0.0-SNAPSHOT.zip",
                                              "md5":  "581be6dd9e6615d14db2bb0d05c724e6",
                                              "type":  "application/x-gzip",
                                              "sha1":  "62436ab1aff6cdcdeba59bcac39d6223697398c4"
                                          }
                                      ]
                    }
                ],
    "vcsUrl":  "https://bitbucket-url/project/ec/repo.git"
}

我这样提交:

Invoke-RestMethod -Uri $url -Method PUT -Body $json -ContentType 'application/json' -Headers $headers
To the URL - https://artifactory-url/artifactory/api/build    

我希望成功的构建上载会将我的工件链接到构建,以便我可以直接从构建信息页面上看到该工件。

我认为我的有效载荷信息不正确,但是我不知道该使用什么。

这是我在工件构建信息下看到的:

Name:   ivy.xml
Repository Path:    repo-snapshot-local/com/company/module/SPO3.MGUI.RTEST/4.0.0-SNAPSHOT/ivy.xml
Module ID:  com.company.module:SPO3.MGUI.RTEST:4.0.0-SNAPSHOT 

具体来说,如果我是对的,这是我需要的帮助(将正确的工件信息用于模块ID,名称等:

"modules":  [
                    {
                        "id":  "SPO3.MGUI.RTEST-4.0.0-SNAPSHOT",
                        "artifacts":  [
                                          {
                                              "name":  "/com/company/module/SPO3.MGUI.RTEST/4.0.0-SNAPSHOT/ivy.xml",
                                              "md5":  "a242c427c6c1fdcd33c1c0498fb41324",
                                              "type":  "application/xml",
                                              "sha1":  "2d4916b9a1292dca8875b1aceaca9beb8de1a5e6"
                                          },
                                          {
                                              "name":  "/com/company/module/SPO3.MGUI.RTEST/4.0.0-SNAPSHOT/SPO3.MGUI.RTEST-bin-4.0.0-SNAPSHOT.zip",
                                              "md5":  "581be6dd9e6615d14db2bb0d05c724e6",
                                              "type":  "application/x-gzip",
                                              "sha1":  "62436ab1aff6cdcdeba59bcac39d6223697398c4"
                                          }
                                      ]
                    }
                ]

我的构建的工件构建页面下的

“ repo path”部分显示了此味精:“找不到路径(外部解析或删除/覆盖)”我相信这是因为我在提交REST调用时使用了错误的有效负载。 如果我使用正确的信息,那么应该正确填充此信息,我可以直接单击它以路由到工件。

在此感谢您的任何帮助。谢谢

powershell rest artifactory
1个回答
0
投票

如果您在“构建”选项卡中具有构建,但是所有工件都具有“找不到路径(外部解析或删除/覆盖),则很可能意味着您没有将所需的属性添加到上载的文件(build.name,构建。号)。

© www.soinside.com 2019 - 2024. All rights reserved.