-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added new receivers to action group document. #2077
Conversation
Trading with @marstr for a data-plane one (this looks pretty simple, so ... good trade :D ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some semantic errors that need to be fixed up before we go too far. :)
"items": { | ||
"$ref": "#/definitions/ItsmReceiver" | ||
}, | ||
"description": "The list of Itsm receivers that are part of this action group." |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nit] Because "Itsm" looks so conspicuously like "Items", in the description I would either write it out or at least have it capitalized to "ITSM" to demonstrate that it is an acronym.
@@ -459,6 +473,55 @@ | |||
"description": "The URI where webhooks should be sent." | |||
} | |||
}, | |||
"ItsmReceiver": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe this is the root cause of the failures from our CI system. I think there's a curly-brace missing above this line.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are couple of outstanding Litner errors that were introduced which I'd like to see cleaned up (find them here). Other than that, I think this PR is good to go :)
@@ -464,6 +478,55 @@ | |||
"serviceUri" | |||
] | |||
}, | |||
"ItsmReceiver": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because these are not required properties, I don't believe this is a breaking change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding new properties - required or optional is considered a breaking change. This could result in clients unitentionally overriding the properties on the server. Imagine a resource got created with this new property. Then the GET on the resource happened from a client which did not understand this property and so ignored it. Now if the PUT happens from the same client using the resource that was obtained via GET, the value of this property on the server will be overridden.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So it is advisable to increment the api-version for this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is already released for this API version and is almost like a baseline now. In future we are planning to support patch operation for individual receiver types. We will change the version then.
To be clear, I'm only asking to fix the two new linter errors that are introduced with this change, not all six. |
Ping |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for making those updates, things are definitely coming together. There are still some out-lying CI errors to take care of:
https://travis-ci.org/Azure/azure-rest-api-specs/jobs/315048599#L693
In particular, it seems like there are some properties in the examples that aren't present in the swagger. Either removing them from the examples or adding them into the Swagger is pretty important.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please take a look at comments below
"type": "string", | ||
"description": "XML blob for the configurations of the ITSM action. CreateMultipleWorkItems option will be part of this blob as well." | ||
}, | ||
"region": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make this an enum
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You mean region field? It is already released as string field for better readability.
"type": "string", | ||
"description": "Unique identification of ITSM connection among multiple defined in above workspace." | ||
}, | ||
"ticketConfiguration": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this property? Is this xml?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is JSON configuration string.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch, the description is fixed in new iteration.
"type": "boolean", | ||
"description": "Indicates whether this instance is global runbook." | ||
}, | ||
"name": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
webhookResourceId property contains the name of the webhook. Why is the name needed as a separate property also?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be used as friendly name by user also webhookResourceId format is different with subscriptionid resourcegroup details etc.
@@ -464,6 +478,55 @@ | |||
"serviceUri" | |||
] | |||
}, | |||
"ItsmReceiver": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding new properties - required or optional is considered a breaking change. This could result in clients unitentionally overriding the properties on the server. Imagine a resource got created with this new property. Then the GET on the resource happened from a client which did not understand this property and so ignored it. Now if the PUT happens from the same client using the resource that was obtained via GET, the value of this property on the server will be overridden.
@@ -464,6 +478,55 @@ | |||
"serviceUri" | |||
] | |||
}, | |||
"ItsmReceiver": { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So it is advisable to increment the api-version for this.
@marstr, please resolve the conflicts by over writing old files by new ones. I do not have access to resolve the conflicts. |
I'm not exactly sure what you mean about not having access, we should work out whatever troubles you were having. This PR is based on your fork, so there shouldn't be anything you don't have access to. That said, I have fixed the merge conflicts for you. :) edit: I think I figured out what you were saying. Did you mean that the little "resolve conflicts" button was grey here on GitHub? If that was the trouble, it wasn't an access problem. Rather, it simply meant that the web-editor wasn't able to handle the resolution problems and that you would need to resolve them on your local machine. |
Hi There, I am the AutoRest Linter Azure bot. I am here to help. My task is to analyze the situation from the AutoRest linter perspective. Please review the below analysis result: File: AutoRest Linter Guidelines | AutoRest Linter Issues | Send feedback Thanks for your co-operation. |
@marstr,
I got the merge conflict button disabled so thought I do not have rights to resolve it.
I also see you have changed the branch from current to master for for this PR. That resulted in conflicts as there was directory called Stable in master and not in Current branch.
Also while resolving conflicts looks like unlike other files you forgot to add the patchActionGroup.json in the directory.
I have added that and now getting following error,
FATAL: swagger-document/loader - FAILED
FATAL: Error: Could not read 'file:///git-restapi/specification/monitor/resource-manager/microsoft.insights/stable/2017-05-01-preview/diagnosticsSettings_API.json'.
Any idea?
Thanks,
-Shripad
--------------------------------------------
On Wed, 1/3/18, Martin Strobel <notifications@github.com> wrote:
Subject: Re: [Azure/azure-rest-api-specs] Added new receivers to action group document. (#2077)
To: "Azure/azure-rest-api-specs" <azure-rest-api-specs@noreply.github.com>
Cc: "shriku11" <shriku1@yahoo.com>, "Mention" <mention@noreply.github.com>
Date: Wednesday, January 3, 2018, 9:20 AM
@shriku11 says:
@marstr, please
resolve the conflicts by over writing old files by new ones.
I do not have access to resolve the conflicts.
I'm not exactly sure what you mean about not having
access, we should work out whatever troubles you were
having. This PR is based on your fork, so there
shouldn't be anything you don't have access to.
That said, I have fixed the merge conflicts for you.
:)
—
You are receiving this because you were mentioned.
Reply to this email directly, view
it on GitHub, or mute
the thread.
|
@ravbhatnagar would you mind taking a look at the most recent changes to see if your comments have been addressed? |
I'm needing to load-balance some of my PRs. I'm going to reassign this to @veronicagg. |
@shriku11 - Signing off on this. But we need to make sure going forward the APIs are reviewed and approved before the changes are deployed to service side. The Microsoft REST API versioning guidance should be followed when shipping changes to the service. |
@ravbhatnagar thanks for approving from ARM side. |
Hi There, I am the AutoRest Linter Azure bot. I am here to help. My task is to analyze the situation from the AutoRest linter perspective. Please review the below analysis result: File: AutoRest Linter Guidelines | AutoRest Linter Issues | Send feedback Thanks for your co-operation. |
Merged from master after fix from @veronicagg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR looks good to me.
Labeling with potential-sdk-breaking-changes, as there are new properties added on existing api-version.
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information
api-version
in the path should match theapi-version
in the spec).Quality of Swagger