Inedo SDK
  • 20 May 2022
  • 2 Minutes to read
  • Dark
    Light
  • PDF

Inedo SDK

  • Dark
    Light
  • PDF

A lot of Inedo's product functionality is delivered through extensions, a type of pluggable component library that provides both core capabilities as well as integrations with third-party tools. With the Inedo SDK, you can add or modify functionality and capabilities to the product by creating an extension.

Many of the same components can be used different products, which means you can write a component once and introduce the same functionality across all of our products. Here's what you can extend:

PG OT BM
Configuration ✔* A representation of a specific type of server configuration (such as the settings for an IIS Application Pool, or a directory on disk) that is used to store information collected from a server (Otter only) or as a template for desired configuration.
File System Used by ProGet to access the underlying storage medium for package data. The default implementation uses a directory on disk.
Issue Source Provides a list of issues from an external source, such as Jira.
Operation A discrete task that is executed by the OtterScript runtime.
Package Access Rule Allows for rules to block downloads of packages based on additional logic.
Package Filter Allows all locally-stored ProGet packages to be filtered from being shown in feeds by additional logic.
Promotion Requirement An automatic approval for a pipeline gate, to prevent builds from being deployed to a stage
Raft Repository A self-contained abstract file system that is used as a backing store for plans, assets, and other files.
Repository Monitor Used to montior a source control or other repository for changes and execute a plan to create a build or relase
Secure Credential ✔* A secret with secure fields that is stored in an encrypted manner. In ProGet, these are currently only used by the AD User Directory.
Secure Resource A connection to a tool or service that may use a Secure Credential.
User Directory Responsible for authenticating users and groups. The default implementation uses users and groups stored in the product's database.
Variable Type Allows for definition of an input variable used in Release Templates and Job Configurations.
Variable Function Used in plans to provide or manipulate values.
Vulnerability Source Pulls a list of known security vulnerabilities for packages from a third-party source.