Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slackapi/manifest-schema
Provide JSON schemas that define Slack's manifest.json file
https://github.com/slackapi/manifest-schema
json json-schema slack slack-api slack-bot slackbot
Last synced: 15 days ago
JSON representation
Provide JSON schemas that define Slack's manifest.json file
- Host: GitHub
- URL: https://github.com/slackapi/manifest-schema
- Owner: slackapi
- License: mit
- Created: 2022-10-19T15:52:08.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-20T20:21:01.000Z (over 1 year ago)
- Last Synced: 2024-10-04T21:35:46.179Z (5 months ago)
- Topics: json, json-schema, slack, slack-api, slack-bot, slackbot
- Language: Python
- Homepage: https://raw.githubusercontent.com/slackapi/manifest-schema/main/manifest.schema.json
- Size: 46.9 KB
- Stars: 6
- Watchers: 5
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: .github/contributing.md
- License: LICENSE
Awesome Lists containing this project
README
# Manifest Schema
This project contains publicly availableJSONschemas that define Slack's [`manifest.json` file](https://api.slack.com/future/manifest) file. JSON schemas can be used for a number of tasks but the purpose of this specific schema is to provide developers validation and prediction capabilities while editing `manifest.json` files in IDEs.
**Guide Outline**:
- [Manifest Schema](#manifest-schema)
- [Usage](#usage)
- [Project Structure](#project-structure)
- [`manifest.schema.json`](#manifestschemajson)
- [`/schemas`](#schemas)
- [`/tests`](#tests)
- [`/scripts`](#scripts)
- [Resources](#resources)---
## Usage
To take advantage of intellisense / typeahead capabilities, include a `$schema` key at the top level of a JSON file and point it to the main JSON schema from this repo:
```json
{
"$schema": "https://raw.githubusercontent.com/slackapi/manifest-schema/main/manifest.schema.json",
"_metadata":{
"major_version": 2
},
"settings": { ... }
...
}
```## Project Structure
### [`manifest.schema.json`](manifest.schema.json)
This schema is the **main** schema definition for `manifest.json`, this file allows to map versioned schemas based on the version data the user defines in their manifest definition.
### `/schemas`
This folder contains generated schemas for different versions of the `manifest.json`
### `/tests`
This folder contains `python` test that validate the schema against example `manifest.json` files
### `/scripts`
This folder contains `bash` scripts used by maintainers to execute actions on the project. The github actions of this project also uses the script in this folder to execute its actions.
## Resources
- [JSON schema store](https://www.schemastore.org/json/)
- [VS code JSON info](https://code.visualstudio.com/docs/languages/json)
- [JetBrain JSON info](https://www.jetbrains.com/help/idea/json.html)
- [JSON schema doc](https://json-schema.org/)Refer to the [maintainers_guide](.github/maintainers_guide.md) in order to contribute to this project