Skip to content

Conversation

qingquanzhao
Copy link
Member

Choose a PR Template

Switch to "Preview" on this description then select one of the choices below.

Click here to open a PR for a Data Plane API.

Click here to open a PR for a Control Plane (ARM) API.

Click here to open a PR for only SDK configuration.

Copy link

github-actions bot commented Oct 14, 2025

Next Steps to Merge

Next steps that must be taken to merge this PR:
  • ❌ This PR targets either the main branch of the public specs repo or the RPSaaSMaster branch of the private specs repo. These branches are not intended for iterative development. Therefore, you must acknowledge you understand that after this PR is merged, the APIs are considered shipped to Azure customers. Any further attempts at in-place modifications to the APIs will be subject to Azure's versioning and breaking change policies. Additionally, for control plane APIs, you must acknowledge that you are following all the best practices documented by ARM at aka.ms/armapibestpractices. If you do intend to release the APIs to your customers by merging this PR, add the PublishToCustomers label to your PR in acknowledgement of the above. Otherwise, retarget this PR onto a feature branch, i.e. with prefix release- (see aka.ms/azsdk/api-versions#release--branches).
  • ❌ This PR has at least one change violating Azure versioning policy (label: VersioningReviewRequired).
    To unblock this PR, either a) introduce a new API version with these changes instead of modifying an existing API version, or b) follow the process at aka.ms/brch.
  • ❌ The required check named TypeSpec Validation has failed. Refer to the check in the PR's 'Checks' tab for details on how to fix it and consult the aka.ms/ci-fix guide


Comment generated by summarize-checks workflow run.

@github-actions github-actions bot added data-plane TypeSpec Authored with TypeSpec VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required labels Oct 14, 2025
Copy link

github-actions bot commented Oct 14, 2025

API Change Check

APIView identified API level changes in this PR and created the following API reviews

Language API Review for Package
TypeSpec Azure.AI.Projects
JavaScript @azure/ai-projects
Java com.azure:azure-ai-projects

@doc("Foundry notification definition")
@resource("notifications")
@added(Versions.v2025_05_15_preview)
model FoundryNotificationDto {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't use DTO in the name of the model.

}>
>;

@doc("Dismiss all notifications of a specific project for a given user.")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is a "user" defined? There is nothing in the payload that is a user?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. We validate and extract the user information from the JWT token.


@doc("Notification title information")
@added(Versions.v2025_05_15_preview)
model NotificationTitle {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: since this contains multiple fields, maybe name it NotificationInformation/Label/something that makes it clear that it's not just a title

name: string;

@doc("The description of the notification")
description: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is the description required?

@added(Versions.v2025_05_15_preview)
model ViewSourceActionDetail {
@doc("The type of action")
type: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe use a discrete union instead of an open string?

type: string;

@doc("The target of the action")
target: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how does the targeting work? is it based on an ID? some kind of expression language? something else? we should probably provide a more explicit name/documentation for this property.

@added(Versions.v2025_05_15_preview)
model FoundryNotificationDto {
@doc("NGNC version")
ngncVersion: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: from a naming convention, should this be NGNC since it's an acronym?

Comment on lines +75 to +83
@doc("The scope of the notification")
scope: string;

@doc("The source of the notification")
source: string;

@doc("The type of the notification")
type: string;

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

all those feel like they should be discrete unions instead of open strings

type: string;

@doc("The data schema")
dataschema: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
dataschema: string;
dataSchema: string;

type: string;

@doc("The data schema")
dataschema: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is this schema in? JSON schema? in which case we should review the type here

Comment on lines +88 to +91
severity: string;

@doc("The status of the notification")
status: string;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

discrete unions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data-plane TypeSpec Authored with TypeSpec VersioningReviewRequired <valid label in PR review process>add this label when versioning review is required

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants