"openapi: 3.0.1\ninfo:\n title: SCM Integrations Service\n description: >-\n SCM Integrations Service retrieves and updates information about projects and repos where you have deployed integrations to scan code. It can test the connection between Polaris and the host of\n your remote repository.\n version: 1.0.0\n x-logo:\n icon: fa-user-robot\n primary: null\n secondary: null\n contact:\n name: Synopsys, Inc.\n url: https://polaris.synopsys.com/\nservers:\n - url: /api/scm\n description: SCM Integrations service\ntags:\n - name: SCM Repositories API\n description: APIs to search for and retrieve repository details.\n - name: Project SCM Repository API\n description: APIs related to managing repository details for a given project.\n - name: Test Connection SCM Repository API\n description: APIs related to testing the connection with the repository for a given project.\n - name: SCM Repositories Import API\n description: APIs to bulk import repositories and retrieve the import details.\n - name: SCM Integration Authentication API\n description: APIs to authenticate SCM integrations.\n - name: SCM Groups Repositories Import API\n description: APIs to import SCM group repositories.\n - name: Integrations APIs\n description: APIs related to testing the integrations and connection with the repository or group for a given project.\n - name: SCM get all branches API\n description: APIs related to get SCM branches for given project ID and repository ID\nsecurity:\n - ApiKeyAuth: []\npaths:\n /repositories:\n post:\n tags:\n - SCM Repositories API\n operationId: searchRepositories\n summary: Search SCM repositories by project IDs or repository IDs\n description: Retrieves all the SCM repositories for a given list of project IDs or repository IDs. If both IDs are provided, response will be determined by an 'AND' condition.\n requestBody:\n content:\n application/vnd.synopsys.scm.repo-search-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n applicationId:\n type: string\n description: The applicationId of the project.\n format: uuid\n repositoryIds:\n uniqueItems: true\n type: array\n description: List of repository IDs.\n items:\n type: string\n format: uuid\n projectIds:\n uniqueItems: true\n type: array\n description: List of project IDs.\n items:\n type: string\n format: uuid\n required: true\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.repo-list-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n _items:\n $ref: '#/paths/~1repositories/get/responses/200/content/application~1vnd.synopsys.scm.repo-list-1%2Bjson%3Bcharset%3DUTF-8/schema/properties/_items'\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/repositories?_offset=20&_limit=10\n rel: self\n method: POST\n - href: https://polaris.synopsys.com/api/scm/repositories?_offset=0&_limit=10\n rel: first\n method: POST\n - href: https://polaris.synopsys.com/api/scm/repositories?_offset=1000&_limit=10\n rel: last\n method: POST\n _collection:\n $ref: '#/paths/~1repositories/get/responses/200/content/application~1vnd.synopsys.scm.repo-list-1%2Bjson%3Bcharset%3DUTF-8/schema/properties/_collection'\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: either repositoryIds or projectIds required\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: You are not authorized to view the repositories for this application.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred.\n get:\n tags:\n - SCM Repositories API\n operationId: searchRepositoriesWithFilters\n summary: Retrieve configured SCM repositories with filters\n description: >-\n Retrieves all the SCM repositories related to the applications accessible to the given user. It supports filtering on repositoryId and projectId only. The result will be sorted by default\n based on the creation date of the repository, latest first. Custom sorting parameters are not supported. The response will be paginated by default with 10 items per page with a maximum limit\n to 100.\n parameters:\n - name: _filter\n in: query\n description: >-\n Filters the collection of repositories. The filter follows the RSQL syntax. Available keys for filtering are `repositoryId` and `projectId`. Supported RSQL operators on the keys are - =in=\n (in operator only). Multiple logical operators and repeated keys are not allowed and only UUID values are supported for the values. More details at `https://github.com/jirutka/rsql-parser`\n schema:\n type: string\n example: |\n [ \n repositoryId=in=(1d44c6d4-dde4-4c37-b068-9e7eb21c4a19, 1d44c6d4-dde4-4c37-b068-9e7eb21c4a19),\n projectId=in=(0a50c9ab-7c75-498e-8b18-0d695ca4ef03);repositoryId=in=(1d44c6d4-dde4-4c37-b068-9e7eb21c4a19, 1d44c6d4-dde4-4c37-b068-9e7eb21c4a19), projectId=in=(0a50c9ab-7c75-498e-8b18-0d695ca4ef03, 0a50c9ab-7c75-498e-8b18-0d695ca4ef02)\n ]\n - name: _limit\n in: query\n description: >-\n Restricts the number of results to the given limit. The default of 100 is used if no value is provided. If a limit greater than 100 is provided, the response will be \"HTTP 400 Bad\n Request.\"\n schema:\n type: integer\n default: 100\n - name: _offset\n in: query\n description: >-\n Returns results, starting from a given position within the response. For example, if the offset is set to 5, the first four records are not returned. A default value of 0 is used if no\n value is provided. If the offset is beyond the range of the collection, no results are returned.\n schema:\n type: integer\n default: 0\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.repo-list-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n _items:\n type: object\n properties:\n id:\n type: string\n description: The unique identifier assigned to the repository.\n format: uuid\n organizationId:\n type: string\n description: The unique identifier assigned to the organization.\n format: uuid\n repositoryUrl:\n type: string\n description: The repository URL associated with the project available from SCM provider.\n example: https://github.com/Org-A/repo-1\n scmProvider:\n type: string\n enum:\n - GITHUB_STANDARD\n - GITHUB_ENTERPRISE_CLOUD\n - GITLAB_SAAS\n - AZURE_CLOUD\n - BITBUCKET_CLOUD\n description: The type of SCM provider.\n applicationId:\n type: string\n description: The applicationId corresponding to the repository that is associated with a project.\n format: uuid\n projectId:\n type: string\n description: The project ID which can be obtained from portfolio service.\n format: uuid\n createdAt:\n type: string\n description: Repository creation time.\n format: date-time\n updatedAt:\n type: string\n description: Repository update time.\n format: date-time\n createdBy:\n type: string\n description: The user who created the repository.\n example: test@gmail.com\n updatedBy:\n type: string\n description: The user who updated the repository.\n example: test@gmail.com\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/repositories?_offset=20&_limit=10\n rel: self\n method: GET\n - href: https://polaris.synopsys.com/api/scm/repositories?_offset=0&_limit=10\n rel: first\n method: GET\n - href: https://polaris.synopsys.com/api/scm/repositories?_offset=1000&_limit=10\n rel: last\n method: GET\n _collection:\n type: object\n properties:\n itemCount:\n type: integer\n format: int64\n example: 1\n currentPage:\n type: integer\n format: int32\n example: 1\n pageCount:\n type: integer\n format: int32\n example: 1\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n type: object\n properties:\n type:\n type: string\n description: The type of Error.\n title:\n type: string\n description: The title of the error.\n status:\n type: integer\n description: The Status code related to the error.\n detail:\n type: string\n description: The details of the error along with message.\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: Limit value must not be less than 0 and cannot be more than 100\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: You are not authorized to access this repository.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred.\n /repositories/{repositoryId}:\n get:\n tags:\n - SCM Repositories API\n operationId: getRepository\n summary: Get SCM repository by ID\n description: API to retrieve an SCM repository for a given repository ID. Repository ID can be retrieved using POST/GET project's repository APIs.\n parameters:\n - name: repositoryId\n in: path\n description: The repository ID which is a UUID that is stored in SCM integrations service\n required: true\n schema:\n type: string\n format: uuid\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n - name: _include\n in: query\n description: >-\n Accepted value for `_include` is 'defaultBranchName'. This parameter defines if defaultBranchName is needed with the response. If _include parameter is not specified, the response object\n does not have the defaultBranchName attribute.\n required: false\n schema:\n type: string\n example: _include=defaultBranchName\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.repo-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n body:\n oneOf:\n - type: object\n properties:\n id:\n type: string\n description: The unique identifier assigned to the repository.\n format: uuid\n organizationId:\n type: string\n description: The unique identifier assigned to the organization.\n format: uuid\n repositoryUrl:\n type: string\n description: The repository URL associated with the project available from SCM provider.\n example: https://www.github.com/te-repo\n scmProvider:\n type: string\n description: The type of SCM provider.\n example: GITHUB_STANDARD\n applicationId:\n type: string\n description: The application ID or portfolioItemId corresponding to the repository that is associated with a project.\n format: uuid\n projectId:\n type: string\n description: The project ID which can be obtained from portfolio service.\n format: uuid\n createdAt:\n type: string\n description: Repository creation time.\n format: date-time\n updatedAt:\n type: string\n description: Repository update time.\n format: date-time\n createdBy:\n type: string\n description: The user who created the repository.\n example: test@gmail.com\n updatedBy:\n type: string\n description: The user who updated the repository.\n example: test@gmail.com\n defaultBranchName:\n type: string\n description: Name of the default branch name for the repository. This is an optional parameter.\n example: main\n example:\n id: 3fa85f64-5717-4562-b3fc-2c963f66afa6\n organizationId: 3fa85f64-5717-4562-b3fc-2c963f66afa6\n repositoryUrl: https://www.github.com/te-repo\n scmProvider: GITHUB_STANDARD\n applicationId: 3fa85f64-5717-4562-b3fc-2c963f66afa6\n projectId: 3fa85f64-5717-4562-b3fc-2c963f66afa6\n createdAt: '2023-10-26T09:56:54.333Z'\n updatedAt: '2023-10-26T09:56:54.333Z'\n createdBy: Chuck Norris\n updatedBy: Chuck Norris\n defaultBranchName: main\n _links:\n - href: https://polaris.synopsys.com/api/scm/repositories/3fa85f64-5717-4562-b3fc-2c963f66afa6\n rel: self\n method: GET\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: repositoryId value is in invalid format.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: You are not authorized to access this repository.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred.\n /projects/{projectId}/repository:\n get:\n tags:\n - Project SCM Repository API\n operationId: getRepositoryByProjectId\n summary: Get SCM repository by project ID\n description: API to retrieve an SCM repository for a given project ID.\n parameters:\n - name: projectId\n in: path\n description: The project ID which is a UUID that can be obtained from portfolio service\n required: true\n schema:\n type: string\n format: uuid\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.repo-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n id:\n type: string\n description: The unique identifier assigned to the repository.\n format: uuid\n organizationId:\n type: string\n description: The unique identifier assigned to the organization.\n format: uuid\n repositoryUrl:\n type: string\n description: The repository URL associated with the project available from SCM provider.\n example: https://github.com/Org-A/repo-1\n scmProvider:\n type: string\n description: The type of SCM provider.\n enum:\n - GITHUB_STANDARD\n - GITHUB_ENTERPRISE_CLOUD\n - GITLAB_SAAS\n - AZURE_CLOUD\n - BITBUCKET_CLOUD\n applicationId:\n type: string\n description: The applicationId corresponding to the repository that is associated with a project.\n format: uuid\n projectId:\n type: string\n description: The project ID which can be obtained from portfolio service.\n format: uuid\n createdAt:\n type: string\n description: Repository creation time.\n format: date-time\n updatedAt:\n type: string\n description: Repository update time.\n format: date-time\n createdBy:\n type: string\n description: The user who created the repository.\n example: test@gmail.com\n updatedBy:\n type: string\n description: The user who updated the repository.\n example: test@gmail.com\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n format: url\n rel:\n type: string\n default: self\n method:\n type: string\n default: GET\n example:\n - href: https://polaris.synopsys.com/api/scm/projects/3fa85f64-5717-4562-b3fc-2c963f66afa6/repository\n rel: self\n method: GET\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: projectId value is in invalid format.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: You are not authorized to access repository settings.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred.\n post:\n tags:\n - Project SCM Repository API\n operationId: createRepositoryConfig\n summary: Create SCM repository for a project\n description: API to create an SCM repository for a given project.\n parameters:\n - name: projectId\n in: path\n description: The project ID which is a UUID that can be obtained from portfolio service\n required: true\n schema:\n type: string\n format: uuid\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n requestBody:\n content:\n application/vnd.synopsys.scm.repo-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n applicationId:\n type: string\n description: The applicationId of the project.\n format: uuid\n repositoryUrl:\n type: string\n description: The repository URL from SCM the provider.\n example: https://github.com/Org-A/repo-1\n scmProvider:\n type: string\n enum:\n - GITHUB_STANDARD\n - GITHUB_ENTERPRISE_CLOUD\n - GITLAB_SAAS\n - AZURE_CLOUD\n - BITBUCKET_CLOUD\n description: The SCM provider type.\n example: GITHUB_STANDARD\n scmAuthentication:\n type: object\n properties:\n name:\n type: string\n description: Custom SCM authentication name of the user's choice.\n example: SCM auth 1\n authenticationMode:\n type: string\n enum:\n - PAT\n - OAUTH_2\n description: Type of authentication used.\n authToken:\n type: string\n description: The access token value from the SCM provider.\n example: ghp_Gjej2424j32rnWEmnrf234DFq\n required: true\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.repo-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n id:\n type: string\n description: The unique identifier assigned to the repository.\n format: uuid\n organizationId:\n type: string\n description: The unique identifier assigned to the organization.\n format: uuid\n repositoryUrl:\n type: string\n description: The repository URL associated with the project available from SCM provider.\n example: https://github.com/Org-A/repo-1\n scmProvider:\n type: string\n description: The type of SCM provider.\n enum:\n - GITHUB_STANDARD\n - GITHUB_ENTERPRISE_CLOUD\n - GITLAB_SAAS\n - AZURE_CLOUD\n - BITBUCKET_CLOUD\n applicationId:\n type: string\n description: The applicationId corresponding to the repository that is associated with a project.\n format: uuid\n projectId:\n type: string\n description: The project ID which can be obtained from portfolio service.\n format: uuid\n createdAt:\n type: string\n description: Repository creation time.\n format: date-time\n updatedAt:\n type: string\n description: Repository update time.\n format: date-time\n createdBy:\n type: string\n description: The user who created the repository.\n example: test@gmail.com\n updatedBy:\n type: string\n description: The user who updated the repository.\n example: test@gmail.com\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n format: url\n rel:\n type: string\n default: self\n method:\n type: string\n default: POST\n example:\n - href: https://polaris.synopsys.com/api/scm/projects/3fa85f64-5717-4562-b3fc-2c963f66afa6/repository\n rel: self\n method: POST\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: SCM provider is required\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: You are not authorized to create the repository settings.\n '409':\n description: Conflict.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:conflict\n title: Conflict\n status: 409\n detail: A repository record already exist for the project\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred.\n /projects/{projectId}/repository/{repositoryId}:\n patch:\n tags:\n - Project SCM Repository API\n operationId: updateRepositoryConfigByRepositoryId\n summary: Update SCM repository for a given project by repositoryId\n description: API to update an SCM repository for a given project and repository.\n parameters:\n - name: projectId\n in: path\n description: The project ID which is a UUID that can be obtained from portfolio service\n required: true\n schema:\n type: string\n format: uuid\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n - name: repositoryId\n in: path\n description: The repository ID which is a UUID that can be obtained from SCM get repository API\n required: true\n schema:\n type: string\n format: uuid\n example: 0c50c9ab-b068-498e-b068-0d695ca4ed04\n requestBody:\n content:\n application/vnd.synopsys.scm.repo-1+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1projects~1%7BprojectId%7D~1repository/post/requestBody/content/application~1vnd.synopsys.scm.repo-1%2Bjson%3Bcharset%3DUTF-8/schema'\n required: true\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.repo-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n id:\n type: string\n description: The unique identifier assigned to the repository.\n format: uuid\n organizationId:\n type: string\n description: The unique identifier assigned to the organization.\n format: uuid\n repositoryUrl:\n type: string\n description: The repository URL associated with the project available from SCM provider.\n example: https://github.com/Org-A/repo-1\n scmProvider:\n type: string\n description: The type of SCM provider.\n enum:\n - GITHUB_STANDARD\n - GITHUB_ENTERPRISE_CLOUD\n - GITLAB_SAAS\n - AZURE_CLOUD\n - BITBUCKET_CLOUD\n applicationId:\n type: string\n description: The applicationId corresponding to the repository that is associated with a project.\n format: uuid\n projectId:\n type: string\n description: The project ID which can be obtained from portfolio service.\n format: uuid\n createdAt:\n type: string\n description: Repository creation time.\n format: date-time\n updatedAt:\n type: string\n description: Repository update time.\n format: date-time\n createdBy:\n type: string\n description: The user who created the repository.\n example: test@gmail.com\n updatedBy:\n type: string\n description: The user who updated the repository.\n example: test@gmail.com\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n format: url\n rel:\n type: string\n default: self\n method:\n type: string\n default: PATCH\n example:\n - href: https://polaris.synopsys.com/api/scm/projects/3fa85f64-5717-4562-b3fc-2c963f66afa6/repository/3fa85f64-5717-4562-b3fc-2c963f66afa6\n rel: self\n method: PATCH\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: SCM provider is required\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: You are not authorized to update the repository settings.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred.\n /projects/{projectId}/repository/test-connection:\n post:\n tags:\n - Test Connection SCM Repository API\n operationId: testConnectionRepository\n summary: Test connection for a given project with SCM repository\n description: API to test and verify validity of an SCM repository connection for a given project.\n parameters:\n - name: projectId\n in: path\n description: The project ID which is a UUID that can be obtained from portfolio service\n required: true\n schema:\n type: string\n format: uuid\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n requestBody:\n content:\n application/vnd.synopsys.scm.repo-1+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1projects~1%7BprojectId%7D~1repository/post/requestBody/content/application~1vnd.synopsys.scm.repo-1%2Bjson%3Bcharset%3DUTF-8/schema'\n required: true\n responses:\n '200':\n description: Success.\n content:\n application/json:\n schema:\n type: object\n properties:\n object:\n type: boolean\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/47880d3c-bdb4-438f-876d-0ac0af6f9b27/repository/test-connection\n rel: self\n method: POST\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: projectId value is in invalid format.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: You are not authorized to perform test connection operation on this repository.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred.\n /projects/{projectId}/repository/{repoId}/branches:\n get:\n operationId: getAllBranchesForRepository\n tags:\n - SCM get all branches API\n summary: Get SCM branches for given project ID and repository ID\n description: Retrieves all the SCM branches for a given project ID and repository ID\n parameters:\n - name: projectId\n in: path\n description: The project ID which is a UUID that can be obtained from portfolio service\n required: true\n schema:\n type: string\n format: uuid\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n - name: repoId\n in: path\n description: The repository ID which is a UUID that can be obtained from SCM get repository API\n required: true\n schema:\n type: string\n format: uuid\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n - name: _offset\n in: query\n description: >-\n Returns results, starting from a given position within the response. The offset needs to be a multiple of limit, otherwise an error will be thrown. For example, if the offset is set to 10,\n the first 4 records are not returned. A default value of 0 is used if no value is provided. If the offset is beyond the range of the collection, no results are returned.\n schema:\n type: integer\n default: 0\n example: 0\n - name: _limit\n in: query\n description: Restricts the number of results to the given limit. The default of 100 is used if no value is provided. If a limit greater than 100 is provided, the response will be \"HTTP 400 Bad Request.\n schema:\n type: integer\n default: 100\n example: 10\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.repo.branch-list-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n _items:\n type: array\n items:\n type: object\n properties:\n name:\n type: string\n description: The name of the branch.\n example: branch-1234\n sha:\n type: string\n description: The unique identifier for the commit.\n example: 5af53a13790bf123a6128cbe89e548f8ea74df98\n isDefault:\n type: boolean\n description: Indicator for default branch.\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/projects/0a50c9ab-b068-498e-b068-0d695ca4ef03/repository/0a50c9ab-b068-498e-b068-0d695ca4ef03/branches?_limit=10\n rel: self\n method: GET\n - href: https://polaris.synopsys.com/api/scm/projects/0a50c9ab-b068-498e-b068-0d695ca4ef03/repository/0a50c9ab-b068-498e-b068-0d695ca4ef03/branches?_limit=10\n rel: first\n method: GET\n - href: https://polaris.synopsys.com/api/scm/projects/0a50c9ab-b068-498e-b068-0d695ca4ef03/repository/0a50c9ab-b068-498e-b068-0d695ca4ef03/branches?_limit=10\n rel: last\n method: GET\n _collection:\n $ref: '#/paths/~1repositories/get/responses/200/content/application~1vnd.synopsys.scm.repo-list-1%2Bjson%3Bcharset%3DUTF-8/schema/properties/_collection'\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: repoId value is in invalid format.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: Not authorized to list repository branches.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/paths/~1repositories/get/responses/400/content/application~1problem%2Bjson%3Bcharset%3DUTF-8/schema'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred.\n /integrations/groups/auth:\n post:\n operationId: createGroupAuthentication\n tags:\n - SCM Integration Authentication API\n summary: Create SCM-Repository Authentication configuration for specified Application\n description: This API configures the PAT specified in the payload on the given `applicationId`. The PAT that is set on the application is utilised by all the projects created under the application.\n requestBody:\n content:\n application/vnd.synopsys.scm.integrations.groups-auth-1+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/UpdateScmRepositoryByAppIdRequestV1'\n required: true\n responses:\n '201':\n description: Resource has been created.\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: SCM provider is required\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: You are not authorized to update the repository settings.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\n /providers:\n get:\n operationId: listSCMProviders\n tags:\n - List SCM providers API\n summary: Listing of all SCM providers.\n description: This API lists all the SCM providers supported (including both cloud-hosted & self-hosted) and includes the version details if the hosting type is self-hosted.\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.providers-list-1+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ScmProviderResponseV1Response'\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: An unexpected error happened while listing versions for scm providers from the library.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error happened while listing versions.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bitbucket data center (self-hosted) is disabled...\n /repositories-import:\n post:\n tags:\n - SCM Repositories Import API\n operationId: importRepositoriesForAGroup\n summary: Bulk import SCM repositories for a group\n description: Creates a bulk import job for the given group and repositories. Only users assigned to the application really have access to the projects underneath them.\n parameters:\n - in: header\n name: x-polaris-scm-pat\n description: Personal Access Token\n schema:\n type: string\n required: true\n requestBody:\n content:\n application/vnd.synopsys.scm.repositories-import-1+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ImportRepositoriesForAGroupRequestV1'\n required: true\n responses:\n '202':\n description: Request Accepted for Processing.\n headers:\n Location:\n required: true\n schema:\n type: string\n format: url\n example: https://polaris.synopsys.com/repositories-import/b2dbb34e-ce92-4218-a78f-8f20a2300a54\n description: URL to check the status of import job.\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: SCM provider required.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: User does not have required access to any repository-group.\n '409':\n description: Conflict.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:conflict\n title: Conflict\n status: 409\n detail: Another Import Job is under process, please try again after sometime (or abort previous job).\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred while importing the groups and repositories.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\n /repositories-import/groups/status:\n get:\n tags:\n - SCM Repositories Import API\n operationId: getRepositoriesImportGroupsStatus\n summary: Get import statistics per group and its constituent repositories\n description: >-\n Fetches the cumulative status of available groups along with repository level statistics. The results are by default sorted with jobs creation date in desc order, custom sorting is not\n supported.\n parameters:\n - name: _limit\n in: query\n description: >-\n Restricts the number of results to the given limit. The default of 100 is used if no value is provided. If a limit greater than 100 is provided, the response will be \"HTTP 400 Bad\n Request.\"\n schema:\n type: integer\n default: 100\n example: 100\n - name: _offset\n in: query\n description: >-\n Returns results, starting from a given position within the response. For example, if the offset is set to 5, the first four records are not returned. A default value of 0 is used if no\n value is provided. If the offset is beyond the range of the collection, no results are returned.\n schema:\n type: integer\n default: 0\n example: 0\n - name: _filter\n in: query\n description: |\n Filters the collection of groups import. The filter follows the RSQL syntax. More details at `https://github.com/jirutka/rsql-parser`.\n\n __Note__: Supported filter 'keys' are ['__state__','__portfolioItemId__'].\n\n Valid state's for a group is: [NOT_STARTED, IN_PROGRESS, FAILED, COMPLETED]\n schema:\n type: string\n example: |\n [ state==COMPLETED, state=in=(COMPLETED,NOT_STARTED), portfolioItemId==3fa85f64-5717-4562-b3fc-2c963f66afa6 ]\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.repositories-import-status-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n _items:\n type: array\n items:\n $ref: '#/components/schemas/GetRepoImportGroupsStatusResponseV1'\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/repositories-import/groups/status?_limit=10\n rel: self\n method: GET\n - href: https://polaris.synopsys.com/api/scm/repositories-import/groups/status?_limit=10\n rel: first\n method: GET\n - href: https://polaris.synopsys.com/api/scm/repositories-import/groups/status?_limit=10\n rel: last\n method: GET\n _collection:\n $ref: '#/components/schemas/RepoImportStatusPageInformation'\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: Limit value must not be less than 0 and cannot be more than 100.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred while getting repositories import groups status.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\n /groups-repositories-import:\n post:\n tags:\n - SCM Groups Repositories Import API\n operationId: importGroupsRepositories\n summary: Bulk import SCM groups and repositories\n description: Creates a bulk import job for the given groups and repositories. Ensure that the users assigned to the applications really have access to the projects underneath them.\n parameters:\n - in: header\n name: x-polaris-scm-pat\n description: Personal Access Token\n schema:\n type: string\n required: true\n requestBody:\n content:\n application/vnd.synopsys.scm.groups-repositories-import-1+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ImportRepositoriesRequestV1'\n required: true\n responses:\n '202':\n description: Request Accepted for Processing.\n headers:\n Location:\n required: true\n schema:\n type: string\n format: url\n example: https://polaris.synopsys.com/groups-repositories-import/b2dbb34e-ce92-4218-a78f-8f20a2300a54\n description: URL to check the status of import job.\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: SCM provider required.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: User does not have required access to any repository-group.\n '409':\n description: Conflict.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:conflict\n title: Conflict\n status: 409\n detail: Another Import Job is under process, please try again after sometime (or abort previous job).\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred while importing the groups and repositories.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\n /groups-repositories-import/{groupsRepositoriesImportJobId}:\n patch:\n tags:\n - SCM Groups Repositories Import API\n operationId: updateImportGroupsRepositoriesJob\n summary: Update groups repositories import job\n description: Update groups repositories import job for the given job id, only supported action is [ABORT] .\n parameters:\n - name: groupsRepositoriesImportJobId\n in: path\n description: The groups repositories import job ID which is a UUID. Can be found in location header of POST API response.\n required: true\n schema:\n type: string\n format: uuid\n requestBody:\n content:\n application/vnd.synopsys.scm.groups-repositories-import-1+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/UpdateRepositoriesImportRequestV1'\n required: true\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.groups-repositories-import-1+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/UpdatedRepositoriesImportResponseV1'\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: Specified action is invalid, only action allowed is ABORT.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '403':\n description: Forbidden.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:forbidden\n title: Forbidden\n status: 403\n detail: Access is denied.\n '404':\n description: Not found.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-found\n title: Not found\n status: 404\n detail: No matching records found for repositories import jobId - 0a50c9ab-b068-498e-b068-0d695ca4ef03\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred while updating repositories.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\n /groups-repositories-import/{repositoriesImportJobId}/status:\n get:\n tags:\n - SCM Groups Repositories Import API\n operationId: getGroupsRepositoriesImportStatusById\n summary: Get groups repositories import job status by job id\n description: Fetches the cumulative status of the given job and includes the statistics for all the groups.\n parameters:\n - name: repositoriesImportJobId\n in: path\n description: The repositories import job ID which is a UUID. Can be found in location header of POST API response.\n required: true\n schema:\n type: string\n format: uuid\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.groups-repositories-import-status-1+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/GetGroupsRepositoriesImportStatusResponseV1'\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: Please provide valid UUID for repositoriesImportJobId field.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '404':\n description: Not found.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-found\n title: Not found\n status: 404\n detail: No matching records found for repositories import jobId - 0a50c9ab-b068-498e-b068-0d695ca4ef03\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred while getting repositories import status by id.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\n /groups-repositories-import/status:\n get:\n tags:\n - SCM Groups Repositories Import API\n operationId: getAllGroupsRepositoriesImportStatus\n summary: Get groups repositories import status for all jobs\n description: Fetches the cumulative status of available jobs along with group level statistics. The results are by default sorted with their creation date in desc order, custom sorting is not supported.\n parameters:\n - name: _limit\n in: query\n description: >-\n Restricts the number of results to the given limit. The default of 100 is used if no value is provided. If a limit greater than 100 is provided, the response will be \"HTTP 400 Bad\n Request.\"\n schema:\n type: integer\n default: 100\n example: 100\n - name: _offset\n in: query\n description: >-\n Returns results, starting from a given position within the response. For example, if the offset is set to 5, the first four records are not returned. A default value of 0 is used if no\n value is provided. If the offset is beyond the range of the collection, no results are returned.\n schema:\n type: integer\n default: 0\n example: 0\n - name: _filter\n in: query\n description: |\n Filters the collection of repository import jobs. The filter follows the RSQL syntax. More details at `https://github.com/jirutka/rsql-parser`.\n\n __Note__: Only supported filter 'key' is '__state__'.\n\n Valid state's for a job is: [NOT_STARTED, IN_PROGRESS, FAILED, ABORTED, TIMED_OUT, PARTIALLY_COMPLETED, COMPLETED]\n schema:\n type: string\n example: |\n [ state==COMPLETED, state=in=(COMPLETED,ABORTED) ]\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.groups-repositories-import-status-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n _items:\n type: array\n items:\n type: object\n properties:\n id:\n type: string\n format: uuid\n description: Repositories import job Id.\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n progressPercentage:\n type: integer\n description: Overall progress of repositories import job.\n example: 100\n state:\n type: string\n description: Indicate the present state of repositories import job.\n example: Failed\n stateInfo:\n type: string\n description: Indicate user friendly error message in case of error.\n example: Repositories import job failed, Group import failed.\n groupsImportStats:\n type: object\n properties:\n notStarted:\n type: integer\n description: Indicates count of groups that are yet to begin the import.\n example: 0\n inProgress:\n type: integer\n description: Indicates count of groups whose import is in-progress.\n example: 0\n completed:\n type: integer\n description: Indicates the count of groups that are imported successfully.\n example: 200\n failed:\n type: integer\n description: Indicates the count of groups that have failed to import.\n example: 100\n total:\n type: integer\n description: Indicates the count of groups that were requested for on-boarding.\n example: 300\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/groups-repositories-import/status?_offset=20&_limit=10\n rel: self\n method: GET\n - href: https://polaris.synopsys.com/api/scm/groups-repositories-import/?_offset=0&_limit=10\n rel: first\n method: GET\n - href: https://polaris.synopsys.com/api/scm/groups-repositories-import/?_offset=1000&_limit=10\n rel: last\n method: GET\n _collection:\n $ref: '#/components/schemas/GroupsRepoImportStatusPageInformation'\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: Limit value must not be less than 0 and cannot be more than 100.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error occurred while getting repositories import status by id.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\n /integrations/connection:\n get:\n tags:\n - Integrations APIs\n operationId: testRepositoryConnection\n summary: Test connection to a scm provider\n description: Test connection to a scm provider using a personal access token\n parameters:\n - name: scmProvider\n in: query\n description: Name of the scm provider\n schema:\n type: string\n example: |\n [ GITHUB_STANDARD, GITHUB_ENTERPRISE_CLOUD ]\n required: true\n - name: x-polaris-scm-pat\n in: header\n description: Personal Access Token\n schema:\n type: string\n required: true\n responses:\n '200':\n description: Success.\n content:\n application/vnd.synopsys.scm.integrations.connection-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n object:\n type: boolean\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/integrations/connection\n rel: self\n method: GET\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: SCM token cannot be blank.\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An unexpected error happened while testing connection for given provider and token.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\n /integrations/groups:\n get:\n tags:\n - Integrations APIs\n operationId: listGroups\n summary: Get groups from a scm provider\n description: Get list of available groups from a scm provider using a personal access token\n parameters:\n - name: scmProvider\n in: query\n description: Name of the scm provider\n schema:\n type: string\n example: |\n [ GITHUB_STANDARD, GITHUB_ENTERPRISE_CLOUD ]\n required: true\n - name: _cursor\n in: query\n description: >-\n Number of records to be skipped in relation with the provided limit value, (n-1) * _limit. if the limit is 100 and _cursor value is 2. First 100 records will be skipped. Default value is 1\n if not specified.\n schema:\n type: string\n example: '1'\n - name: _limit\n in: query\n description: Restricts the number of results to the given limit. The default of 100 is used if no value is provided.\n schema:\n type: integer\n default: 100\n - name: x-polaris-scm-pat\n in: header\n description: Personal Access Token\n schema:\n type: string\n required: true\n responses:\n '200':\n description: Successful response\n content:\n application/vnd.synopsys.scm.integrations.groups-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n _items:\n type: array\n items:\n $ref: '#/components/schemas/group'\n _links:\n type: array\n items:\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/integrations/groups?_cursor=20&_limit=10\n rel: self\n method: GET\n - href: https://polaris.synopsys.com/api/scm/integrations/groups?_cursor=10&_limit=10\n rel: prev\n method: GET\n - href: https://polaris.synopsys.com/api/scm/integrations/groups?_cursor=30&_limit=10\n rel: next\n method: GET\n _collection:\n $ref: '#/components/schemas/groupCollection'\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: Bulk onboarding is supported only for Github currently..\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An error occurred while listing group details for the given provider and token.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\n /integrations/repositories:\n get:\n tags:\n - Integrations APIs\n operationId: listRepositories\n summary: Get repositories from a scm provider\n description: Get list of available repositories of a group from a scm provider using a personal access token\n parameters:\n - name: scmProvider\n in: query\n description: Name of the scm provider\n schema:\n type: string\n example: |\n [ GITHUB_STANDARD, GITHUB_ENTERPRISE_CLOUD ]\n - name: groupName\n in: query\n description: Name of the group\n schema:\n type: string\n - name: repoSearchTerm\n in: query\n description: Search term to use when fetch repositories. Repository names matching this term will be fetched.\n schema:\n type: string\n - name: _cursor\n in: query\n description: >-\n Number of records to be skipped in relation with the provided limit value, (n-1) * _limit. if the limit is 100 and _cursor value is 2. First 100 records will be skipped. Default value is 1\n if not specified.\n schema:\n type: string\n example: '1'\n - name: _limit\n in: query\n description: Restricts the number of results to the given limit. The default of 100 is used if no value is provided.\n schema:\n type: integer\n default: 100\n - name: x-polaris-scm-pat\n in: header\n description: Personal Access Token\n schema:\n type: string\n required: true\n responses:\n '200':\n description: Successful response\n content:\n application/vnd.synopsys.scm.integrations.repositories-1+json;charset=UTF-8:\n schema:\n type: object\n properties:\n _items:\n type: array\n items:\n $ref: '#/components/schemas/repository'\n _links:\n type: array\n items:\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/integrations/repositories?_cursor=20&_limit=10\n rel: self\n method: GET\n - href: https://polaris.synopsys.com/api/scm/integrations/repositories?_cursor=10&_limit=10\n rel: prev\n method: GET\n - href: https://polaris.synopsys.com/api/scm/integrations/repositories?_cursor=30&_limit=10\n rel: next\n method: GET\n _collection:\n $ref: '#/components/schemas/repositoryCollection'\n '400':\n description: Bad request.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:bad-request\n title: Bad Request\n status: 400\n detail: Bulk onboarding is supported only for Github currently..\n '401':\n description: Unauthorized.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:unauthorized\n title: Unauthorized\n status: 401\n detail: Could not extract Organization-ID from request, Please retry the request.\n '500':\n description: Internal server error.\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:internal-error\n title: Internal Server Error\n status: 500\n detail: An error occurred while listing repositories for the given provider and token. Please check the provider and token info and try again.\n '501':\n description: Feature Not implemented\n content:\n application/problem+json;charset=UTF-8:\n schema:\n $ref: '#/components/schemas/ErrorResponse'\n example:\n type: urn:x-scm-integrations:not-implemented\n title: Not Implemented\n status: 501\n detail: Bulk onboarding for github feature not supported yet.\ncomponents:\n securitySchemes:\n ApiKeyAuth:\n type: apiKey\n in: header\n name: Api-Token\n schemas:\n RepoImportStatusPageInformation:\n type: object\n properties:\n itemCount:\n type: integer\n format: int32\n example: 2\n currentPage:\n type: integer\n format: int32\n example: 1\n pageCount:\n type: integer\n format: int32\n example: 2\n _type:\n type: string\n example: repositoriesStatus\n PageInformation:\n type: object\n properties:\n itemCount:\n type: integer\n format: int32\n example: 2\n currentPage:\n type: integer\n format: int32\n example: 1\n pageCount:\n type: integer\n format: int32\n example: 2\n GroupsRepoImportStatusPageInformation:\n type: object\n properties:\n itemCount:\n type: integer\n format: int32\n example: 200\n currentPage:\n type: integer\n format: int32\n example: 1\n pageCount:\n type: integer\n format: int32\n example: 2\n _type:\n type: string\n example: groupsRepositoriesStatus\n CreateScmAuthRequestV1:\n type: object\n properties:\n name:\n type: string\n description: Custom SCM authentication name of the user's choice.\n example: SCM auth 1\n authenticationMode:\n type: string\n enum:\n - PAT\n - OAUTH_2\n description: Type of authentication used.\n authToken:\n type: string\n description: The access token value from the SCM provider.\n example: ghp_Gjej2424j32rnWEmnrf234DFq\n UpdateScmRepositoryByAppIdRequestV1:\n type: object\n properties:\n applicationId:\n type: string\n description: The applicationId of the project.\n format: uuid\n scmProvider:\n type: string\n enum:\n - GITHUB_STANDARD\n - GITHUB_ENTERPRISE_CLOUD\n description: The SCM provider type.\n scmAuthentication:\n $ref: '#/components/schemas/CreateScmAuthRequestV1'\n ImportRepositoriesRequestV1:\n type: object\n properties:\n scmProvider:\n type: string\n enum:\n - GITHUB_STANDARD\n - GITHUB_ENTERPRISE_CLOUD\n description: The SCM provider type. Note that it uses the base url as \"https://github.com\".\n automaticMapping:\n type: boolean\n description: Indicator to automatically map all the accessible groups and repositories to applications and projects respectively.\n policySettings:\n type: object\n properties:\n issuePolicyIds:\n type: array\n description: List of issue policy IDs. Issue policies create guideline for your organization to follow, can be used to track onboarded projects and trigger actions for violations.\n items:\n type: string\n format: uuid\n scanPolicyIds:\n type: array\n description: List of scan policy IDs. Tests will be automatically scheduled for onboarded projects.\n items:\n type: string\n format: uuid\n roleAssignments:\n type: object\n properties:\n appAdminIds:\n type: array\n description: List of application administrator user IDs.\n items:\n type: string\n format: uuid\n memberIds:\n type: array\n description: List of application member user IDs.\n items:\n type: string\n format: uuid\n contributorIds:\n type: array\n description: List of contributor user IDs.\n items:\n type: string\n format: uuid\n observerIds:\n type: array\n description: List of observer user IDs.\n items:\n type: string\n format: uuid\n repositorySelections:\n type: array\n description: List of repository selections for custom mapping. It is required if automaticMapping is false.\n items:\n type: object\n properties:\n applicationName:\n type: string\n description: The application name.\n repositories:\n type: array\n description: >-\n List of selected repositories along with the groups. SCM group will be mapped to a polaris application and SCM repository to a polaris project. If a project with the same name\n already exists under the given application and a repo with the same name selected to be onboarded into an existing application then onboarding service doesn't validate/mark the\n import as failed.\n items:\n type: object\n properties:\n groupName:\n type: string\n description: The SCM group name.\n allRepositoriesInGroup:\n type: boolean\n description: Indicator to import all repositories of a group.\n includeRepositories:\n type: array\n description: >-\n List of repositories to be included in the import. It is required if allRepositoriesInGroup is false. Note that if allRepositoriesInGroup is true, includeRepositories will be\n ignored.\n items:\n type: string\n excludeRepositories:\n type: array\n description: List of repositories to be excluded from the group specified by groupName when allRepositoriesInGroup is true.\n items:\n type: string\n example:\n scmProvider: GITHUB_STANDARD\n automaticMapping: false\n policySettings:\n issuePolicyIds:\n - 3fa85f64-5717-4562-b3fc-2c963f66afa6\n - 4fa85f64-5717-4562-b3fc-2c963f66afa6\n scanPolicyIds:\n - 5fa85f64-5717-4562-b3fc-2c963f66afa6\n - 6fa85f64-5717-4562-b3fc-2c963f66afa6\n roleAssignments:\n appAdminIds:\n - 1fa85f64-5717-4562-b3fc-2c963f66afa6\n memberIds:\n - 4fa85f64-5717-4562-b3fc-2c963f66afa6\n contributorIds:\n - 2fa85f64-5717-4562-b3fc-2c963f66afa6\n observerIds:\n - 3fa85f64-5717-4562-b3fc-2c963f66afa6\n repositorySelections:\n - applicationName: App A\n repositories:\n - groupName: Org A\n allRepositoriesInGroup: true\n excludeRepositories:\n - Repo C\n ImportRepositoriesForAGroupRequestV1:\n type: object\n properties:\n applicationId:\n type: string\n description: The portfolio item id or application id to which bulk onboarding of projects are to be performed.\n scmProvider:\n type: string\n enum:\n - GITHUB_STANDARD\n - GITHUB_ENTERPRISE_CLOUD\n description: The SCM provider type. Note that it uses the base url as \"https://github.com\".\n policySettings:\n type: object\n properties:\n issuePolicyIds:\n type: array\n description: List of issue policy IDs. Issue policies create guideline for your organization to follow, can be used to track onboarded projects and trigger actions for violations.\n items:\n type: string\n format: uuid\n scanPolicyIds:\n type: array\n description: List of scan policy IDs. Tests will be automatically scheduled for onboarded projects.\n items:\n type: string\n format: uuid\n repositories:\n type: array\n description: List of selected repositories along with the groups. SCM group will be mapped to a polaris application and SCM repository to a polaris project.\n items:\n type: object\n properties:\n groupName:\n type: string\n description: The SCM group name.\n allRepositoriesInGroup:\n type: boolean\n description: Indicator to import all repositories of a group.\n includeRepositories:\n type: array\n description: >-\n List of repositories to be included in the import. It is required if allRepositoriesInGroup is false. Note that if allRepositoriesInGroup is true, includeRepositories will be\n ignored.\n items:\n type: string\n excludeRepositories:\n type: array\n description: List of repositories to be excluded from the group specified by groupName when allRepositoriesInGroup is true.\n items:\n type: string\n example:\n applicationId: 3ea85f61-3317-4562-b3fc-3d683f66aeb9\n scmProvider: GITHUB_STANDARD\n policySettings:\n issuePolicyIds:\n - 3fa85f64-5717-4562-b3fc-2c963f66afa6\n - 4fa85f64-5717-4562-b3fc-2c963f66afa6\n scanPolicyIds:\n - 5fa85f64-5717-4562-b3fc-2c963f66afa6\n - 6fa85f64-5717-4562-b3fc-2c963f66afa6\n repositories:\n - groupName: Org A\n allRepositoriesInGroup: true\n excludeRepositories:\n - Repo C\n UpdateRepositoriesImportRequestV1:\n type: object\n properties:\n action:\n type: string\n enum:\n - ABORT\n description: |\n Supported action\n * ABORT - You can abort the repositories import job if its current state is not one of the following: `COMPLETED`, `FAILED`, `CANCELLED`.\n UpdatedRepositoriesImportResponseV1:\n type: object\n properties:\n id:\n type: string\n format: uuid\n description: Repositories import job Id.\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n progress:\n type: integer\n description: Overall progress of repositories import job.\n example: 100\n state:\n type: string\n description: Indicate the present state of repositories import job.\n example: ABORTED\n info:\n type: array\n items:\n type: object\n properties:\n group:\n type: string\n description: Name of the repositories group.\n example: Group1\n state:\n type: string\n description: Indicate the present state of repositories group.\n example: ABORTED\n info:\n type: string\n description: Indicate the present state information of repositories group.\n example: repositories group is aborted.\n createdAt:\n type: string\n format: date-time\n description: Created datetime of the repository import job. Uses the ISO 8601 standard for expressing datetime. More details are here `https://en.wikipedia.org/wiki/ISO_8601#Times`\n example: '2023-07-29T14:30:33.067Z'\n updatedAt:\n type: string\n format: date-time\n description: Updated datetime of the repository import job. Uses the ISO 8601 standard for expressing datetime. More details are here `https://en.wikipedia.org/wiki/ISO_8601#Times`\n example: '2023-07-29T14:30:33.067Z'\n createdBy:\n type: string\n format: uuid\n description: Unique id of user, who invoked the repositories import job.\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n updatedBy:\n type: string\n format: uuid\n description: Unique id of user, who updated the repositories import job.\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/groups-repositories-import/47880d3c-bdb4-438f-876d-0ac0af6f9b27\n rel: self\n method: GET\n ScmProviderResponseV1Response:\n type: object\n properties:\n _items:\n type: array\n items:\n $ref: '#/components/schemas/ScmProviderResponseV1'\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n _collection:\n $ref: '#/components/schemas/PageInformation'\n ScmProviderResponseV1:\n type: object\n properties:\n scmProvider:\n type: string\n enum:\n - GITHUB_STANDARD\n - GITHUB_ENTERPRISE_CLOUD\n - GITLAB_SAAS\n - BITBUCKET_CLOUD\n - AZURE_CLOUD\n - GITHUB_ENTERPRISE_SERVER\n - GITHUB_SELF_MANAGED\n - BITBUCKET_DATA_CENTER\n format: string\n description: >-\n Value for the ScmProviderEnum. Valid values are GITHUB_STANDARD (CLOUD_HOSTED), GITHUB_ENTERPRISE_CLOUD (CLOUD_HOSTED), GITLAB_SAAS (CLOUD_HOSTED), BITBUCKET_CLOUD (CLOUD_HOSTED),\n AZURE_CLOUD (CLOUD_HOSTED), GITHUB_ENTERPRISE_SERVER (SELF_HOSTED), GITLAB_SELF_MANAGED (SELF_HOSTED) and BITBUCKET_DATA_CENTER (SELF_HOSTED).\n example: GITHUB_ENTERPRISE_CLOUD\n scmHostingType:\n type: string\n enum:\n - CLOUD_HOSTED\n - SELF_HOSTED\n format: string\n description: >-\n Type of hosting for the provider. Valid values are CLOUD_HOSTED for [GITHUB_STANDARD, GITHUB_ENTERPRISE_CLOUD, GITLAB_SAAS, BITBUCKET_CLOUD, AZURE_CLOUD] and SELF_HOSTED for\n [GITHUB_ENTERPRISE_SERVER, GITLAB_SELF_MANAGED, BITBUCKET_DATA_CENTER].\n example: CLOUD_HOSTED\n minVersion:\n type: string\n format: integer\n description: Minimum supported version. It will be empty in case of CLOUD_HOSTED.\n example: '8.9'\n maxVersion:\n type: string\n format: integer\n description: Maximum supported version. It will be empty in case of CLOUD_HOSTED.\n example: '8.19'\n GetGroupsRepositoriesImportStatusResponseV1:\n type: object\n properties:\n id:\n type: string\n format: uuid\n description: Repositories import job Id.\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n progressPercentage:\n type: integer\n description: Overall progress of repositories import job.\n example: 100\n state:\n type: string\n description: Indicate the present state of repositories import job.\n example: Failed\n stateInfo:\n type: string\n description: Indicate user friendly error message in case of error.\n example: Repositories import job failed, Group import failed.\n groupsImportStats:\n type: object\n properties:\n notStarted:\n type: integer\n description: Indicates count of groups that are yet to begin the import.\n example: 0\n inProgress:\n type: integer\n description: Indicates count of groups whose import is in-progress.\n example: 0\n completed:\n type: integer\n description: Indicates the count of groups that are imported successfully.\n example: 200\n failed:\n type: integer\n description: Indicates the count of groups that have failed to import.\n example: 100\n total:\n type: integer\n description: Indicates the count of groups that were requested for on-boarding.\n example: 300\n _links:\n type: array\n items:\n type: object\n properties:\n href:\n type: string\n rel:\n type: string\n method:\n type: string\n example:\n - href: https://polaris.synopsys.com/api/scm/groups-repositories-import/47880d3c-bdb4-438f-876d-0ac0af6f9b27/status\n rel: self\n method: GET\n GetRepoImportGroupsStatusResponseV1:\n type: object\n properties:\n id:\n type: string\n format: uuid\n description: Repositories import group Id.\n example: 0a50c9ab-b068-498e-b068-0d695ca4ef03\n portfolioItemId:\n type: string\n format: uuid\n description: Portfolio Item Id.\n example: 3fa85f64-5717-4562-b3fc-2c963f66afa6\n progressPercentage:\n type: integer\n description: Overall progress of group import.\n example: 100\n state:\n type: string\n description: Indicate the present state of group import.\n example: Failed\n stateInfo:\n type: string\n description: Indicate user friendly error message in case of error.\n example: Group import failed, Repository import failed.\n repositoriesImportStats:\n type: object\n properties:\n notStarted:\n type: integer\n description: Indicates count of repositories that are yet to begin the import.\n example: 0\n inProgress:\n type: integer\n description: Indicates count of repositories whose import is in-progress.\n example: 0\n completed:\n type: integer\n description: Indicates the count of repositories that are imported successfully.\n example: 200\n failed:\n type: integer\n description: Indicates the count of repositories that have failed to import.\n example: 100\n total:\n type: integer\n description: Indicates the count of repositories that were requested for on-boarding.\n example: 300\n importJob:\n type: object\n properties:\n id:\n type: string\n format: uuid\n description: Repositories import job Id.\n example: 0b50c9ab-b068-498e-b068-0d695ca4ef03\n createdAt:\n type: string\n format: date-time\n description: Created datetime of the repository import job. Uses the ISO 8601 standard for expressing datetime. More details are here `https://en.wikipedia.org/wiki/ISO_8601#Times`\n example: '2023-07-29T14:30:33.067Z'\n ErrorResponse:\n type: object\n properties:\n type:\n type: string\n description: The type of Error.\n title:\n type: string\n description: The title of the error.\n status:\n type: integer\n description: The Status code related to the error.\n detail:\n type: string\n description: The details of the error along with message.\n group:\n type: object\n properties:\n id:\n type: string\n description: Unique identifier of the group\n format: integer\n name:\n type: string\n description: name of the group\n example:\n id: '5432454'\n name: Group One\n groupCollection:\n properties:\n itemCount:\n type: integer\n format: int32\n pageCount:\n type: integer\n format: int32\n currentPage:\n type: integer\n format: int32\n example:\n itemCount: 1\n pageCount: 10\n currentPage: 3\n repository:\n type: object\n properties:\n id:\n type: string\n description: Unique identifier of the repository\n format: integer\n name:\n type: string\n description: name of the repository\n url:\n type: string\n description: repository url\n groupName:\n type: string\n description: name of the group of the repository\n defaultBranchName:\n type: string\n description: name of the default branch of the repository\n isPolarisManaged:\n type: boolean\n description: denotes if the repository is already imported into Polaris.\n example:\n id: '5432454'\n name: repo-test\n url: https://github.com/user/repo-test\n groupName: group-test\n defaultBranchName: master\n isPolarisManaged: false\n repositoryCollection:\n properties:\n itemCount:\n type: integer\n format: int32\n pageCount:\n type: integer\n format: int32\n currentPage:\n type: integer\n format: int32\n example:\n itemCount: 1\n pageCount: 10\n currentPage: 3\n"