UNPKG

@atomist/sdm-pack-aspect

Version:

an Atomist SDM Extension Pack for visualizing drift across an organization

425 lines (423 loc) 13.1 kB
swagger: "2.0" info: description: "Atomist Explorer" version: 1.0.0 title: Atomist Explorer termsOfService: "http://swagger.io/terms/" contact: email: "info@atomist.com" license: name: Apache 2.0 url: "http://www.apache.org/licenses/LICENSE-2.0.html" basePath: /api/v1 tags: - name: atomist description: Explore your projects externalDocs: description: Find out more about how Atomist can help visualize and improve your projects url: "https://www.atomist.com" schemes: - http paths: /{workspace}/aspects: get: tags: - aspects summary: Find all aspects in workspace description: Find aspects in workspace operationId: findAspects produces: - application/json parameters: - name: workspace in: path description: Workspace id. * for all. required: true type: string responses: "200": description: successful operation schema: type: object properties: list: type: array items: $ref: "#/definitions/Category" "400": description: Invalid workspace id /{workspace}/tags: get: tags: - tags summary: Find all tags in workspace, including their usage description: Find tags in workspace operationId: findTags produces: - application/json parameters: - name: workspace in: path description: Workspace id. * for all. required: true type: string responses: "200": description: successful operation schema: type: object properties: list: type: array items: $ref: "#/definitions/Category" "400": description: Invalid workspace id /{workspace}/fingerprints: get: tags: - fingerprints summary: Find all fingerprints in workspace description: Find fingerprints in workspace operationId: findAllFingerprints produces: - application/json parameters: - name: workspace in: path description: Workspace id. * for all. required: true type: string responses: "200": description: successful operation schema: type: object properties: list: type: array items: $ref: "#/definitions/Fingerprint" "400": description: Invalid workspace id /{workspace}/fingerprint/{type}: get: tags: - fingerprints summary: Find all fingerprints of a given type in the workspace description: Find fingerprints of a given type in workspace operationId: findFingerprintsByType produces: - application/json parameters: - name: workspace in: path description: Workspace id. * for all. required: true type: string - name: type in: path description: Fingerprint type required: true type: string responses: "200": description: successful operation schema: type: object properties: list: type: array items: $ref: "#/definitions/Fingerprint" "400": description: Invalid status value /{workspace}/fingerprint/{type}/{name}: get: tags: - fingerprints summary: Show the distribution of a fingerprint in the workspace description: Show the distribution of a fingerprint in the workspace, in a tree structure where the outer ring is repository operationId: findFingerprintsByNameAndType produces: - application/json parameters: - name: workspace in: path description: Workspace id. * for all. required: true type: string - name: type in: path description: Fingerprint type required: true type: string - name: name in: path description: Fingerprint name. Use "*" to show all fingerprints of type required: true type: string - name: byOrg in: query description: Introduce a tree layer by organization type: string enum: - true - false required: false default: true - name: progress in: query description: Show progress to ideal type: string enum: - true - false required: false default: false - name: otherLabel in: query description: If set, returns a response for all repos, whether or not the technology is present, with the label being shown type: string required: false - name: trim in: query description: Trim outer ring (repositories). Only relevant if name=* type: string enum: - true - false required: false default: false responses: "200": description: successful operation schema: type: object properties: tree: $ref: "#/definitions/Tree" "400": description: Invalid status value /{workspace}/drift: get: tags: - drift summary: Show drift in the workspace description: Show drift in the workspace, in a tree structure where the outer ring is fingerprint operationId: drift produces: - application/json parameters: - name: workspace in: path description: Workspace id. * for all. required: true type: string parameters: - name: percentile in: query description: Entropy percentile (e.g. 80). Only show aspects with entropy above this. required: false type: integer format: int32 default: 0 - name: band in: query description: Introduce a ring for size band type: string enum: - true - false required: false default: false parameters: - name: type in: query description: Aspect name (fingerprint type) to show drift for required: false type: string responses: "200": description: successful operation schema: type: object properties: tree: $ref: "#/definitions/Tree" "400": description: Invalid status value /{workspace}/ideal/{id}: put: tags: - ideal summary: Set an ideal fingerprint description: Set an ideal fingerprint operationId: setIdeal produces: - application/json parameters: - name: workspace in: path description: Workspace id required: true type: string - name: id in: path description: Ideal id required: true type: string responses: "201": description: successful operation "400": description: Invalid status value /{workspace}/entropy/{type}/{name}: put: tags: - entropy summary: Calculate entropy for the given fingerprint description: Calculate entropy for the given fingerprint operationId: calculateEntropy produces: - application/json parameters: - name: workspace in: path description: Workspace id required: true type: string - name: type in: path description: Fingerprint type required: true type: string - name: name in: path description: Fingerprint name required: true type: string responses: "201": description: successful operation "400": description: Invalid status value /{workspace}/explore: get: tags: - repositories summary: Find all repositories in workspace matching one or more tags description: Find all repositories in workspace matching one or more tags operationId: findByTag produces: - application/json parameters: - name: workspace in: path description: Workspace id. * for all. required: true type: string - name: tags in: query description: Comma-separate list of tags to search for. required: false type: string - name: byOrg in: query description: Introduce a tree layer by organization type: string enum: - true - false required: false default: true responses: "200": description: successful operation schema: type: object properties: tags: type: array description: Thing items: type: object properties: name: type: string description: Tag name count: description: Occurrence among matching repositories type: integer format: int32 selectedTags: type: array description: Selected tags items: type: string tree: description: Org/repositories/tags $ref: "#/definitions/Tree" "400": description: Invalid workspace id components: schemas: Aspect: type: object properties: name: type: string description: Human readable aspect name type: type: string description: Aspect name description: type: string description: Description url: type: string description: URL for futher information definitions: Category: properties: category: type: string description: Category tag count: type: integer format: int32 aspects: type: array items: $ref: "#/components/schemas/Aspect" description: Aspects in this category Fingerprint: properties: type: type: string description: Fingerprint type name: type: string description: Fingerprint name variants: type: integer format: int32 count: type: integer format: int32 entropy: type: integer format: float description: Entropy across the organization for this fingerprint. Tree: properties: name: type: string description: Name of this level children: type: array items: # Probably need to do https://stackoverflow.com/questions/36866035/how-to-refer-to-enclosing-type-definition-recursively-in-openapi-swagger $ref: "#/definitions/Tree" required: - name