Skip to content
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

Merged
merged 19 commits into from
Jan 9, 2018

Conversation

shriku11
Copy link
Contributor

@shriku11 shriku11 commented Dec 1, 2017

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

  • The title of the PR is clear and informative.
  • There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
  • Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
  • If applicable, the PR references the bug/issue that it fixes.
  • Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

@fearthecowboy
Copy link
Member

Trading with @marstr for a data-plane one (this looks pretty simple, so ... good trade :D )

Copy link
Member

@marstr marstr left a 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."
Copy link
Member

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": {
Copy link
Member

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.

Copy link
Member

@marstr marstr left a 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": {
Copy link
Member

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.

Copy link
Contributor

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.

Copy link
Contributor

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.

Copy link
Contributor Author

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.

@marstr
Copy link
Member

marstr commented Dec 5, 2017

To be clear, I'm only asking to fix the two new linter errors that are introduced with this change, not all six.

@shriku11
Copy link
Contributor Author

shriku11 commented Dec 8, 2017

Ping

@marstr marstr added the WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required label Dec 12, 2017
marstr
marstr previously requested changes Dec 13, 2017
Copy link
Member

@marstr marstr left a 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.

Copy link
Contributor

@ravbhatnagar ravbhatnagar left a 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": {
Copy link
Contributor

Choose a reason for hiding this comment

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

make this an enum

Copy link
Contributor Author

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": {
Copy link
Contributor

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?

Copy link
Contributor Author

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.

Copy link
Contributor Author

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": {
Copy link
Contributor

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?

Copy link
Contributor Author

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": {
Copy link
Contributor

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": {
Copy link
Contributor

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 marstr changed the base branch from current to master December 28, 2017 17:58
@shriku11
Copy link
Contributor Author

shriku11 commented Jan 2, 2018

@marstr, please resolve the conflicts by over writing old files by new ones. I do not have access to resolve the conflicts.

@marstr
Copy link
Member

marstr commented Jan 3, 2018

@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. :)

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.

@azuresdkciprbot
Copy link

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: specification/monitor/resource-manager/readme.md
Before the PR: Warning(s): 0 Error(s): 0
After the PR: Warning(s): 0 Error(s): 0

AutoRest Linter Guidelines | AutoRest Linter Issues | Send feedback

Thanks for your co-operation.

@shriku11
Copy link
Contributor Author

shriku11 commented Jan 3, 2018 via email

@marstr
Copy link
Member

marstr commented Jan 5, 2018

@ravbhatnagar would you mind taking a look at the most recent changes to see if your comments have been addressed?

@marstr
Copy link
Member

marstr commented Jan 8, 2018

I'm needing to load-balance some of my PRs. I'm going to reassign this to @veronicagg.

@marstr marstr assigned veronicagg and unassigned marstr Jan 8, 2018
@ravbhatnagar
Copy link
Contributor

@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 ravbhatnagar added ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review and removed WaitForARMFeedback <valid label in PR review process> add this label when ARM review is required labels Jan 9, 2018
@veronicagg
Copy link
Contributor

@ravbhatnagar thanks for approving from ARM side.
@shriku11 the issue is from the path in the readme file. I created and merged a PR to fix it (since it's anyway independent from this change) - #2227. Could you update this PR by pulling from master? CI should kick off again.

@azuresdkciprbot
Copy link

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: specification/monitor/resource-manager/readme.md
Before the PR: Warning(s): 0 Error(s): 1
After the PR: Warning(s): 0 Error(s): 0

AutoRest Linter Guidelines | AutoRest Linter Issues | Send feedback

Thanks for your co-operation.

@shriku11
Copy link
Contributor Author

shriku11 commented Jan 9, 2018

Merged from master after fix from @veronicagg

Copy link
Contributor

@veronicagg veronicagg left a 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.

@AutorestCI
Copy link

@AutorestCI
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ARMSignedOff <valid label in PR review process>add this label when ARM approve updates after review potential-sdk-breaking-change
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants