Buildkite logo Buildkite Docs

Lightning fast testing and delivery for all your software projects.

/

Skip to main content

Login Sign up for free
  • Pipelines
      • Getting started
      • Elastic CI Stack for AWS
      • Docker-based builds
      • Parallelizing builds
      • Migrating from Bamboo
      • Using Bazel on Buildkite
      • Migrating to YAML steps
      • Two-factor authentication (2FA)
      • Overview
      • GitHub
      • GitHub Enterprise
      • GitLab
      • Bitbucket
      • Bitbucket Server
      • Phabricator
      • Other Git servers
      • Overview
      • Installation
      • Upgrading
      • Configuration
      • SSH keys
      • GitHub SSH keys
      • Hooks
      • Queues
      • Prioritization
      • Securing
      • Tokens
      • Tracing
        • Overview
        • Installation
        • Upgrading to v2
        • Configuration
        • SSH keys
        • GitHub SSH keys
        • Hooks
        • Queues
        • Prioritization
        • Securing
          • Ubuntu
          • Debian
          • Red Hat/CentOS
          • FreeBSD
          • macOS
          • Windows
          • Linux
          • Docker
          • AWS
          • Elastic CI Stack for AWS
          • Google Cloud
          • start
          • meta-data
          • artifact
          • pipeline
        • Overview
        • Elastic CI Stack for AWS
        • Elastic CI Stack for AWS template parameters
        • Elastic CI Stack for AWS for EC2 Mac
        • CloudFormation service role
        • VPC design for Elastic CI Stack for AWS
        • Using AWS Secrets Manager
        • Ubuntu
        • Debian
        • Red Hat/CentOS
        • FreeBSD
        • macOS
        • Windows
        • Linux
        • Docker
        • AWS
        • Google Cloud
        • start
        • annotate
        • artifact
        • meta-data
        • env
        • oidc
        • pipeline
        • bootstrap
        • step
      • Overview
      • Defining steps
      • Writing build scripts
      • Using conditionals
      • Step dependencies
      • Environment variables
      • Skipping builds
      • Build artifacts
      • Build retention
      • Public pipelines
      • Using build meta-data
      • Managing log output
      • Links & images in log output
      • Notifications
      • Job minutes
      • Example pipelines
        • Command step
        • Wait step
        • Block step
        • Input step
        • Trigger step
        • Group step
        • Prioritizing jobs
        • Controlling concurrency
        • Build matrix
        • Branch configuration
        • Scheduled builds
        • Security overview
        • Managing secrets
        • Users and teams
        • Webhooks security
        • Audit log
      • Overview
      • Deploying to Heroku
      • Deploying to Kubernetes

    • Integrations
    • Plugins
    • APIs
  • Test Analytics new
    • Overview
    • Getting started
      • Configuring test suites
      • Monitoring
      • Access control
      • CI environment variables
    • Languages
      • Ruby
      • JavaScript
      • Swift beta
      • Android beta
      • Python
      • Golang
      • .NET beta
      • Elixir
      • Rust
      • Other languages
    • References
      • Importing JUnit XML
      • Importing JSON
      • Writing your own collectors
  • APIs
    • Overview
    • Managing API tokens
    • API differences
      • Overview
        • Access token
        • Organizations
        • Pipelines
        • Builds
        • Jobs
        • Agents
        • Artifacts
        • Annotations
        • Emojis
        • User
        • Meta
        • Overview
        • Metrics
    • GraphQL
      • Overview
      • Agent events
      • Build events
      • Job events
      • Ping events
      • Integrations
  • Integrations
    • Overview
      • Overview
      • Okta
      • ADFS
      • Google Workspace
      • Google Workspace (SAML)
      • GitHub
      • OneLogin
      • Azure AD
      • Custom SAML
      • Set up with GraphQL
      • Overview
      • Using plugins
      • Plugins directory
      • Plugin tools
      • Writing plugins
    • Amazon EventBridge
    • Artifactory
    • Build status badges
    • CCMenu & CCTray
    • PagerDuty
    • Slack
  • buildkite.com
    • Email support
    • Forum

Plugin tools

The following tools can be helpful when creating and maintaining your own Buildkite plugins:

🔨 Buildkite Plugin Tester Docker image with a number of shell testing and stubbing tools. github.com/buildkite-plugins/plugin-tester

✨ Buildkite Plugin Linter Linter that checks your plugin for best practices. github.com/buildkite-plugins/buildkite-plugin-linter

🐚 Buildkite Shellcheck Plugin Plugin for detecting potential problems in your hook scripts. github.com/buildkite-plugins/shellcheck-buildkite-plugin

:terminal: Buildkite CLI Command line tool for running Buildkite pipelines entirely locally. github.com/buildkite/cli

📝 Release Drafter A GitHub App to help draft your release notes. github.com/release-drafter/release-drafter

🦆 Boomper A GitHub app for bumping the version numbers in your readme examples. github.com/toolmantim/boomper

For help writing the JSON Schema in the configuration key of your plugin.yml file, the following resources may be useful:

:json: JSON Schema The official JSON Schema specification. json-schema.org

:json: JSON Schema Lint Validating your JSON schema with YAML. jsonschemalint.com

:json: Understanding JSON Schema Tutorial to help understand how to write JSON Schema. spacetelescope.github.io/understanding-json-schema/


How helpful was this page?

If you have questions or feedback

Icon: issue Open an issue Icon: pull request Contribute an update

Need more help?
Icon: paper dart Email support Icon: Slack Ask our Slack community Icon: Discourse Post on our forum