adobe / adobe/aio-cli-plugin-cloudmanager
Update of CM pipeline settings doesn't validate branch/tag existence
- 主要语言
- JavaScript
- 星标
- 50
- 派生
- 36
- PR 合并指标
- 30 天内没有已合并 PR
描述
**Expected Behavior**
User input (branch/tag/repositoryId) must be validated upon update of CM pipeline settings.
**Actual Behavior**
`aio cloudmanager:pipeline:update` ends successfully for not existing branches/tags.
**Reproduction Scenario, Platform, and Version**
```
$ aio -v
@adobe/aio-cli/8.1.0 darwin-x64 node-v14.17.6
```
**Steps to Reproduce**
```
$ aio cloudmanager:pipeline:update PIPELINEID -p PROGRAMID --branch=this-branch-does-not-exist
updating pipeline... updated pipeline ID
$ aio cloudmanager:pipeline:update PIPELINEID -p PROGRAMID --tag=not-existing-tag
updating pipeline... updated pipeline ID
```
Once above is set you can start the pipeline, but it's gonna fail immediately at validation stage with the following message:
> Failed: Invalid pipeline: . Reason=Branch=this-branch-does-not-exist not found in repository (Finished: September 22, 2021 11:14:23 AM GMT+2)
In contrast repository ID is being validated, so I assume that it may require some backend API changes:
```
$ aio cloudmanager:pipeline:update PIPELINEID -p PROGRAMID --repositoryId=123456
updating pipeline... failed
› Error: [CloudManagerSDK:ERROR_UPDATE_PIPELINE] Cannot update pipeline: https://cloudmanager.adobe.io/api/program/PROGRAMID/pipeline/PIPELINEID (400 Bad Request) - Validation
› Error(s): Referenced repository not found in application or is not ready for use: 123456
› Code: ERROR_UPDATE_PIPELINE
```
贡献指南
调研方向
Start with the `aio cloudmanager:pipeline:update` command and reproduce the branch and tag cases described in the issue, comparing them with the repositoryId validation result. Done means updates using nonexistent branches or tags are rejected during the update, rather than succeeding and failing only when the pipeline starts.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- cli, cloud
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100