UNPKG

8.37 kBTypeScriptView Raw
1/**
2 * This file was automatically generated by json-schema-to-typescript.
3 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4 * and run json-schema-to-typescript to regenerate this file.
5 */
6/**
7 * Kolkrabbi API.
8 */
9export interface KolkrabbiApi {
10 'account-link'?: KolkrabbiApiAccountLink;
11 'app-json-schema'?: AppJsonSchema;
12 'app-json'?: KolkrabbiApiAppJson;
13 apps?: KolkrabbiApiApps;
14 organization?: HerokuPlatformApiOrganization;
15 'pipeline-repository'?: KolkrabbiApiPipelineRepositories;
16 pipeline?: HerokuPlatformApiPipeline;
17 'pull-requests'?: KolkrabbiApiPullRequests;
18 repository?: KolkrabbiApiRepositories;
19 [k: string]: any;
20}
21/**
22 * An account link represents the relationship between a Heroku user and a GitHub user.
23 */
24export interface KolkrabbiApiAccountLink {
25 /**
26 * unique identifier of an account link
27 */
28 id?: string;
29 /**
30 * Heroku details for the account link
31 */
32 heroku?: {
33 /**
34 * unique identifier of the Heroku user
35 */
36 user_id?: string;
37 [k: string]: any;
38 };
39 /**
40 * GitHub details for the account link
41 */
42 github?: {
43 /**
44 * unique identifier of the GitHub user
45 */
46 user_id?: number;
47 [k: string]: any;
48 };
49 [k: string]: any;
50}
51export interface AppJsonSchema {
52 /**
53 * A clean and simple name to identify the template (30 characters max).
54 */
55 name?: string;
56 /**
57 * A brief summary of the app: what it does, who it's for, why it exists, etc.
58 */
59 description?: string;
60 /**
61 * An array of strings describing the app.
62 */
63 keywords?: any[];
64 /**
65 * The project's website.
66 */
67 website?: string;
68 /**
69 * The location of the application's source code, such as a Git URL, GitHub URL, Subversion URL, or Mercurial URL.
70 */
71 repository?: string;
72 /**
73 * The URL of the application's logo image. Dimensions should be square. Format can be SVG, PNG, or JPG.
74 */
75 logo?: string;
76 /**
77 * A URL specifying where to redirect the user once their new app is deployed. If value is a fully-qualified URL, the user should be redirected to that URL. If value begins with a slash `/`, the user should be redirected to that path in their newly deployed app.
78 */
79 success_url?: string;
80 /**
81 * A key-value object specifying scripts or shell commands to execute at different stages in the build/release process. Currently, `postdeploy` is the only supported script.
82 */
83 scripts?: {
84 [k: string]: any;
85 };
86 /**
87 * A key-value object for environment variables, or [config vars](https://devcenter.heroku.com/articles/config-vars) in Heroku parlance. Keys are the names of the environment variables. Values can be strings or objects. If the value is a string, it will be used. If the value is an object, it defines specific requirements for that variable:
88 *
89 * - `description`: a human-friendly blurb about what the value is for and how to determine what it should be
90 * - `value`: a default value to use. This should always be a string.
91 * - `required`: A boolean indicating whether the given value is required for the app to function (default: `true`).
92 * - `generator`: a string representing a function to call to generate the value. Currently the only supported generator is `secret`, which generates a pseudo-random string of characters.
93 */
94 env?: {
95 [k: string]: any;
96 };
97 /**
98 * An array of strings specifying Heroku addons to provision on the app before deploying. Each addon should be in the format `addon:plan` or `addon`. If plan is omitted, that addon's default plan will be provisioned.
99 */
100 addons?: any[];
101 /**
102 * An ordered array of objects specifying the buildpacks to be applied to this app
103 */
104 buildpacks?: any[];
105 /**
106 * Dynos to scale on the app before deploying.
107 */
108 formation?: {
109 [k: string]: any;
110 };
111}
112export interface KolkrabbiApiAppJson {
113 app_json?: AppJsonSchema;
114 /**
115 * name of branch to commit to
116 */
117 branch?: string | null;
118 [k: string]: any;
119}
120/**
121 * FIXME
122 */
123export interface KolkrabbiApiApps {
124 /**
125 * unique identifier of app
126 */
127 app_id?: string;
128 /**
129 * when app was created
130 */
131 created_at?: string;
132 /**
133 * unique identifier of app
134 */
135 id?: string;
136 /**
137 * when app was updated
138 */
139 updated_at?: string | null;
140 [k: string]: any;
141}
142/**
143 * Deprecated: Organizations allow you to manage access to a shared group of applications across your development team.
144 */
145export interface HerokuPlatformApiOrganization {
146 /**
147 * unique identifier of organization
148 */
149 id?: string;
150 /**
151 * when the organization was created
152 */
153 created_at?: string;
154 /**
155 * whether charges incurred by the org are paid by credit card.
156 */
157 credit_card_collections?: boolean;
158 /**
159 * whether to use this organization when none is specified
160 */
161 default?: boolean;
162 /**
163 * upper limit of members allowed in an organization.
164 */
165 membership_limit?: number | null;
166 /**
167 * unique name of organization
168 */
169 name?: string;
170 /**
171 * whether the org is provisioned licenses by salesforce.
172 */
173 provisioned_licenses?: boolean;
174 /**
175 * role in the organization
176 */
177 role?: 'admin' | 'collaborator' | 'member' | 'owner' | null;
178 /**
179 * type of organization.
180 */
181 type?: 'enterprise' | 'team';
182 /**
183 * when the organization was updated
184 */
185 updated_at?: string;
186 [k: string]: any;
187}
188/**
189 * Pipeline repositories link a pipeline to a Github repository.
190 */
191export interface KolkrabbiApiPipelineRepositories {
192 /**
193 * whether automatic review apps is enabled
194 */
195 automatic_review_apps?: boolean;
196 /**
197 * whether CI is enabled
198 */
199 ci?: boolean;
200 /**
201 * unique identifier of a pipeline repository
202 */
203 id?: string;
204 creator?: KolkrabbiApiAccountLink;
205 /**
206 * when the pipeline repository was created
207 */
208 created_at?: string;
209 /**
210 * organization tied to this pipeline repository
211 */
212 organization?: {
213 [k: string]: any;
214 } | null;
215 owner?: KolkrabbiApiAccountLink;
216 pipeline?: HerokuPlatformApiPipeline;
217 repository?: KolkrabbiApiRepositories;
218 /**
219 * whether review apps is enabled
220 */
221 review_apps?: boolean;
222 /**
223 * a collection of statuses
224 */
225 statuses?: any[];
226 /**
227 * when pipeline repository was updated
228 */
229 updated_at?: string | null;
230 [k: string]: any;
231}
232/**
233 * A pipeline allows grouping of apps into different stages.
234 */
235export interface HerokuPlatformApiPipeline {
236 /**
237 * unique identifier of pipeline
238 */
239 id?: string;
240 [k: string]: any;
241}
242/**
243 * A Repository is a reference to a remote DVCs codebase
244 */
245export interface KolkrabbiApiRepositories {
246 /**
247 * The id that the remote DVCS uses for the repository
248 */
249 id?: number;
250 /**
251 * The name for the remote DVCS uses for the repository
252 */
253 name?: string;
254 /**
255 * The type of DVCS
256 */
257 type?: string;
258 /**
259 * when the repository reference was created
260 */
261 created_at?: string;
262 /**
263 * when repository was updated
264 */
265 updated_at?: string | null;
266 [k: string]: any;
267}
268/**
269 * FIXME
270 */
271export interface KolkrabbiApiPullRequests {
272 app_setup?: {
273 /**
274 * unique identifier of app setup
275 */
276 id?: string;
277 /**
278 * the overall status of app setup
279 */
280 status?: 'failed' | 'pending' | 'succeeded';
281 [k: string]: any;
282 };
283 /**
284 * when app was created
285 */
286 created_at?: string;
287 pull_request?: {
288 /**
289 * unique identifier of pull request
290 */
291 id?: number;
292 /**
293 * pull request number
294 */
295 number?: number;
296 /**
297 * unique name of app
298 */
299 ref?: string;
300 /**
301 * pull request title
302 */
303 title?: string;
304 [k: string]: any;
305 };
306 /**
307 * when app was updated
308 */
309 updated_at?: string | null;
310 [k: string]: any;
311}