Code Monkey home page Code Monkey logo

plado's Introduction

PLADO - Program Launcher for Azure DevOps

This is a command-line utility I created to serve as an event monitoring daemon for Azure DevOps. It accepts a single configuration file and monitors the specified events. When an event is detected, it forks processes to run the jobs you specify in the config file.

I created this as a way to automate certain DevOps-related processes at work. (I created this during the 2023 Microsoft Hackathon.)

To communicate with Azre DevOps, this uses the official Python API found here.

Getting Started

To get started, clone the repository and install all requirements in the requirements file:

git clone https://github.com/cwshugg/plado
cd ./plado
python3 -m pip install -r ./requirements.txt

Then, to run, simply invoke the main.py Python script. You'll need to specify configuration file via -c/--config to begin using the script.

python3 src/main.py -c ./my_config.json

You can also use -h/--help to see all available command-line arguments:

python3 src/main.py -h

Once you've set up your configuration file to track events, invoke the program with the -m/--monitor option to enable event-monitoring mode:

python3 src/main.py -c ./my_config.json -m

Documentation

  • TODO

To Do List

  • Documentation

    • Write markdown documentation
    • Write Linux man page
    • Example config file(s)
  • Implement more events

    • Event_WI
      • Event_WI_Create
      • Event_WI_Assigned
      • Event_WI_State_Change
      • Event_WI_Comment_Add
      • Event_WI_Comment_Edit
      • ...
    • Event_Pipeline
      • Event_Pipeline_Run_Start
      • Event_Pipeline_Run_End
      • ...
  • Update --show-config to find all objects that extend the base Config class and print out their options. (Add a description field to the Config class, to be printed for each different Config subclass to help describe where it's used)

  • Add JSON versions of all --show arguments (i.e. --show-pullreqs-json), which performs the same operations, but dumps out the raw JSON from ADO

plado's People

Contributors

cwshugg avatar

Watchers

 avatar

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.