Sonatype Nexus · Capability

Sonatype Nexus Repository Manager — Tasks

Sonatype Nexus Repository Manager — Tasks. 9 operations. Lead operation: List tasks. Self-contained Naftiko capability covering one Sonatype Nexus business surface.

Run with Naftiko Sonatype NexusTasks

What You Can Do

GET
Gettasks — List tasks
/v1/v1/tasks
POST
Createtask — Create task
/v1/v1/tasks
GET
Gettasktemplates — List tasks of template tasks. This is the base to create new tasks
/v1/v1/tasks/templates
GET
Gettasktemplate — Get task template by type. This is the base to create new tasks
/v1/v1/tasks/templates/{typeid}
DELETE
Deletetaskbyid — Delete task by id
/v1/v1/tasks/{id}
GET
Gettaskbyid — Get a single task by id
/v1/v1/tasks/{id}
POST
Run — Run task
/v1/v1/tasks/{id}/run
POST
Stop — Stop task
/v1/v1/tasks/{id}/stop
PUT
Updatetask — Update an existing task
/v1/v1/tasks/{taskid}

MCP Tools

list-tasks

List tasks

read-only idempotent
create-task

Create task

list-tasks-template-tasks-this

List tasks of template tasks. This is the base to create new tasks

read-only idempotent
get-task-template-type-this

Get task template by type. This is the base to create new tasks

read-only idempotent
delete-task-id

Delete task by id

idempotent
get-single-task-id

Get a single task by id

read-only idempotent
run-task

Run task

stop-task

Stop task

update-existing-task

Update an existing task

idempotent

Capability Spec

repository-tasks.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Sonatype Nexus Repository Manager — Tasks
  description: 'Sonatype Nexus Repository Manager — Tasks. 9 operations. Lead operation: List tasks. Self-contained Naftiko
    capability covering one Sonatype Nexus business surface.'
  tags:
  - Sonatype Nexus
  - Tasks
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SONATYPE_NEXUS_API_KEY: SONATYPE_NEXUS_API_KEY
capability:
  consumes:
  - type: http
    namespace: repository-tasks
    baseUri: ''
    description: Sonatype Nexus Repository Manager — Tasks business capability. Self-contained, no shared references.
    resources:
    - name: v1-tasks
      path: /v1/tasks
      operations:
      - name: gettasks
        method: GET
        description: List tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: type
          in: query
          type: string
          description: Type of the tasks to get
      - name: createtask
        method: POST
        description: Create task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: v1-tasks-templates
      path: /v1/tasks/templates
      operations:
      - name: gettasktemplates
        method: GET
        description: List tasks of template tasks. This is the base to create new tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-tasks-templates-typeId
      path: /v1/tasks/templates/{typeId}
      operations:
      - name: gettasktemplate
        method: GET
        description: Get task template by type. This is the base to create new tasks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: typeId
          in: path
          type: string
          required: true
    - name: v1-tasks-id
      path: /v1/tasks/{id}
      operations:
      - name: deletetaskbyid
        method: DELETE
        description: Delete task by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          required: true
      - name: gettaskbyid
        method: GET
        description: Get a single task by id
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Id of the task to get
          required: true
    - name: v1-tasks-id-run
      path: /v1/tasks/{id}/run
      operations:
      - name: run
        method: POST
        description: Run task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Id of the task to run
          required: true
    - name: v1-tasks-id-stop
      path: /v1/tasks/{id}/stop
      operations:
      - name: stop
        method: POST
        description: Stop task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Id of the task to stop
          required: true
    - name: v1-tasks-taskId
      path: /v1/tasks/{taskId}
      operations:
      - name: updatetask
        method: PUT
        description: Update an existing task
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: taskId
          in: path
          type: string
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: basic
      username: '{{env.SONATYPE_NEXUS_USER}}'
      password: '{{env.SONATYPE_NEXUS_PASS}}'
  exposes:
  - type: rest
    namespace: repository-tasks-rest
    port: 8080
    description: REST adapter for Sonatype Nexus Repository Manager — Tasks. One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/v1/tasks
      name: v1-tasks
      description: REST surface for v1-tasks.
      operations:
      - method: GET
        name: gettasks
        description: List tasks
        call: repository-tasks.gettasks
        with:
          type: rest.type
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createtask
        description: Create task
        call: repository-tasks.createtask
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/tasks/templates
      name: v1-tasks-templates
      description: REST surface for v1-tasks-templates.
      operations:
      - method: GET
        name: gettasktemplates
        description: List tasks of template tasks. This is the base to create new tasks
        call: repository-tasks.gettasktemplates
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/tasks/templates/{typeid}
      name: v1-tasks-templates-typeid
      description: REST surface for v1-tasks-templates-typeId.
      operations:
      - method: GET
        name: gettasktemplate
        description: Get task template by type. This is the base to create new tasks
        call: repository-tasks.gettasktemplate
        with:
          typeId: rest.typeId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/tasks/{id}
      name: v1-tasks-id
      description: REST surface for v1-tasks-id.
      operations:
      - method: DELETE
        name: deletetaskbyid
        description: Delete task by id
        call: repository-tasks.deletetaskbyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: gettaskbyid
        description: Get a single task by id
        call: repository-tasks.gettaskbyid
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/tasks/{id}/run
      name: v1-tasks-id-run
      description: REST surface for v1-tasks-id-run.
      operations:
      - method: POST
        name: run
        description: Run task
        call: repository-tasks.run
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/tasks/{id}/stop
      name: v1-tasks-id-stop
      description: REST surface for v1-tasks-id-stop.
      operations:
      - method: POST
        name: stop
        description: Stop task
        call: repository-tasks.stop
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/tasks/{taskid}
      name: v1-tasks-taskid
      description: REST surface for v1-tasks-taskId.
      operations:
      - method: PUT
        name: updatetask
        description: Update an existing task
        call: repository-tasks.updatetask
        with:
          taskId: rest.taskId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: repository-tasks-mcp
    port: 9090
    transport: http
    description: MCP adapter for Sonatype Nexus Repository Manager — Tasks. One tool per consumed operation, routed inline
      through this capability's consumes block.
    tools:
    - name: list-tasks
      description: List tasks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: repository-tasks.gettasks
      with:
        type: tools.type
      outputParameters:
      - type: object
        mapping: $.
    - name: create-task
      description: Create task
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: repository-tasks.createtask
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-tasks-template-tasks-this
      description: List tasks of template tasks. This is the base to create new tasks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: repository-tasks.gettasktemplates
      outputParameters:
      - type: object
        mapping: $.
    - name: get-task-template-type-this
      description: Get task template by type. This is the base to create new tasks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: repository-tasks.gettasktemplate
      with:
        typeId: tools.typeId
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-task-id
      description: Delete task by id
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: repository-tasks.deletetaskbyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: get-single-task-id
      description: Get a single task by id
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: repository-tasks.gettaskbyid
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: run-task
      description: Run task
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: repository-tasks.run
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: stop-task
      description: Stop task
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: repository-tasks.stop
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-existing-task
      description: Update an existing task
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: repository-tasks.updatetask
      with:
        taskId: tools.taskId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.