Conversation
Summary of ChangesHello @jdolle, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces the capability to dynamically retire application deployments via the public API. This is particularly beneficial for CI/CD systems, enabling automated management of application lifecycles. The changes ensure that the new API functionality is thoroughly documented and includes appropriate permission checks, facilitating seamless integration and use by external clients. Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
📚 Storybook DeploymentThe latest changes are available as preview in: https://pr-7642.hive-storybook.pages.dev |
There was a problem hiding this comment.
Code Review
This pull request successfully exposes the retireAppDeployment mutation to the public API by adding the necessary @tag(name: "public") directives and documenting the schema fields. The change to make the force input field non-nullable with a default value is a good improvement for API clarity. I have one suggestion to improve the documentation for the target input field to make its behavior clearer for API consumers.
| """ | ||
| Force retirement even if protection rules would prevent it. | ||
| If using an organization access token, then a target must be provided. | ||
| If using a target's access token, then this should be null. | ||
| """ |
There was a problem hiding this comment.
The description for the target field could be more precise. The current wording might be confusing for consumers of this public API. It's not strictly required for the value to be null when using a target access token; it can be omitted entirely. A clearer description would improve usability.
I suggest clarifying that the field is optional with a target token because the target can be inferred.
| """ | |
| Force retirement even if protection rules would prevent it. | |
| If using an organization access token, then a target must be provided. | |
| If using a target's access token, then this should be null. | |
| """ | |
| """ | |
| Reference to the target. This is required when using an organization-level access token. | |
| When using a target-specific access token, this field is optional as the target can be inferred from the token. | |
| """ |
|
🐋 This PR was built and pushed to the following Docker images: Targets: Platforms: Image Tag: |
💻 Website PreviewThe latest changes are available as preview in: https://pr-7642.hive-landing-page.pages.dev |
Background
https://linear.app/the-guild/issue/CONSOLE-1795/expose-public-api-for-retiring-app-deployments
We have a case where people want to be able to dynamically retire app deployments via their CI. This is a reasonable case particularly for web apps with a CI/CD deployment system. App deployments can be automatically shuffled out as new versions are released.
Description
Adds retireAppDeployment to our public API.
Adds descriptions to fields to make sure our public API is well documented.
And I verified that the API has appropriate permission checks in place.