Swagger open api macro | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||
openapi: 3.0.3 info: title: SITDC REST API version: '1.0' description: | Path structure |Path type|Path structure |Description | |---------|-----------------------------------------------------|---------------------| |URI |http://host:port/context/rest/smartissuetemplates/1.0|Root of the SITDC API| tags: - name: Template description: SITDC Template externalDocs: description: Find out more about Templates url: https://appsdelivered.atlassian.net/wiki/spaces/SIT/pages/2490395/Templates paths: /smartissuetemplates/1.0/template: post: tags: - Template summary: Add a new Template description: Returns the created Template requestBody: description: Create a new Template content: application/json: schema: required: - name - content - owners - scopeDto - availableFor type: object properties: name: type: string example: Test Template content: type: string example: 'pid=10000&issuetype=10000&summary=&reporter=admin&dnd-dropzone=&duedate=&description=&assignee=-1&priority=3' description: Stringified content of Create Issue dialog availableFor: type: string example: SCOPE enum: - OWNER - SCOPE contentVersion: type: string example: V2 enum: - V2 description: type: string example: Just test template isPublic: type: boolean example: true description: true if availableFor equals SCOPE, otherwise false issueKey: type: string isDefault: type: boolean example: false isFavorite: type: boolean example: false scopeDto: $ref: '#/components/schemas/Scope' owners: type: array items: $ref: '#/components/schemas/User' tagDtos: type: array items: $ref: '#/components/schemas/Tag' variableDtos: type: array items: $ref: '#/components/schemas/Variable' required: true responses: '201': description: Successfull creation content: applicatoin/json: schema: $ref: '#/components/schemas/Template' '400': description: Default template already exists content: application/json: schema: type: string description: Error message '403': description: Permission error content: application/json: schema: type: string description: Error message '500': description: Validation error content: application/json: schema: type: array items: type: string description: Error message put: tags: - Template summary: Update a Template description: Updates a Template requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdatingTemplate' responses: '200': description: Successfull operation '400': description: Invalid input content: application/json: schema: oneOf: - type: string description: Error message - type: array items: type: string description: Error message '403': description: Permission error content: application/json: schema: type: string description: Error message /smartissuetemplates/1.0/template/attachment/{templateId}: get: tags: - Template summary: Get the template by ID description: Returns a single template parameters: - name: templateId in: path description: ID of a template to return required: true schema: type: integer responses: '200': description: Successfull operation content: application/json: schema: $ref: '#/components/schemas/Template' '404': description: Template not found /smartissuetemplates/1.0/template/pagination: post: tags: - Template summary: Get the paginated templates description: Returns a list of paginated, filterd and sorted templates requestBody: required: true content: application/json: schema: type: object properties: paginationDto: $ref: '#/components/schemas/Pagination' filterDtos: type: array items: $ref: '#/components/schemas/Filter' responses: '200': description: Successfull operation content: application/json: schema: $ref: '#/components/schemas/TemplatePagination' /smartissuetemplates/1.0/template/duplicate: post: tags: - Template summary: Duplicate a template description: Returns a duplicated template requestBody: required: true content: application/json: schema: required: - id - name - owner - owners - scopeDto type: object properties: id: type: integer name: type: string scopeDto: $ref: '#/components/schemas/Scope' owners: type: array items: $ref: '#/components/schemas/User' owner: $ref: '#/components/schemas/User' responses: '200': description: Successfull duplication content: application/json: schema: type: integer example: 8 description: ID of a duplicate '403': description: Permission error content: application/json: schema: type: string description: Error message '500': description: Validation error content: application/json: schema: type: array items: type: string description: Error message /smartissuetemplates/1.0/template/{templateId}: delete: tags: - Template summary: Delete a Template description: Deletes a template by its ID parameters: - name: templateId in: path description: ID of a Template to delete required: true schema: type: stringinteger responses: '204': description: Successfull deletion '400': description: Invalid Template ID supplied '500': description: Template not found or no permission to delete a template /smartissuetemplates/1.0/template/apply/{templateId}: post: tags: - Template summary: Apply a Template description: Applies a Template by its ID for the same issue type and project in which it was created parameters: - name: templateId in: path description: ID of a Template to apply required: true schema: type: integer responses: '200': description: Successfull applying content: application/json: schema: type: string description: Issue key '403': description: No permmission content: application/json: schema: type: string description: Error message '404': description: Template not found content: application/json: schema: type: string description: Error message components: schemas: Template: required: - id - name - content - owners - scopeDto - availableFor type: object properties: id: type: integer name: type: string example: Test Template content: type: string example: 'pid=10000&issuetype=10000&summary=&reporter=admin&dnd-dropzone=&duedate=&description=&assignee=-1&priority=3' description: Stringified content of Create Issue dialog owner: $ref: '#/components/schemas/User' availableFor: type: string example: SCOPE enum: - OWNER - SCOPE contentVersion: type: string example: V2 enum: - V2 description: type: string example: Just test template isPublic: type: boolean example: true description: true if availableFor equals SCOPE, otherwise false issueKey: type: string example: TP-1 created: type: integer example: 1691696567217 description: Integer of seconds since midnight, January 1, 1970 updateAuthor: $ref: '#/components/schemas/User' updateTime: type: integer example: 1691696567217 usages: type: integer example: 0 isDefault: type: boolean example: false isFavorite: type: boolean example: false scopeDto: $ref: '#/components/schemas/Scope' owners: type: array items: $ref: '#/components/schemas/User' tagDtos: type: array items: $ref: '#/components/schemas/Tag' variableDtos: type: array items: $ref: '#/components/schemas/Variable' projectId: type: string example: 10000 issueTypeId: type: string example: 10010 projectIds: type: array items: type: integer issueTypeIds: type: array items: type: integer UpdatingTemplate: required: - templateDto - newOwners type: object properties: templateDto: required: - id - name - content - owner - owners - scopeDto - availableFor - contentVersion type: object properties: id: type: integer name: type: string example: Test Template content: type: string example: 'pid=10000&issuetype=10000&summary=&reporter=admin&dnd-dropzone=&duedate=&description=&assignee=-1&priority=3' description: Stringified content of Create Issue dialog owner: $ref: '#/components/schemas/User' availableFor: type: string example: SCOPE enum: - OWNER - SCOPE contentVersion: type: string example: V2 enum: - V2 description: type: string example: Just test template isPublic: type: boolean example: true description: true if availableFor equals SCOPE, otherwise false issueKey: type: string isDefault: type: boolean example: false isFavorite: type: boolean example: false scopeDto: $ref: '#/components/schemas/Scope' owners: type: array items: $ref: '#/components/schemas/User' tagDtos: type: array items: $ref: '#/components/schemas/Tag' variableDtos: type: array items: $ref: '#/components/schemas/Variable' newOwners: type: array items: $ref: '#/components/schemas/User' User: required: - username type: object properties: username: type: string example: testUser userKey: type: string example: JIRAUSER123 displayName: type: string example: Test User admin: type: boolean example: false userEmail: type: string example: user@example.com avatarUrl: type: string Scope: type: object properties: id: type: integer example: 1 name: type: string example: GLOBAL owner: $ref: '#/components/schemas/User' isGlobalIssueType: type: boolean example: true isGlobalIssueProject: type: boolean example: true isGlobalIssueGroup: type: boolean example: true isGlobalIssueUser: type: boolean example: true projectIds: type: array items: type: integer example: [] issueTypeIds: type: array items: type: integer example: [-1] groupNames: type: array items: type: string example: [] userNames: type: array items: type: string example: [] owners: type: array items: $ref: '#/components/schemas/User' templateDtos: type: array items: $ref: '#/components/schemas/Template' countTemplates: type: integer Tag: required: - id - text type: object properties: id: type: integer example: 1 text: type: string example: New Tag owner: $ref: '#/components/schemas/User' created: type: integer example: 1691694943294 isNew: type: boolean example: false updateAuthor: $ref: '#/components/schemas/User' updated: type: integer example: 1691694943294 Variable: required: - name - defaultValue type: object properties: id: type: integer example: 10 name: type: string example: testVar defaultValue: type: string example: Test variable variableType: type: string enum: - TEXT - USER example: TEXT isDynamic: type: boolean example: false owner: $ref: '#/components/schemas/User' created: type: integer example: 1691699485337 updateAuthor: $ref: '#/components/schemas/User' updateTime: type: integer example: 1691699485337 variableScope: type: string enum: - GLOBAL - SYSTEM - HIERARCHY SearchRequest: required: - paginationDto type: object properties: paginationDto: $ref: '#/components/schemas/Pagination' filterDtos: type: array items: $ref: '#/components/schemas/Filter' Pagination: required: - limin - offset - column - order type: object properties: limit: type: integer example: 10 offset: type: integer example: 20 column: type: string enum: - name - usages - created - createdBy - changed - changedBy - scope - is_global example: name order: type: string enum: - ASC - DESC currentUser: type: string example: JIRAUSER123 Filter: required: - column - fieldValues type: object properties: column: type: string enum: - CAN_APPLY - NAME - TAG_ID - SCOPE_ID - AVAILABLE - OWNER_NAME fieldValues: type: array items: type: string example: [ {column: CAN_APPLY, fieldValues: ["false"]}, {column: NAME, fieldValues: []}, {column: TAG_ID, fieldValues: []}, {column: SCOPE_ID, fieldValues: []}, {column: AVAILABLE, fieldValues: [ALL]}, {column: OWNER_NAME, fieldValues: []}, ] TemplatePagination: type: object properties: templates: type: array items: $ref: '#/components/schemas/Template' numTemplates: type: integer example: 10 requestParam: $ref: "#/components/schemas/Pagination" filterDtos: type: array items: $ref: "#/components/schemas/Filter" |
Page Comparison
General
Content
Integrations