pipeline-plugin-development_skill

This skill helps you create, configure, and debug blueking pipeline plugins across languages with task.json, inputs, outputs, and release steps.
  • Kotlin

2.5k

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill tencentblueking/bk-ci --skill pipeline-plugin-development

  • SKILL.md28.2 KB

Overview

This skill is a complete guide for developing BlueKing CI (BK-CI) pipeline plugins (Atoms). It covers plugin structure, task.json configuration, multi-language examples (Python, Java, NodeJS, Go), input/output and error-code conventions, release steps, and debugging tips. Use it to design, implement, validate, and publish pipeline plugins that integrate cleanly with BK-CI.

How this skill works

The guide inspects and explains the task.json schema and execution block, supported UI input components and output types, and platform/runtime variants (os/runtimeVersion). It walks through SDK usage patterns and example implementations for Java, Python, NodeJS, and Golang, showing how to read inputs, set structured outputs, and report status and error codes. It also outlines packaging, entry points, and SPI/entry registrations required by each language.

When to use it

  • Creating a new BK-CI pipeline plugin (Atom) from scratch.
  • Defining task.json to declare inputs, outputs, execution and platform options.
  • Implementing plugin logic in Python, Java, NodeJS, or Go using the provided SDKs.
  • Packaging, publishing, and debugging plugins for CI pipelines.
  • Validating input validation, sensitive fields, and conditional UI behavior.

Best practices

  • Keep task.json under 64KB and declare atomCode unique and stable.
  • Use runtimeVersion and os blocks to provide cross-platform binaries or commands.
  • Validate required inputs and provide clear rule/regex to prevent runtime errors.
  • Return structured outputs with status, message, errorCode and typed data fields.
  • Use SDK logging groups and exit codes; include retry and timeout config where appropriate.

Example use cases

  • A Python Atom that reads Git repo URL and outputs a test report artifact.
  • A Java Atom packaged as an executable jar using SDK to validate inputs and return string outputs.
  • A NodeJS Atom bundled with Rollup to run linters and emit console and structured results.
  • A Golang Atom compiled per OS/arch and referenced in task.json os entries for cross-platform execution.
  • A plugin that conditionally shows advanced options using rely expressions in input definitions.

FAQ

At minimum provide atomCode and an execution block with language and target; input should be defined if your Atom needs parameters.

How should a plugin report success or failure?

Return a structured output including status (success/failure), message, errorCode, and data map. Use SDK helpers to set output and exit appropriately.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational