I suggest you...

Allow people to write plug-ins/add-ons with an SDK

Potentially create some kind of SDK to allow for hooking into various parts of Octopus. e.g.: permissions/users could be given a custom implementation and provided by active directory.

~~~~~~~~
Example plugins we should build:

https://github.com/OctopusDeploy/Issues/issues/511
https://github.com/OctopusDeploy/Issues/issues/312

58 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    James Billingham shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →
    planned  ·  AdminPaul Stovell (Founder, Octopus Deploy) responded  · 

    We’re going to start on this very soon. I’d love to collect more examples of what people want to do with plugins (not so much how the plugin would work/what kind of extensibility, but the actual problem you want to solve)

    15 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      Submitting...
      • Matt Richardson commented  ·   ·  Flag as inappropriate

        A plugin model for deployment targets could be very useful. That way we could easily create a deployment targets such as:
        * a single Azure subscription
        * a single Azure subscription in a region
        * an AWS target
        etc

      • Chris Barr commented  ·   ·  Flag as inappropriate

        I would like to write a plug-in that uses the API (if available) through AJAX look ups to prepopulate or 'intellisensify' step variables... I create and set octopus variables from a step and use them in downstream steps.. but I always have to go back to the step to either remember the name, or go to another step to remember the actual syntax of getting to it. It would be nice to have htis handy... like a predefined list of 'step outputs'.

      • Thaddaeus Parker commented  ·   ·  Flag as inappropriate

        A plugin for Reporting would be very nice and helpful. By using the security features in OD, it would help winnow down the number of entries returned based on a standard canned query against an index.

      • Justin commented  ·   ·  Flag as inappropriate

        Ive used uDeploy before and they have a suite of native plugins. For instance, if I wanted to run a Sql Command I would like the ability to add a SqlCmd plugin for one of the steps which would have all the fields on the form that require filling in. You would then be able to add parameters for each field if required.

        Currently you have to use powershell so there could be multiple variations of this. A plug in would be fully tested and have a defined scope. I would like to see this as an option for a step vs Nuget/powershell.

      • Brent commented  ·   ·  Flag as inappropriate

        I would like to be able to do some backend things for each deployment. Currently we do this via a machine in the environment that just runs our scripts for certain things we want to record. I would like to be able to hook into post deploy actions and run tasks for certain things at a global level. An example would be posting analytics about a deployment or posting events that happen to external services like datadog, pagerduty, or an internal site.

      • Darrell Tunnell commented  ·   ·  Flag as inappropriate

        I would like to be able to extend the octopus UI itself, for example by displaying my own menu item, that when clicked, would take me to my own page (html and javascript content) within octopus. This could be useful for a number of scenarios. In addition to this, i would like octopus to expose a nice client side / javascript API for my javascript to leverage so I could make my custom page do fancy things with the system.

      • Raffaele Garofalo commented  ·   ·  Flag as inappropriate

        Actually in TFS I use the concept of Plugin (Code activity) to execute custom .NET code within the process.
        It would be nice to have the same concept, I build a .NET plugin and execute custom code within my deployment.

      • Joshua Smith commented  ·   ·  Flag as inappropriate

        I would also like a plug in for doing additional things with promoting a release, such as pulling the differences between the two releases to list for the user before the promote. We are putting the git SHA in the release notes so that we can then look at the SHA in both environments and compare the two for the diffs on promote. A plug in that would allow us to add that compare functionality in the process would be great!

      • Joshua Smith commented  ·   ·  Flag as inappropriate

        I would like to create a new "step type", such as Deploy to Amazon WS, that allows me to build my own plugin for doing this.

      • Rob Waldron commented  ·   ·  Flag as inappropriate

        I'd like to be able to have custom tasks per project. Something like being able execute some powershell commands set up for a specific project. For example - I want to refresh our test environment with production data. I want to go to the project - select tasks - and run the task that will do something (sync, restore db, etc). This maybe something that is beyond the scope of Octopus Deploy, but if the plug-in system is extensible enough, this is something I'd look to hook into it.

      • David Roberts commented  ·   ·  Flag as inappropriate

        Custom steps: In our case we'd like to be able to have a step that would check the ticket manager (MS Service Manager here) to verify that either a ticket exists for this promotion or just create a ticket based on the Octopus Variables to reduce processing lag.

        It can be done with powershell but sometimes it's nicer to be in the C# development side and potentially share the plugins as a NuGet if possible.

      • Shaw Innes commented  ·   ·  Flag as inappropriate

        I'd like to be able to add my own custom deploy or upload plugins for systems where you either can't install or use a tentacle, or for things like uploading to mobile app testing sites (eg. inbeta.io, hockeyapp, etc)

      Feedback and Knowledge Base