-
Notifications
You must be signed in to change notification settings - Fork 164
-
Notifications
You must be signed in to change notification settings - Fork 164
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
Add a way to force Maestro to run a certain subscription as if its trigger file changed #99
Comments
Being able to have Maestro use the subscriptions.json from a PR branch would be extra cool, so we can test a subscription change E2E before merging it. |
Requirements
ProposalMaestro already makes use of an Azure Queue as a way for the WebApi to invoke a WebJob (with optional delay). The WebApi does this in response to a GitHub commit. The WebJob's responsibility is to simply invoke the subscription handler. Another Azure Queue could be created to support invoking a specific subscription on demand. The idea would be that each subscription would need a unique id/name. To invoke it a message with the subscription name would need to be queued. In response to this, a WebJob would then invoke the subscription handler. Needless to say, the existing Maestro logic should be refactored/shared as appropriate when implementing this new functionality. To make it easy for end users to trigger a subscription manually, a new VSTS build definition can be created which contains a parameter for the name of the subscription to trigger. The build definition would contain the logic dealing with the Azure Queue. This would be the same logic that MC would need if we ever decided to integrate Maestro into it. The build definition would also contain the secrets for working with the Azure Queue. |
This would allow easy end-to-end testing of subscriptions.json changes and easy retries when triggered builds fail. The retry target should be a subscription, not a file, to avoid forcing other subscriptions to run unnecessarily.
/cc @MichaelSimons @naamunds
The text was updated successfully, but these errors were encountered: