# Plugin.yml schema?

**URL:** <https://forum.buildkite.community/t/plugin-yml-schema/841>\
**Category:** General\
**Created:** [December 17, 2019, 4:56pm UTC](https://forum.buildkite.community/t/plugin-yml-schema/841 "2019-12-17T16:56:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ianwremmel](https://avatars.discourse-cdn.com/v4/letter/i/839c29/32.png) [@ianwremmel](https://forum.buildkite.community/u/ianwremmel)\
**Post date:** [December 17, 2019, 4:56pm UTC](https://forum.buildkite.community/t/plugin-yml-schema/841/1 "2019-12-17T16:56:02Z")

</div>

I’m trying to write a buildkite plugin, but it’s not really clear what the full plugin.yml schema is. I found [a schema](https://github.com/buildkite-plugins/buildkite-plugin-linter/blob/master/lib/plugin-yaml-schema.yml) in the linter, but it just says `configuration.properties` is an object; it doesn’t go into detail on what that object’s keys can be. Browsing through the plugins repo, there seem to be a lot of complex options that could go in there. Are they documented anywhere?

---

<div class="post-metadata">

**Author:** ![harriet](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.buildkite.community/harriet/32/16_2.png) [@harriet](https://forum.buildkite.community/u/harriet)\
**Post date:** [December 18, 2019, 7:14am UTC](https://forum.buildkite.community/t/plugin-yml-schema/841/3 "2019-12-18T07:14:44Z")

</div>

Edit: oops, posted too soon 😅here’s the full thing!

Hey @ianwremmel 👋🏻 We don’t have docs for the schema yet, but we’re working on it!

The properties object is a pretty loose one, intentionally. You can define whatever variables your plugin requires using the ‘properties’ object like so:

```auto
properties:
  message:
    type: [string, boolean]

```

The only thing to keep in mind is that the properties key needs to be valid JSON schema.

So then using the ‘message’ property we defined above in a plugin would look like:

```auto
steps:
  - command: ...
    plugins:
      - my-plugin#v1.0.0:
          message: "Hello I'm a message"

```

Let me know if that helps, or if you want some more info or examples 👍🏻

If you’d like a sneak peek of the new plugins guides we’re working on, you can find them in a PR on our docs repo here: [https://github.com/buildkite/docs/pull/442](https://github.com/buildkite/docs/pull/442) 😊

---

<div class="post-metadata">

**Author:** ![ianwremmel](https://avatars.discourse-cdn.com/v4/letter/i/839c29/32.png) [@ianwremmel](https://forum.buildkite.community/u/ianwremmel)\
**Post date:** [December 18, 2019, 10:58pm UTC](https://forum.buildkite.community/t/plugin-yml-schema/841/4 "2019-12-18T22:58:34Z")

</div>

Oh, awesome, thanks! I should have put it together that all the fancy stuff I saw in other plugins were from JSON-schema and not buildkite-specific. The new docs are great. Even though they’re incomplete, they’re a huge improvement 🙂
