naftiko: 1.0.0-alpha2 info: label: Atlassian Bit Bucket Repositories API — Issues description: 'Atlassian Bit Bucket Repositories API — Issues. 29 operations. Lead operation: Atlassian Get Component for Issues. Self-contained Naftiko capability covering one Atlassian business surface.' tags: - Atlassian - Issues created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ATLASSIAN_API_KEY: ATLASSIAN_API_KEY capability: consumes: - type: http namespace: bitbucket-repositories-issues baseUri: https://api.bitbucket.org/2.0 description: Atlassian Bit Bucket Repositories API — Issues business capability. Self-contained, no shared references. resources: - name: repositories-workspace-repo_slug-components-component_id path: /repositories/{workspace}/{repo_slug}/components/{component_id} operations: - name: getcomponentforissues method: GET description: Atlassian Get Component for Issues outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-issues path: /repositories/{workspace}/{repo_slug}/issues operations: - name: listissues method: GET description: Atlassian List Issues outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createanissue method: POST description: Atlassian Create an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: repositories-workspace-repo_slug-issues-export path: /repositories/{workspace}/{repo_slug}/issues/export operations: - name: exportissues method: POST description: Atlassian Export Issues outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: repositories-workspace-repo_slug-issues-export-repo_name}-issues-{task_id}.zip path: /repositories/{workspace}/{repo_slug}/issues/export/{repo_name}-issues-{task_id}.zip operations: - name: checkissueexportstatus method: GET description: Atlassian Check Issue Export Status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-issues-import path: /repositories/{workspace}/{repo_slug}/issues/import operations: - name: checkissueimportstatus method: GET description: Atlassian Check Issue Import Status outputRawFormat: json outputParameters: - name: result type: object value: $. - name: importissues method: POST description: Atlassian Import Issues outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-issues-issue_id path: /repositories/{workspace}/{repo_slug}/issues/{issue_id} operations: - name: deleteanissue method: DELETE description: Atlassian Delete an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getanissue method: GET description: Atlassian Get an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-issues-issue_id-attachments path: /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments operations: - name: listattachmentsforanissue method: GET description: Atlassian List Attachments for an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: uploadanattachmenttoanissue method: POST description: Atlassian Upload an Attachment to an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-issues-issue_id-attachments-path path: /repositories/{workspace}/{repo_slug}/issues/{issue_id}/attachments/{path} operations: - name: deleteanattachmentforanissue method: DELETE description: Atlassian Delete an Attachment for an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getattachmentforanissue method: GET description: Atlassian Get Attachment for an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-issues-issue_id-changes path: /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes operations: - name: listchangesonanissue method: GET description: Atlassian List Changes on an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: Query string to narrow down the response. See - name: sort in: query type: string description: Name of a response property to sort results. See - name: modifythestateofanissue method: POST description: Atlassian Modify the State of an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: repositories-workspace-repo_slug-issues-issue_id-changes-change_id path: /repositories/{workspace}/{repo_slug}/issues/{issue_id}/changes/{change_id} operations: - name: getissuechangeobject method: GET description: Atlassian Get Issue Change Object outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-issues-issue_id-comments path: /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments operations: - name: listcommentsonanissue method: GET description: Atlassian List Comments on an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string description: Query string to narrow down the response as per - name: createcommentonanissue method: POST description: Atlassian Create Comment on an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: repositories-workspace-repo_slug-issues-issue_id-comments-comment_id path: /repositories/{workspace}/{repo_slug}/issues/{issue_id}/comments/{comment_id} operations: - name: deletecommentonanissue method: DELETE description: Atlassian Delete Comment on an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getcommentonanissue method: GET description: Atlassian Get Comment on an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatecommentonanissue method: PUT description: Atlassian Update Comment on an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: repositories-workspace-repo_slug-issues-issue_id-vote path: /repositories/{workspace}/{repo_slug}/issues/{issue_id}/vote operations: - name: removevoteforanissue method: DELETE description: Atlassian Remove Vote for an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: checkifcurrentuservotedforanissue method: GET description: Atlassian Check if Current User Voted for an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: voteforanissue method: PUT description: Atlassian Vote for an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-issues-issue_id-watch path: /repositories/{workspace}/{repo_slug}/issues/{issue_id}/watch operations: - name: stopwatchinganissue method: DELETE description: Atlassian Stop Watching an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: checkifcurrentuseriswatchingissue method: GET description: Atlassian Check if Current User Is Watching Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: watchanissue method: PUT description: Atlassian Watch an Issue outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-versions path: /repositories/{workspace}/{repo_slug}/versions operations: - name: listdefinedversionsforissues method: GET description: Atlassian List Defined Versions for Issues outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories-workspace-repo_slug-versions-version_id path: /repositories/{workspace}/{repo_slug}/versions/{version_id} operations: - name: getdefinedversionforissues method: GET description: Atlassian Get Defined Version for Issues outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.ATLASSIAN_API_KEY}}' exposes: - type: rest namespace: bitbucket-repositories-issues-rest port: 8080 description: REST adapter for Atlassian Bit Bucket Repositories API — Issues. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/repositories/{workspace}/{repo-slug}/components/{component-id} name: repositories-workspace-repo-slug-components-component-id description: REST surface for repositories-workspace-repo_slug-components-component_id. operations: - method: GET name: getcomponentforissues description: Atlassian Get Component for Issues call: bitbucket-repositories-issues.getcomponentforissues outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues name: repositories-workspace-repo-slug-issues description: REST surface for repositories-workspace-repo_slug-issues. operations: - method: GET name: listissues description: Atlassian List Issues call: bitbucket-repositories-issues.listissues outputParameters: - type: object mapping: $. - method: POST name: createanissue description: Atlassian Create an Issue call: bitbucket-repositories-issues.createanissue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/export name: repositories-workspace-repo-slug-issues-export description: REST surface for repositories-workspace-repo_slug-issues-export. operations: - method: POST name: exportissues description: Atlassian Export Issues call: bitbucket-repositories-issues.exportissues with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/export/repo-name-issues-task-id-zip name: repositories-workspace-repo-slug-issues-export-repo-name-issues-task-id-zip description: REST surface for repositories-workspace-repo_slug-issues-export-repo_name}-issues-{task_id}.zip. operations: - method: GET name: checkissueexportstatus description: Atlassian Check Issue Export Status call: bitbucket-repositories-issues.checkissueexportstatus outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/import name: repositories-workspace-repo-slug-issues-import description: REST surface for repositories-workspace-repo_slug-issues-import. operations: - method: GET name: checkissueimportstatus description: Atlassian Check Issue Import Status call: bitbucket-repositories-issues.checkissueimportstatus outputParameters: - type: object mapping: $. - method: POST name: importissues description: Atlassian Import Issues call: bitbucket-repositories-issues.importissues outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/{issue-id} name: repositories-workspace-repo-slug-issues-issue-id description: REST surface for repositories-workspace-repo_slug-issues-issue_id. operations: - method: DELETE name: deleteanissue description: Atlassian Delete an Issue call: bitbucket-repositories-issues.deleteanissue outputParameters: - type: object mapping: $. - method: GET name: getanissue description: Atlassian Get an Issue call: bitbucket-repositories-issues.getanissue outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/{issue-id}/attachments name: repositories-workspace-repo-slug-issues-issue-id-attachments description: REST surface for repositories-workspace-repo_slug-issues-issue_id-attachments. operations: - method: GET name: listattachmentsforanissue description: Atlassian List Attachments for an Issue call: bitbucket-repositories-issues.listattachmentsforanissue outputParameters: - type: object mapping: $. - method: POST name: uploadanattachmenttoanissue description: Atlassian Upload an Attachment to an Issue call: bitbucket-repositories-issues.uploadanattachmenttoanissue outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/{issue-id}/attachments/{path} name: repositories-workspace-repo-slug-issues-issue-id-attachments-path description: REST surface for repositories-workspace-repo_slug-issues-issue_id-attachments-path. operations: - method: DELETE name: deleteanattachmentforanissue description: Atlassian Delete an Attachment for an Issue call: bitbucket-repositories-issues.deleteanattachmentforanissue outputParameters: - type: object mapping: $. - method: GET name: getattachmentforanissue description: Atlassian Get Attachment for an Issue call: bitbucket-repositories-issues.getattachmentforanissue outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/{issue-id}/changes name: repositories-workspace-repo-slug-issues-issue-id-changes description: REST surface for repositories-workspace-repo_slug-issues-issue_id-changes. operations: - method: GET name: listchangesonanissue description: Atlassian List Changes on an Issue call: bitbucket-repositories-issues.listchangesonanissue with: q: rest.q sort: rest.sort outputParameters: - type: object mapping: $. - method: POST name: modifythestateofanissue description: Atlassian Modify the State of an Issue call: bitbucket-repositories-issues.modifythestateofanissue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/{issue-id}/changes/{change-id} name: repositories-workspace-repo-slug-issues-issue-id-changes-change-id description: REST surface for repositories-workspace-repo_slug-issues-issue_id-changes-change_id. operations: - method: GET name: getissuechangeobject description: Atlassian Get Issue Change Object call: bitbucket-repositories-issues.getissuechangeobject outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/{issue-id}/comments name: repositories-workspace-repo-slug-issues-issue-id-comments description: REST surface for repositories-workspace-repo_slug-issues-issue_id-comments. operations: - method: GET name: listcommentsonanissue description: Atlassian List Comments on an Issue call: bitbucket-repositories-issues.listcommentsonanissue with: q: rest.q outputParameters: - type: object mapping: $. - method: POST name: createcommentonanissue description: Atlassian Create Comment on an Issue call: bitbucket-repositories-issues.createcommentonanissue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/{issue-id}/comments/{comment-id} name: repositories-workspace-repo-slug-issues-issue-id-comments-comment-id description: REST surface for repositories-workspace-repo_slug-issues-issue_id-comments-comment_id. operations: - method: DELETE name: deletecommentonanissue description: Atlassian Delete Comment on an Issue call: bitbucket-repositories-issues.deletecommentonanissue outputParameters: - type: object mapping: $. - method: GET name: getcommentonanissue description: Atlassian Get Comment on an Issue call: bitbucket-repositories-issues.getcommentonanissue outputParameters: - type: object mapping: $. - method: PUT name: updatecommentonanissue description: Atlassian Update Comment on an Issue call: bitbucket-repositories-issues.updatecommentonanissue with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/{issue-id}/vote name: repositories-workspace-repo-slug-issues-issue-id-vote description: REST surface for repositories-workspace-repo_slug-issues-issue_id-vote. operations: - method: DELETE name: removevoteforanissue description: Atlassian Remove Vote for an Issue call: bitbucket-repositories-issues.removevoteforanissue outputParameters: - type: object mapping: $. - method: GET name: checkifcurrentuservotedforanissue description: Atlassian Check if Current User Voted for an Issue call: bitbucket-repositories-issues.checkifcurrentuservotedforanissue outputParameters: - type: object mapping: $. - method: PUT name: voteforanissue description: Atlassian Vote for an Issue call: bitbucket-repositories-issues.voteforanissue outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/issues/{issue-id}/watch name: repositories-workspace-repo-slug-issues-issue-id-watch description: REST surface for repositories-workspace-repo_slug-issues-issue_id-watch. operations: - method: DELETE name: stopwatchinganissue description: Atlassian Stop Watching an Issue call: bitbucket-repositories-issues.stopwatchinganissue outputParameters: - type: object mapping: $. - method: GET name: checkifcurrentuseriswatchingissue description: Atlassian Check if Current User Is Watching Issue call: bitbucket-repositories-issues.checkifcurrentuseriswatchingissue outputParameters: - type: object mapping: $. - method: PUT name: watchanissue description: Atlassian Watch an Issue call: bitbucket-repositories-issues.watchanissue outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/versions name: repositories-workspace-repo-slug-versions description: REST surface for repositories-workspace-repo_slug-versions. operations: - method: GET name: listdefinedversionsforissues description: Atlassian List Defined Versions for Issues call: bitbucket-repositories-issues.listdefinedversionsforissues outputParameters: - type: object mapping: $. - path: /v1/repositories/{workspace}/{repo-slug}/versions/{version-id} name: repositories-workspace-repo-slug-versions-version-id description: REST surface for repositories-workspace-repo_slug-versions-version_id. operations: - method: GET name: getdefinedversionforissues description: Atlassian Get Defined Version for Issues call: bitbucket-repositories-issues.getdefinedversionforissues outputParameters: - type: object mapping: $. - type: mcp namespace: bitbucket-repositories-issues-mcp port: 9090 transport: http description: MCP adapter for Atlassian Bit Bucket Repositories API — Issues. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: atlassian-get-component-issues description: Atlassian Get Component for Issues hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.getcomponentforissues outputParameters: - type: object mapping: $. - name: atlassian-list-issues description: Atlassian List Issues hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.listissues outputParameters: - type: object mapping: $. - name: atlassian-create-issue description: Atlassian Create an Issue hints: readOnly: false destructive: false idempotent: false call: bitbucket-repositories-issues.createanissue with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-export-issues description: Atlassian Export Issues hints: readOnly: false destructive: false idempotent: false call: bitbucket-repositories-issues.exportissues with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-check-issue-export-status description: Atlassian Check Issue Export Status hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.checkissueexportstatus outputParameters: - type: object mapping: $. - name: atlassian-check-issue-import-status description: Atlassian Check Issue Import Status hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.checkissueimportstatus outputParameters: - type: object mapping: $. - name: atlassian-import-issues description: Atlassian Import Issues hints: readOnly: false destructive: false idempotent: false call: bitbucket-repositories-issues.importissues outputParameters: - type: object mapping: $. - name: atlassian-delete-issue description: Atlassian Delete an Issue hints: readOnly: false destructive: true idempotent: true call: bitbucket-repositories-issues.deleteanissue outputParameters: - type: object mapping: $. - name: atlassian-get-issue description: Atlassian Get an Issue hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.getanissue outputParameters: - type: object mapping: $. - name: atlassian-list-attachments-issue description: Atlassian List Attachments for an Issue hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.listattachmentsforanissue outputParameters: - type: object mapping: $. - name: atlassian-upload-attachment-issue description: Atlassian Upload an Attachment to an Issue hints: readOnly: false destructive: false idempotent: false call: bitbucket-repositories-issues.uploadanattachmenttoanissue outputParameters: - type: object mapping: $. - name: atlassian-delete-attachment-issue description: Atlassian Delete an Attachment for an Issue hints: readOnly: false destructive: true idempotent: true call: bitbucket-repositories-issues.deleteanattachmentforanissue outputParameters: - type: object mapping: $. - name: atlassian-get-attachment-issue description: Atlassian Get Attachment for an Issue hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.getattachmentforanissue outputParameters: - type: object mapping: $. - name: atlassian-list-changes-issue description: Atlassian List Changes on an Issue hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.listchangesonanissue with: q: tools.q sort: tools.sort outputParameters: - type: object mapping: $. - name: atlassian-modify-state-issue description: Atlassian Modify the State of an Issue hints: readOnly: false destructive: false idempotent: false call: bitbucket-repositories-issues.modifythestateofanissue with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-get-issue-change-object description: Atlassian Get Issue Change Object hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.getissuechangeobject outputParameters: - type: object mapping: $. - name: atlassian-list-comments-issue description: Atlassian List Comments on an Issue hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.listcommentsonanissue with: q: tools.q outputParameters: - type: object mapping: $. - name: atlassian-create-comment-issue description: Atlassian Create Comment on an Issue hints: readOnly: false destructive: false idempotent: false call: bitbucket-repositories-issues.createcommentonanissue with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-delete-comment-issue description: Atlassian Delete Comment on an Issue hints: readOnly: false destructive: true idempotent: true call: bitbucket-repositories-issues.deletecommentonanissue outputParameters: - type: object mapping: $. - name: atlassian-get-comment-issue description: Atlassian Get Comment on an Issue hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.getcommentonanissue outputParameters: - type: object mapping: $. - name: atlassian-update-comment-issue description: Atlassian Update Comment on an Issue hints: readOnly: false destructive: false idempotent: true call: bitbucket-repositories-issues.updatecommentonanissue with: body: tools.body outputParameters: - type: object mapping: $. - name: atlassian-remove-vote-issue description: Atlassian Remove Vote for an Issue hints: readOnly: false destructive: true idempotent: true call: bitbucket-repositories-issues.removevoteforanissue outputParameters: - type: object mapping: $. - name: atlassian-check-if-current-user description: Atlassian Check if Current User Voted for an Issue hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.checkifcurrentuservotedforanissue outputParameters: - type: object mapping: $. - name: atlassian-vote-issue description: Atlassian Vote for an Issue hints: readOnly: false destructive: false idempotent: true call: bitbucket-repositories-issues.voteforanissue outputParameters: - type: object mapping: $. - name: atlassian-stop-watching-issue description: Atlassian Stop Watching an Issue hints: readOnly: false destructive: true idempotent: true call: bitbucket-repositories-issues.stopwatchinganissue outputParameters: - type: object mapping: $. - name: atlassian-check-if-current-user-2 description: Atlassian Check if Current User Is Watching Issue hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.checkifcurrentuseriswatchingissue outputParameters: - type: object mapping: $. - name: atlassian-watch-issue description: Atlassian Watch an Issue hints: readOnly: false destructive: false idempotent: true call: bitbucket-repositories-issues.watchanissue outputParameters: - type: object mapping: $. - name: atlassian-list-defined-versions-issues description: Atlassian List Defined Versions for Issues hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.listdefinedversionsforissues outputParameters: - type: object mapping: $. - name: atlassian-get-defined-version-issues description: Atlassian Get Defined Version for Issues hints: readOnly: true destructive: false idempotent: true call: bitbucket-repositories-issues.getdefinedversionforissues outputParameters: - type: object mapping: $.