From 8c1812de5f9a02f51e6962ab342657ff8c801648 Mon Sep 17 00:00:00 2001 From: Andrew Shirley Date: Fri, 4 Jun 2021 12:22:57 +0100 Subject: [PATCH] Add config schema Signed-off-by: Andrew Shirley Signed-off-by: blam --- plugins/jenkins-backend/config.d.ts | 51 ++++++++++++++++++++++++++++ plugins/jenkins-backend/package.json | 4 ++- 2 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 plugins/jenkins-backend/config.d.ts diff --git a/plugins/jenkins-backend/config.d.ts b/plugins/jenkins-backend/config.d.ts new file mode 100644 index 0000000000..bfb519bb58 --- /dev/null +++ b/plugins/jenkins-backend/config.d.ts @@ -0,0 +1,51 @@ +/* + * Copyright 2020 Spotify AB + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +export interface Config { + jenkins?: { + /** + * Default instance baseUrl, can be specified on a named instance called "default" + * @pattern "^https?://" + */ + baseUrl?: string; + /** + * Default instance username, can be specified on a named instance called "default" + */ + username?: string; + /** + * Default Instance apiKey, can be specified on a named instance called "default" + * @visibility secret + */ + apiKey?: string; + + instances?: { + /** + * Name of the instance, this will be used in an annotation on catalog entities to refer to jobs on this instance. + * + * Use a name of "default" to specify the jenkins instance details if the annotation doesn't explicitly name an + * instance. + */ + name: string; + + /** + * @pattern "^https?://" + */ + baseUrl: string; + username: string; + /** @visibility secret */ + apiKey: string; + }[]; + }; +} diff --git a/plugins/jenkins-backend/package.json b/plugins/jenkins-backend/package.json index 77348bd37e..2b7232f1be 100644 --- a/plugins/jenkins-backend/package.json +++ b/plugins/jenkins-backend/package.json @@ -10,6 +10,7 @@ "main": "dist/index.cjs.js", "types": "dist/index.d.ts" }, + "configSchema": "config.d.ts", "scripts": { "start": "backstage-cli backend:dev", "build": "backstage-cli backend:build", @@ -41,6 +42,7 @@ "supertest": "^4.0.2" }, "files": [ - "dist" + "dist", + "config.d.ts" ] }