Sonatype Config Source Control API

Use this REST API to manage the configuration of IQ Server with your Source Control Management (SCM) system (e.g. GitHub).

OpenAPI Specification

sonatype-config-source-control-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Sonatype Lifecycle Public REST Advanced Search Config Source Control API
  version: 1.201.0-02
  description: Use the Advanced Search REST API to perform searches on Lifecycle application scan reports.
security:
- BasicAuth: []
  BearerAuth: []
tags:
- description: Use this REST API to manage the configuration of IQ Server with your Source Control Management (SCM) system (e.g. GitHub).
  name: Config Source Control
paths:
  /api/v2/config/sourceControl:
    delete:
      description: 'Use this method to delete an existing SCM configuration.


        Permissions required: Edit System Configuration and Users'
      operationId: deleteConfiguration_6
      responses:
        '204':
          description: SCM configuration deleted successfully.
      tags:
      - Config Source Control
    get:
      description: 'Use this method to retrieve an existing SCM configuration.


        Permissions required: Edit System Configuration and Users'
      operationId: getConfiguration_6
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSourceControlConfigurationDTO'
          description: 'The response contains: <ul><li>`cloneDirectory` is the location of the cloned repository that will be used by the IQ server. If a relative path is provided, then that path will be created inside the  `sonatype-work` directory and your repository will be created within this. A return value `source-control` indicates that this setting is not configured.</li><li>`gitImplementation` will have the value `java` for JGit or `native` for a native git client.</li><li>`prCommentPurgeWindow` is the number of days until the comments of a Pull Request (PR) are allowed to be purged.</li><li>`prEventPurgeWindow` is the number of days until PR events are allowed to be purged.</li><li>`gitExecutable` is the absolute path to a native client. No value indicates the native git client is on the system path.</li>`gitTimeoutSeconds` is the number of seconds a git command can execute before timing out.</li>`commitUsername` is the username that will be used for the SCM features. The value `NexusIQ` indicates the default value.</li>`commitEmail` is the commit email that will be used for the SCM features.`useUsernameInRepositoryCloneUrl` indicates if the username will be added to the URL for the cloned repository. This can be used in conjunction with `commitEmail` to support the  ''Verified Committer'' feature of Bitbucket.</li>`defaultBranchMonitoringStartTime` has a default value between 00:00 and 00:10. It is the time at which the default branch monitoring will start for the first time.</li>`defaultBranchMonitoringIntervalHours` is the number of hours elapsed between the executions of default branch monitoring by the IQ Server. The default value is 24 hours.</li><li>`pullRequestMonitoringIntervalSeconds` is the time in seconds between consecutive execution of PR monitoring. The default value is 60 seconds.</li></ul> '
        '404':
          description: No SCM configuration found
      tags:
      - Config Source Control
    put:
      description: 'Use this method to set an SCM Configuration with the IQ Server.


        Permissions required: Edit System Configuration and Users'
      operationId: setConfiguration_6
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiSourceControlConfigurationDTO'
        description: 'Provide the settings for the SCM configuration as below: <ul><li>`cloneDirectory` is the location of the cloned repository that will be used by the IQ server. If a relative path is provided, then that path will be created inside the  `sonatype-work` directory and your repository will be created within this. A return value `source-control` indicates that this setting is not configured.</li><li>`gitImplementation` will have the value `java` for JGit or `native` for a native git client.</li><li>`prCommentPurgeWindow` is the number of days until the comments of a Pull Request (PR) are allowed to be purged.</li><li>`prEventPurgeWindow` is the number of days until PR events are allowed to be purged.</li><li>`gitExecutable` is the absolute path to a native client. No value indicates the native git client is on the system path.</li>`gitTimeoutSeconds` is the number of seconds a git command can execute before timing out.</li>`commitUsername` is the username that will be used for the SCM features. The value `NexusIQ` indicates the default value.</li>`commitEmail` is the commit email that will be used for the SCM features.`useUsernameInRepositoryCloneUrl` indicates if the username will be added to the URL for the clonedrepository. This can be used in conjunction with `commitEmail` to support the ''Verified Committer'' feature of Bitbucket.</li>`defaultBranchMonitoringStartTime` has a default value between 00:00 and 00:10. It is the time at which the default branch monitoring will start for the first time.</li>`defaultBranchMonitoringIntervalHours` is the number of hours elapsed between the executions of default branch monitoring by the IQ Server. The default value is 24 hours.</li><li>`pullRequestMonitoringIntervalSeconds` is the time in seconds between consecutive execution of PR monitoring. The default value is 60 seconds.</li></ul>'
      responses:
        '204':
          description: SCM configuration successfully updated.
      tags:
      - Config Source Control
components:
  schemas:
    ApiSourceControlConfigurationDTO:
      properties:
        cloneDirectory:
          type: string
        commitEmail:
          type: string
        commitUsername:
          type: string
        defaultBranchMonitoringIntervalHours:
          format: int32
          type: integer
        defaultBranchMonitoringStartTime:
          type: string
        gitExecutable:
          type: string
        gitImplementation:
          enum:
          - native
          - java
          type: string
        gitTimeoutSeconds:
          format: int32
          type: integer
        gpgPassphrase:
          type: string
        gpgSigningKey:
          type: string
        prCommentPurgeWindow:
          format: int32
          type: integer
        prEventPurgeWindow:
          format: int32
          type: integer
        pullRequestMonitoringIntervalSeconds:
          format: int32
          type: integer
        useUsernameInRepositoryCloneUrl:
          type: boolean
      type: object
  securitySchemes:
    BasicAuth:
      scheme: basic
      type: http
    BearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http