Error: "'Base' is not a valid PriceId for base price" when trying to deploy a Microsoft Store app with VSTS tasks

Error: "'Base' is not a valid PriceId for base price" when trying to deploy a Microsoft Store app with VSTS tasks

简介

我已经创建了一个 Windows 通用项目,我希望它能够使用 VSTS 任务自动发布到 Microsoft 商店。

由于该应用程序仅供公司内部使用,我已将其价格设置为免费并已手动发布。接下来,我们将它分配给了几个内部公司 Microsoft 帐户,以确保只有他们可以下载它。

我走过的步数

首先,我开始将 VSTS 扩展安装到我的 VSTS 帐户: https://marketplace.visualstudio.com/items?itemName=MS-RDX-MRO.windows-store-publish

之后,我大致按照 URL 中描述的步骤进行操作。 (之所以松松地跟着他们,是因为有些步骤好像不是up-to-date)。例如,从开发人员门户创建新应用程序需要多次重定向 URL。由于我们不需要重定向 URL(此应用仅用于通过 VSTS 进行远程连接),因此我刚开始输入 运行dom URL。可能由于我缺乏知识,我没有设法找到它会接受的任何东西。因为这不起作用,所以我在 VSTS 中创建了一个新应用程序,我刚刚输入 www.google.nl 作为重定向 URL 实际上确实有效(在发现之后你需要创建一个 'WebApp' 而不是 'Native' 应用程序,因为您只能为 WebApp 创建密钥。但我想那是一个不同的主题:)。

无论如何,经过一番摆弄,我设法设置了一个新的 'Windows Dev Center Connection'。

VSTS 的外观

构建输出:

发布:

问题

每当我现在使用 VSTS 任务部署我的版本时,我都会遇到以下日志/错误:

我尝试re-mediate问题的步骤

如 VSTS 任务市场 post 中所述,您还可以添加一些有关产品价格的元数据。我确实玩过这个并添加了以下元数据文件: MetaDataFolder\MetaData\en-us\baseListing\metadata.json

{
  "pricing": {
    "priceId": "Free"
  }
}

但这并没有改变任何东西,发布时的错误信息仍然是一样的。

手动提交(使用自动构建生成的包)确实没有问题。

问题

所以基本上我的问题是,是否有人可以解决这个问题?

编辑 1

根据 'Eddie Chen - MSFT' 的要求,这是开发中心价格设置的屏幕截图:

关于你问我为 'Mandatory Update' 输入的数字,我输入了:0

使用 debug: true 进行发布时,我看到以下输出:

2018-01-31T13:07:30.9934874Z ##[section]Starting: Publish $(System.DefaultWorkingDirectory)/AvaNuccyApp/drop/*.appxupload
2018-01-31T13:07:30.9940374Z ==============================================================================
2018-01-31T13:07:30.9940708Z Task         : Windows Store - Publish
2018-01-31T13:07:30.9941014Z Description  : Publish your app to the Windows Store
2018-01-31T13:07:30.9941547Z Version      : 0.10.16
2018-01-31T13:07:30.9941873Z Author       : Microsoft Corporation
2018-01-31T13:07:30.9942144Z Help         : 
2018-01-31T13:07:30.9942471Z ==============================================================================
2018-01-31T13:07:31.3440628Z ##[debug]agent.workFolder=C:\agent\_work
2018-01-31T13:07:31.3501058Z ##[debug]loading inputs and endpoints
2018-01-31T13:07:31.3513203Z ##[debug]loading ENDPOINT_AUTH_************
2018-01-31T13:07:31.3522586Z ##[debug]loading ENDPOINT_AUTH_PARAMETER_************_SERVICEPRINCIPALID
2018-01-31T13:07:31.3534454Z ##[debug]loading ENDPOINT_AUTH_PARAMETER_************_SERVICEPRINCIPALKEY
2018-01-31T13:07:31.3535170Z ##[debug]loading ENDPOINT_AUTH_PARAMETER_************_TENANTID
2018-01-31T13:07:31.3535710Z ##[debug]loading ENDPOINT_AUTH_PARAMETER_************_URL
2018-01-31T13:07:31.3537240Z ##[debug]loading ENDPOINT_AUTH_PARAMETER_SYSTEMVSSCONNECTION_ACCESSTOKEN
2018-01-31T13:07:31.3538902Z ##[debug]loading ENDPOINT_AUTH_SCHEME_************
2018-01-31T13:07:31.3540462Z ##[debug]loading ENDPOINT_AUTH_SCHEME_SYSTEMVSSCONNECTION
2018-01-31T13:07:31.3541894Z ##[debug]loading ENDPOINT_AUTH_SYSTEMVSSCONNECTION
2018-01-31T13:07:31.3544035Z ##[debug]loading INPUT_APPID
2018-01-31T13:07:31.3545829Z ##[debug]loading INPUT_DELETEPACKAGES
2018-01-31T13:07:31.3553866Z ##[debug]loading INPUT_FORCE
2018-01-31T13:07:31.3554403Z ##[debug]loading INPUT_ISMANDATORYUPDATE
2018-01-31T13:07:31.3559886Z ##[debug]loading INPUT_MANDATORYUPDATEDIFFERHOURS
2018-01-31T13:07:31.3560434Z ##[debug]loading INPUT_METADATAPATH
2018-01-31T13:07:31.3561625Z ##[debug]loading INPUT_METADATAUPDATEMETHOD
2018-01-31T13:07:31.3563494Z ##[debug]loading INPUT_NAMETYPE
2018-01-31T13:07:31.3565135Z ##[debug]loading INPUT_NUMBEROFPACKAGESTOKEEP
2018-01-31T13:07:31.3571193Z ##[debug]loading INPUT_PACKAGEPATH
2018-01-31T13:07:31.3571940Z ##[debug]loading INPUT_SERVICEENDPOINT
2018-01-31T13:07:31.3577592Z ##[debug]loading INPUT_SKIPPOLLING
2018-01-31T13:07:31.3578043Z ##[debug]loading INPUT_UPDATEIMAGES
2018-01-31T13:07:31.3582591Z ##[debug]loaded 22
2018-01-31T13:07:32.0285828Z ##[debug]serviceEndpoint=************
2018-01-31T13:07:32.0286391Z ************ exists true
2018-01-31T13:07:32.0286806Z ##[debug]************ exists true
2018-01-31T13:07:32.0287178Z ##[debug]force=true
2018-01-31T13:07:32.0287519Z ##[debug]metadataUpdateMethod=JsonMetadata
2018-01-31T13:07:32.0287877Z ##[debug]updateImages=false
2018-01-31T13:07:32.0288242Z ##[debug]Agent.WorkFolder=C:\agent\_work
2018-01-31T13:07:32.0288598Z ##[debug]skipPolling=false
2018-01-31T13:07:32.0288946Z ##[debug]deletePackages=false
2018-01-31T13:07:32.0289296Z ##[debug]isMandatoryUpdate=true
2018-01-31T13:07:32.0289637Z ##[debug]mandatoryUpdateDifferHours=0
2018-01-31T13:07:32.0290031Z ##[debug]packagePath=C:\agent\_work\r7\a\AvaNuccyApp\drop\*.appxupload
2018-01-31T13:07:32.0290454Z ##[debug]Agent.ReleaseDirectory=C:\agent\_work\r7\a
2018-01-31T13:07:32.0291761Z ##[debug]packagePath=C:\agent\_work\r7\a\AvaNuccyApp\drop\*.appxupload
2018-01-31T13:07:32.0292240Z ##[debug]additionalPackages=null
2018-01-31T13:07:32.0292799Z ##[debug]nameType=AppId
2018-01-31T13:07:32.0293150Z ##[debug]appId=***************
2018-01-31T13:07:32.0293517Z ##[debug]metadataPath=C:\agent\_work\r7\a\AvaNuccyApp\drop\MetaData
2018-01-31T13:07:32.0293935Z ##[debug]check path : C:\agent\_work\r7\a\AvaNuccyApp\drop\MetaData
2018-01-31T13:07:32.0294315Z ##[debug]App ID: ***************
2018-01-31T13:07:32.0294813Z ##[debug]Endpoint: ********
2018-01-31T13:07:32.0295167Z ##[debug]Force delete: true
2018-01-31T13:07:32.0295518Z ##[debug]Metadata update type: 1
2018-01-31T13:07:32.0295869Z ##[debug]Update images: false
2018-01-31T13:07:32.0296253Z ##[debug]Metadata root: C:\agent\_work\r7\a\AvaNuccyApp\drop\MetaData
2018-01-31T13:07:32.0296720Z ##[debug]Packages: C:/agent/_work/r7/a/AvaNuccyApp/drop/SurfaceHubApp_1.1.3.0_x86_x64_ARM_bundle.appxupload
2018-01-31T13:07:32.0297120Z ##[debug]skipPolling: false
2018-01-31T13:07:32.0297473Z ##[debug]deletePackages: false
2018-01-31T13:07:32.0297827Z ##[debug]numberOfPackagesToKeep: null
2018-01-31T13:07:32.0298186Z ##[debug]isMandatoryUpdate: false
2018-01-31T13:07:32.0298550Z ##[debug]mandatoryUpdateDifferHours: 0
2018-01-31T13:07:32.0298777Z Authenticating...
2018-01-31T13:07:32.0299014Z Authenticating with server...
2018-01-31T13:07:32.2053404Z Obtaining app information...
2018-01-31T13:07:32.2056609Z ##[debug]Getting app resource from ID ***************
2018-01-31T13:07:36.5211421Z Creating submission...
2018-01-31T13:07:36.5212061Z ##[debug]Creating new submission
2018-01-31T13:07:50.8720492Z ##[debug]Warnings occurred in request
2018-01-31T13:07:50.8727174Z ##[debug]  [SalesUnsupportedWarning]  The sales resource is no longer supported. To view or edit the sales data for this submission, use the Dev Center dashboard.
2018-01-31T13:07:50.8728740Z ##[debug]CorrelationId: *******-****-****-****-**********
2018-01-31T13:07:50.8732495Z Submission https://developer.microsoft.com/en-us/dashboard/apps/***************/submissions/************ was created successfully
2018-01-31T13:07:50.8733397Z Updating package delivery options...
2018-01-31T13:07:50.8733801Z ##[debug]Setting isMandatoryUpdate to false
2018-01-31T13:07:50.8734058Z Updating submission...
2018-01-31T13:07:50.8734436Z ##[debug]Adding metadata for new submission ************
2018-01-31T13:07:50.8734887Z ##[debug]Updating metadata of submission object from directory C:\agent\_work\r7\a\AvaNuccyApp\drop\MetaData
2018-01-31T13:07:50.8735313Z ##[debug]Obtaining metadata for language en-us
2018-01-31T13:07:50.8735766Z ##[debug]Obtaining base listing
2018-01-31T13:07:50.8736191Z ##[debug]Loading listing attributes from C:\agent\_work\r7\a\AvaNuccyApp\drop\MetaData\en-us\baseListing\metadata.json
2018-01-31T13:07:50.8736913Z ##[debug]Adding 1 package(s)
2018-01-31T13:07:50.8737252Z ##[debug]Updating submission
2018-01-31T13:07:53.5078726Z ##[debug]task result: Failed
2018-01-31T13:07:53.5143077Z ##[error]Status 400: {"code":"InvalidParameterValue","data":[],"details":[],"message":"'Base' is not a valid PriceId for base price.","source":"Ingestion Api","target":"pricing"} CorrelationId: *******-****-****-****-**********
2018-01-31T13:07:53.5143698Z ##[debug]Processed: ##vso[task.issue type=error;]Status 400: {"code":"InvalidParameterValue","data":[],"details":[],"message":"'Base' is not a valid PriceId for base price.","source":"Ingestion Api","target":"pricing"} CorrelationId: *******-****-****-****-**********
2018-01-31T13:07:53.5144965Z ##[debug]Processed: ##vso[task.complete result=Failed;]Status 400: {"code":"InvalidParameterValue","data":[],"details":[],"message":"'Base' is not a valid PriceId for base price.","source":"Ingestion Api","target":"pricing"} CorrelationId: *******-****-****-****-**********
2018-01-31T13:07:53.5203235Z ##[section]Finishing: Publish $(System.DefaultWorkingDirectory)/AvaNuccyApp/drop/*.appxupload
2018-01-31T13:07:53.5359048Z ##[section]Finishing: Release

编辑 2

在对这个问题做了更多研究之后,我现在设法在我的本地计算机上重现它(我想这意味着进步;))。

无论如何,我使用的步骤可能对遇到类似问题的任何人都有用。

  1. 我按照此处描述的步骤设置 PowerShell 模块 对于 StoreBroker https://github.com/Microsoft/StoreBroker/blob/master/Documentation/SETUP.md
  2. 我还遵循了 SETUP.md 的其余部分,其中描述了如何制作 SBConfig.json 文件并将商店图像附加到它等等
  3. 我按照 https://github.com/Microsoft/StoreBroker/blob/master/Documentation/USAGE.md 中的步骤使用 New-SubmissionPackage 命令创建了一个 zip 包。
  4. 我 运行 'New-SubmissionPackage' 命令,如同一页所述。
  5. 现在弹出同样的错误,它说:'Base' 不是基本价格的有效 PriceId。

当将生成的 JSON 文件更改为 PriceId: Free 时,提交工作正常,但是,每当我使用 VSTS 进行新提交时,我都会再次收到相同的失败消息。

您将定价放入列表元数据文件中。我将使用有关如何正确更新定价的说明来更新答案。

在为不可购买的应用程序创建提交(从以前的克隆)时,商店 API 中存在错误。 Pirce iD 未设置,因此映射到基数 (-1)。

此问题现已修复。