Giter Site home page Giter Site logo

Comments (2)

MichaelSimons avatar MichaelSimons commented on August 16, 2024 2

Requirements

  1. Should not assume handlers are VSTS build definitions. Down the road there may be other handler types. This feature should work with them without changes.
  2. The means to trigger the subscription should be easily consumable by end user. (e.g. should not need to install anything)
  3. Down the road, it may make sense to integrate the end user experience into MC. The design should support this desire.
  4. It is not necessary to simulate a file change rather the core requirement is simply support invoking a particular subscription on demand.
  5. The means to trigger subscriptions must be secured.

Proposal

Maestro 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.

from versions.

dagood avatar dagood commented on August 16, 2024

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.

from versions.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.