Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 6
Excerpt

View the complete public API of the App.

Code Blockopen-api
openapi: 3.0.0

servers:

  - url: 'https://jira.example.com/'

info:

  version: "3.0.0"

  title: 'Cleaner for Jira REST API'

  description: 'The Cleaner for Jira app helps you manage your Jira system and make sure there are no unused elements which could be affecting the performance or cost of your Jira instance. Use the REST API to access the configuration item manifest and other functions remotely.'

  contact:

    name: 'Support'

    url: 'https://remote.automation-consultants.com/jira/servicedesk/customer/portal/3'

    email: 'plugins@automation-consultants.com'

paths:

  /rest/cleaner/1.0/manifest/projects:

    get:

      description: 'Get a list of all Projects in the system.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/Project'

  /rest/cleaner/1.0/manifest/custom-fields:

    get:

      description: "\nGet >-

        Get a list of all Custom Fields in system, including statistics and\nproperties."

        properties.

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/CustomField'

  /rest/cleaner/1.0/manifest/issue-types:

    get:

      description: 'Get a list of Issue Types.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/IssueType'

  /rest/cleaner/1.0/manifest/inactive-users:

    get:

      description: "\nGet >-

        Get a list of all Users who are considered inactive, from your saved\nsettings."

        settings.

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/User'

  /rest/cleaner/1.0/manifest/issue-link-types:

    get:

      description: 'Get a list of Issue Link Types, including statistics.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/IssueLinkType'

  /rest/cleaner/1.0/manifest/issue-security-schemes:

    get:

      description: 'Get a list of Issue Security Schemes.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/IssueSecurityScheme'

  /rest/cleaner/1.0/manifest/issue-type-schemes:

    get:

      description: 'Get a list of Issue Type Schemes.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/IssueTypeScheme'

  /rest/cleaner/1.0/manifest/issue-type-screen-schemes:

    get:

      description: 'Get a list of Issue Type Screen Schemes.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/IssueTypeScreenScheme'

  /rest/cleaner/1.0/manifest/notification-schemes:

    get:

      description: 'Get a list of Notification Schemes.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/NotificationScheme'

  /rest/cleaner/1.0/manifest/permission-schemes:

    get:

      description: 'Get a list of Permission Schemes.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/PermissionScheme'

  /rest/cleaner/1.0/manifest/priorities:

    get:

      description: 'Get a list of Priorities.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/Priority'

  /rest/cleaner/1.0/manifest/resolutions:

    get:

      description: 'Get a list of Resolutions.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/Resolution'

  /rest/cleaner/1.0/manifest/screen-schemes:

    get:

      description: 'Get a list of Screen Schemes.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/ScreenScheme'

  /rest/cleaner/1.0/manifest/screens:

    get:

      description: 'Get a list of Screens.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/Screen'

  /rest/cleaner/1.0/manifest/statuses:

    get:

      description: 'Get a list of Statuses.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/Status'

  /rest/cleaner/1.0/manifest/workflow-schemes:

    get:

      description: 'Get a list of Workflow Schemes.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/WorkflowScheme'

  /rest/cleaner/1.0/manifest/workflows:

    get:

      description: 'Get a list of Workflows.'

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                type: array

                items:

                  $ref: '#/components/schemas/Workflow'

  /rest/cleaner/1.0/history:

    get:

      description: "\nGet >-

        Get the last 20 days history for Projects, Issue Types and other\nconfiguration 

        configuration items, taken automatically on a schedule by the App."

      responses:

        '200':

          description: OK

          headers: {}

  /rest/cleaner/1.0/license-summary:

    get:

      description: "\nGet >-

        Get a summary of current used licenses in each Jira Application, which\nshows 

        shows how many licenses are being used by inactive users (users who have\nnot 

        not logged in recently according to your settings."

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                $ref: '#/components/schemas/LicenseSummary'

  /rest/cleaner/1.0/log:

    get:

      description: 'Get the Audit Log entries from a certain point in time.'

      parameters:

        -           name: startAt

          description: 'Where to start at'

          in: query

          required: true

          schema:

            type: integer

      responses:

        '200':

          description: OK

          headers: {}

  /rest/cleaner/1.0/statistics:

    get:

      description: "\nGet >-

        Get High-Level Statistics on configuration item usage, highlighting\nareas 

        areas that can be improved."

      responses:

        '200':

          description: OK

          headers: {}

          content:

            application/json:

              schema:

                $ref: '#/components/schemas/StatisticsJson'

components:

  schemas:

    CrossReference:

      properties:

        name:

          example: 'Configuration Item Name'

          type: string

        url:

          example: '/jira/secure/admin/ConfigureFieldScreen.jspa?id=10003'

          type: string

      type: object

    IssueTypeScheme:

      properties:

        id: 

          type: number

          example: 10108

        name:

          type: string

          example: 'Example Issue Type Scheme'

        issueTypeCount:

          type: number

          example: 1

        projectCount:

          type: number

          example: 1

      type: object

    IssueTypeScreenScheme:

      properties:

        id: 

          type: number

          example: 20108

        name:

          type: string

          example: 'Example Issue Type Screen Scheme'

        projectCount:

          type: number

          example: 1

      type: object

    LicenseSummary:

      properties:

        core:

          type: number

        unusedCore:

          type: number

        software:

          type: number

        unusedSoftware:

          type: number

        serviceDesk:

          type: number

        unusedServiceDesk:

          type: number

      type: object

    RequestJson:

      properties:

        type:

          type: string

        entities:

          type: array

          items: {}

        stringEntities:

          type: array

          items: {}

      type: object

    StatisticsJson:

      properties:

        projects:

          type: number

        emptyProjects:

          type: number

        customFields:

          type: number

        emptyCustomFields:

          type: number

        issueTypes:

          type: number

        emptyIssueTypes:

          type: number

        issueTypeSchemes:

          type: number

        emptyIssueTypeSchemes:

          type: number

        workflowSchemes:

          type: number

        emptyWorkflowSchemes:

          type: number

        workflows:

          type: number

        emptyWorkflows:

          type: number

        issueTypeScreenSchemes:

          type: number

        emptyIssueTypeScreenSchemes:

          type: number

        screenSchemes:

          type: number

        screenSchemesEmpty:

          type: number

        screens:

          type: number

        emptyScreens:

          type: number

        statuses:

          type: number

        emptyStatuses:

          type: number

        resolutions:

          type: number

        emptyResolutions:

          type: number

        priorities:

          type: number

        emptyPriorities:

          type: number

      type: object

    SettingsJson:

      properties:

        rememberMePeriod:

          type: number

        inactivePeriod:

          type: number

        acProjectLimit:

          type: number

        acIssueTypeLimit:

          type: number

        cron:

          type: string

      type: object

    Analytics:

      properties:

        projects:

          type: number

        customFields:

          type: number

        workflowSchemes:

          type: number

        statuses:

          type: number

        screenSchemes:

          type: number

        issueTypes:

          type: number

        issueTypeScreenSchemes:

          type: number

        screens:

          type: number

        workflows:

          type: number

        issueTypeSchemes:

          type: number

        users:

          type: number

      type: object

    NestedType:

      properties:

        id:

          type: number

        name:

          type: string

        suggestedContext:

          $ref: '#/components/schemas/NestedType'

      type: object

    Project:

      properties:

        id:

          type: number

          example: 10000

        name:

          type: string

          example: 'My Cool Project Name'

        key:

          type: string

          example: 'MKPN'

        lead:

          type: string

          example: 'username'

        avatar:

          type: number

          example: 10000

        count:

          type: number

          example: 10

        lastUpdated:

          type: number

          example: 1519576974

      type: object

    IssueType:

      properties:

        id: 

          type: number

          example: 10002

        name: 

          type: string

          example: 'Epic'

        description:

          type: string

          example: 'gh.issue.epic.desc'

        count:

          type: number

          example: 10

      type: object

    CustomField:

      properties:

        id: 

          type: number

          example: 10000

        name:

          type: string

          example: 'Sprint'

        type:

          type: string

          example: 'JIRA Sprint Field'

        associationSummary: 

          type: string

          example: 'Global'

        global:

          type: boolean

          example: true

        screens:

          type: number

          example: 2

        values:

          type: number

          example: 0

      type: object

    User:

      properties:

        key: 

          type: string

          example: 'admin'

        userName:

          type: string

          example: 'admin'

        displayName: 

          type: string

          example: 'Administrator'

        core: 

          type: boolean

          example: false

        software:

          type: boolean

          example: true

        servicedesk:

          type: boolean

          example: true

        email: 

          type: string

          example: 'admin@admin.com'

        avatar:

          type: number

          example: 0

        lastLogin:

          type: number

          example: 1519572150003

      type: object

    TopIdJson:

      properties:

        id:

          type: number

      type: object

    IssueLinkType:

      properties:

        id: 

          type: number

          example: 10000

        name: 

          type: string

          example: 'Blocks'

        incomingLabel: 

          type: string

          example: 'is blocked by'

        outgoingLabel:

          type: string

          example: 'blocks'

        count: 

          type: number

          example: 0

      type: object

    IssueSecurityScheme:

      properties:

        id:

          type: number

          example: 10000

        name:

          type: string

          example: 'Default Issue Security Scheme'

        entityCount:

          type: number

          example: 0

        projectCount:

          type: number

          example: 0

      type: object

    NotificationScheme:

      properties:

        id:

          type: number

          example: 10000

        name:

          type: string

          example: 'Default Notification Scheme'

        entityCount:

         type: number

         example: 48

        projectCount: 

          type: number

          example: 2

      type: object

    PermissionScheme:

      properties:

        id:

          type: number

          example: 10000

        name:

          type: string

          example: 'Default Permission Scheme'

        projectCount: 

          type: number

          example: 2

      type: object

    Priority:

      properties:

        id:

          type: number

          example: 1

        name: 

          type: string

          example: 'Highest'

        colour:

          type: string

          example: '#d04437'

        icon:

          type: string

          example: '/images/icons/priorities/highest.png'

        isDefault: 

          type: boolean

          example: false

        issueCount: 

          type: number

          example: 0

      type: object

    Resolution:

      properties:

        id:

          type: number

          example: 10000

        name: 

          type: string

          example: 'Done'

        description:

          type: string

          example: 'Work has been completed on this issue.'

        isDefault:

          type: boolean

          example: false

        issueCount:

          type: number

          example: 0

      type: object

    ScreenScheme:

      properties:

        id:

         type: number

         example: 1

        name: 

          type: string

          example: 'Default Screen Scheme'

        issueTypeScreenSchemeCount:

          type: number

          example: 1

      type: object

    Screen:

      properties:

        id:

          type: number

          example: 1

        name:

          type: string

          example: 'Default Screen'

        customFieldCount:

          type: number

          example: 0

        workflowCount:

          type: number

          example: 0

        screenSchemeCount:

          type: number

          example: 1

      type: object

    Status:

      properties:

        id:

          type: number

          example: 1

        name:

          type: string

          example: 'Open'

        category:

          type: string

          example: 'New'

        workflowCount:

          type: number

          example: 2

        issueCount:

          type: number

          example: 0

      type: object

    WorkflowScheme:

      properties:

        id:

          type: number

          example: 10000

        name:

          type: string

          example: 'Ny Workflow Scheme'

        projectCount:

          type: number

          example: 5

      type: object

    Workflow:

      properties:

        id: 

          type: number

          example: 10000

        name:

          type: string

          example: 'Management Workflow'

        author:

          type: string

          example: admin

        lastUpdated:

          type: number

          example: 1519572150003

        workflowSchemeCount:

          type: number

          example: 0

      type: object