Atlassian · Capability

Atlassian rest/api/3/issue/ — Issue Worklogs

Atlassian rest/api/3/issue/ — Issue Worklogs. 5 operations. Lead operation: Atlassian Get Issue Worklogs. Self-contained Naftiko capability covering one Atlassian business surface.

Run with Naftiko AtlassianIssue Worklogs

What You Can Do

GET
Atlassiangetissueworklog — Atlassian Get Issue Worklogs
/v1/api/3/issue/{issueidorkey}/worklog
POST
Atlassianaddworklog — Atlassian Add Worklog
/v1/api/3/issue/{issueidorkey}/worklog
DELETE
Atlassiandeleteworklog — Atlassian Delete Worklog
/v1/api/3/issue/{issueidorkey}/worklog/{id}
GET
Atlassiangetworklog — Atlassian Get Worklog
/v1/api/3/issue/{issueidorkey}/worklog/{id}
PUT
Atlassianupdateworklog — Atlassian Update Worklog
/v1/api/3/issue/{issueidorkey}/worklog/{id}

MCP Tools

atlassian-get-issue-worklogs

Atlassian Get Issue Worklogs

read-only idempotent
atlassian-add-worklog

Atlassian Add Worklog

atlassian-delete-worklog

Atlassian Delete Worklog

idempotent
atlassian-get-worklog

Atlassian Get Worklog

read-only idempotent
atlassian-update-worklog

Atlassian Update Worklog

idempotent

Capability Spec

rest-api-3-issue--issue-worklogs.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Atlassian rest/api/3/issue/ — Issue Worklogs
  description: 'Atlassian rest/api/3/issue/ — Issue Worklogs. 5 operations. Lead operation: Atlassian Get Issue Worklogs.
    Self-contained Naftiko capability covering one Atlassian business surface.'
  tags:
  - Atlassian
  - Issue Worklogs
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ATLASSIAN_API_KEY: ATLASSIAN_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-api-3-issue--issue-worklogs
    baseUri: https://your-domain.atlassian.net
    description: Atlassian rest/api/3/issue/ — Issue Worklogs business capability. Self-contained, no shared references.
    resources:
    - name: rest-api-3-issue-issueIdOrKey-worklog
      path: /rest/api/3/issue/{issueIdOrKey}/worklog
      operations:
      - name: atlassiangetissueworklog
        method: GET
        description: Atlassian Get Issue Worklogs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: issueIdOrKey
          in: path
          type: string
          description: The ID or key of the issue.
          required: true
        - name: startAt
          in: query
          type: integer
          description: The index of the first item to return in a page of results (page offset).
        - name: maxResults
          in: query
          type: integer
          description: The maximum number of items to return per page.
        - name: startedAfter
          in: query
          type: integer
          description: The worklog start date and time, as a UNIX timestamp in milliseconds, after which worklogs are returned.
        - name: startedBefore
          in: query
          type: integer
          description: The worklog start date and time, as a UNIX timestamp in milliseconds, before which worklogs are returned.
        - name: expand
          in: query
          type: string
          description: Use [expand](#expansion) to include additional information about worklogs in the response. This parameter
            accepts`properties`, which returns worklog properties.
      - name: atlassianaddworklog
        method: POST
        description: Atlassian Add Worklog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: issueIdOrKey
          in: path
          type: string
          description: The ID or key the issue.
          required: true
        - name: notifyUsers
          in: query
          type: boolean
          description: Whether users watching the issue are notified by email.
        - name: adjustEstimate
          in: query
          type: string
          description: 'Defines how to update the issue''s time estimate, the options are:'
        - name: newEstimate
          in: query
          type: string
          description: The value to set as the issue's remaining time estimate, as days (\#d), hours (\#h), or minutes (\#m
            or \#). For example, *2d*. Required when `adjustEstimate` i
        - name: reduceBy
          in: query
          type: string
          description: The amount to reduce the issue's remaining estimate by, as days (\#d), hours (\#h), or minutes (\#m).
            For example, *2d*. Required when `adjustEstimate` is `manu
        - name: expand
          in: query
          type: string
          description: Use [expand](#expansion) to include additional information about work logs in the response. This parameter
            accepts `properties`, which returns worklog propertie
        - name: overrideEditableFlag
          in: query
          type: boolean
          description: 'Whether the worklog entry should be added to the issue even if the issue is not editable, because
            jira.issue.editable set to false or missing. For example, the '
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: rest-api-3-issue-issueIdOrKey-worklog-id
      path: /rest/api/3/issue/{issueIdOrKey}/worklog/{id}
      operations:
      - name: atlassiandeleteworklog
        method: DELETE
        description: Atlassian Delete Worklog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: issueIdOrKey
          in: path
          type: string
          description: The ID or key of the issue.
          required: true
        - name: id
          in: path
          type: string
          description: The ID of the worklog.
          required: true
        - name: notifyUsers
          in: query
          type: boolean
          description: Whether users watching the issue are notified by email.
        - name: adjustEstimate
          in: query
          type: string
          description: 'Defines how to update the issue''s time estimate, the options are:'
        - name: newEstimate
          in: query
          type: string
          description: The value to set as the issue's remaining time estimate, as days (\#d), hours (\#h), or minutes (\#m
            or \#). For example, *2d*. Required when `adjustEstimate` i
        - name: increaseBy
          in: query
          type: string
          description: 'The amount to increase the issue''s remaining estimate by, as days (\#d), hours (\#h), or minutes
            (\#m or \#). For example, *2d*. Required when `adjustEstimate` '
        - name: overrideEditableFlag
          in: query
          type: boolean
          description: Whether the work log entry should be added to the issue even if the issue is not editable, because
            jira.issue.editable set to false or missing. For example, the
      - name: atlassiangetworklog
        method: GET
        description: Atlassian Get Worklog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: issueIdOrKey
          in: path
          type: string
          description: The ID or key of the issue.
          required: true
        - name: id
          in: path
          type: string
          description: The ID of the worklog.
          required: true
        - name: expand
          in: query
          type: string
          description: Use [expand](#expansion) to include additional information about work logs in the response. This parameter
            accepts
      - name: atlassianupdateworklog
        method: PUT
        description: Atlassian Update Worklog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: issueIdOrKey
          in: path
          type: string
          description: The ID or key the issue.
          required: true
        - name: id
          in: path
          type: string
          description: The ID of the worklog.
          required: true
        - name: notifyUsers
          in: query
          type: boolean
          description: Whether users watching the issue are notified by email.
        - name: adjustEstimate
          in: query
          type: string
          description: 'Defines how to update the issue''s time estimate, the options are:'
        - name: newEstimate
          in: query
          type: string
          description: The value to set as the issue's remaining time estimate, as days (\#d), hours (\#h), or minutes (\#m
            or \#). For example, *2d*. Required when `adjustEstimate` i
        - name: expand
          in: query
          type: string
          description: Use [expand](#expansion) to include additional information about worklogs in the response. This parameter
            accepts `properties`, which returns worklog properties
        - name: overrideEditableFlag
          in: query
          type: boolean
          description: Whether the worklog should be added to the issue even if the issue is not editable. For example, because
            the issue is closed. Connect and Forge app users with *
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
  exposes:
  - type: rest
    namespace: rest-api-3-issue--issue-worklogs-rest
    port: 8080
    description: REST adapter for Atlassian rest/api/3/issue/ — Issue Worklogs. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/api/3/issue/{issueidorkey}/worklog
      name: rest-api-3-issue-issueidorkey-worklog
      description: REST surface for rest-api-3-issue-issueIdOrKey-worklog.
      operations:
      - method: GET
        name: atlassiangetissueworklog
        description: Atlassian Get Issue Worklogs
        call: rest-api-3-issue--issue-worklogs.atlassiangetissueworklog
        with:
          issueIdOrKey: rest.issueIdOrKey
          startAt: rest.startAt
          maxResults: rest.maxResults
          startedAfter: rest.startedAfter
          startedBefore: rest.startedBefore
          expand: rest.expand
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: atlassianaddworklog
        description: Atlassian Add Worklog
        call: rest-api-3-issue--issue-worklogs.atlassianaddworklog
        with:
          issueIdOrKey: rest.issueIdOrKey
          notifyUsers: rest.notifyUsers
          adjustEstimate: rest.adjustEstimate
          newEstimate: rest.newEstimate
          reduceBy: rest.reduceBy
          expand: rest.expand
          overrideEditableFlag: rest.overrideEditableFlag
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/3/issue/{issueidorkey}/worklog/{id}
      name: rest-api-3-issue-issueidorkey-worklog-id
      description: REST surface for rest-api-3-issue-issueIdOrKey-worklog-id.
      operations:
      - method: DELETE
        name: atlassiandeleteworklog
        description: Atlassian Delete Worklog
        call: rest-api-3-issue--issue-worklogs.atlassiandeleteworklog
        with:
          issueIdOrKey: rest.issueIdOrKey
          id: rest.id
          notifyUsers: rest.notifyUsers
          adjustEstimate: rest.adjustEstimate
          newEstimate: rest.newEstimate
          increaseBy: rest.increaseBy
          overrideEditableFlag: rest.overrideEditableFlag
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: atlassiangetworklog
        description: Atlassian Get Worklog
        call: rest-api-3-issue--issue-worklogs.atlassiangetworklog
        with:
          issueIdOrKey: rest.issueIdOrKey
          id: rest.id
          expand: rest.expand
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: atlassianupdateworklog
        description: Atlassian Update Worklog
        call: rest-api-3-issue--issue-worklogs.atlassianupdateworklog
        with:
          issueIdOrKey: rest.issueIdOrKey
          id: rest.id
          notifyUsers: rest.notifyUsers
          adjustEstimate: rest.adjustEstimate
          newEstimate: rest.newEstimate
          expand: rest.expand
          overrideEditableFlag: rest.overrideEditableFlag
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-api-3-issue--issue-worklogs-mcp
    port: 9090
    transport: http
    description: MCP adapter for Atlassian rest/api/3/issue/ — Issue Worklogs. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: atlassian-get-issue-worklogs
      description: Atlassian Get Issue Worklogs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-api-3-issue--issue-worklogs.atlassiangetissueworklog
      with:
        issueIdOrKey: tools.issueIdOrKey
        startAt: tools.startAt
        maxResults: tools.maxResults
        startedAfter: tools.startedAfter
        startedBefore: tools.startedBefore
        expand: tools.expand
      outputParameters:
      - type: object
        mapping: $.
    - name: atlassian-add-worklog
      description: Atlassian Add Worklog
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: rest-api-3-issue--issue-worklogs.atlassianaddworklog
      with:
        issueIdOrKey: tools.issueIdOrKey
        notifyUsers: tools.notifyUsers
        adjustEstimate: tools.adjustEstimate
        newEstimate: tools.newEstimate
        reduceBy: tools.reduceBy
        expand: tools.expand
        overrideEditableFlag: tools.overrideEditableFlag
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: atlassian-delete-worklog
      description: Atlassian Delete Worklog
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: rest-api-3-issue--issue-worklogs.atlassiandeleteworklog
      with:
        issueIdOrKey: tools.issueIdOrKey
        id: tools.id
        notifyUsers: tools.notifyUsers
        adjustEstimate: tools.adjustEstimate
        newEstimate: tools.newEstimate
        increaseBy: tools.increaseBy
        overrideEditableFlag: tools.overrideEditableFlag
      outputParameters:
      - type: object
        mapping: $.
    - name: atlassian-get-worklog
      description: Atlassian Get Worklog
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-api-3-issue--issue-worklogs.atlassiangetworklog
      with:
        issueIdOrKey: tools.issueIdOrKey
        id: tools.id
        expand: tools.expand
      outputParameters:
      - type: object
        mapping: $.
    - name: atlassian-update-worklog
      description: Atlassian Update Worklog
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: rest-api-3-issue--issue-worklogs.atlassianupdateworklog
      with:
        issueIdOrKey: tools.issueIdOrKey
        id: tools.id
        notifyUsers: tools.notifyUsers
        adjustEstimate: tools.adjustEstimate
        newEstimate: tools.newEstimate
        expand: tools.expand
        overrideEditableFlag: tools.overrideEditableFlag
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.