Azure / apiops

APIOps applies the concepts of GitOps and DevOps to API deployment. By using practices from these two methodologies, APIOps can enable everyone involved in the lifecycle of API design, development, and deployment with self-service and automated tools to ensure the quality of the specifications and APIs that they’re building.
https://azure.github.io/apiops
MIT License
275 stars 162 forks source link

[BUG] API Description cannot be updated using publishing configuration, only API specification #563

Open erikhjensen opened 3 weeks ago

erikhjensen commented 3 weeks ago

Release version

v5.1.4

Describe the bug

For an existing API, and for pushing a new API where none was present in APIM. The Description field on the Settings tab for the API will not be updated using the override and from what I can see, also the apiInformation.json. The only successful means I've seen to get it to update is by baking it into the API Specification. If we have multiple environments and desired to have an Environment distinction in that description then we have to update the API spec's info.description which is not ideal. Its possible this is just an Azure Portal UI quirk whereby it just shows the info.description but under the hood, the objectd models' description is as specified.

In trace-mode, the API Ops CLI is sending the description from the publishing override yaml. The following API was used for reference when trying to find if it's a misconfiguration of the override. https://learn.microsoft.com/en-us/rest/api/apimanagement/apis/update?view=rest-apimanagement-2022-08-01&tabs=HTTP#request-body

apiVersionDescription does show its update when you look at the description column on the Revisions screen.

Expected behavior

The Description field in the Settings tab of the Azure Portal is reflecting the content pushed by API Ops using what I believe is this API - Apis - Create Or Update when the properties.description or, description field is set in the publishing properties.

Actual behavior

The description field is only updated in the UI when the API Specification's info.description field is updated. However, the API's Display Name, Name, Path and serviceUrl do take their values from the property overrides.

Reproduction Steps

Specify a new description in the property override that differs from the info.description in the API's specification such as in the case of a sub-environment.

github-actions[bot] commented 3 weeks ago
  Thank you for opening this issue! Please be patient while we will look into it and get back to you as this is an open source project. In the meantime make sure you take a look at the [closed issues](https://github.com/Azure/apiops/issues?q=is%3Aissue+is%3Aclosed) in case your question has already been answered. Don't forget to provide any additional information if needed (e.g. scrubbed logs, detailed feature requests,etc.).
  Whenever it's feasible, please don't hesitate to send a Pull Request (PR) our way. We'd greatly appreciate it, and we'll gladly assess and incorporate your changes.