@codacy/codacy-mcp
Version:
Codacy MCP server
671 lines (670 loc) • 27.8 kB
JavaScript
import { OpenAPI } from '../core/OpenAPI.js';
import { request as __request } from '../core/request.js';
export class OrganizationService {
/**
* Get organization
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns OrganizationWithMetaResponse Successful operation
* @throws ApiError
*/
static getOrganization(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Delete organization
* Delete organization
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param requestBody Reasons * @returns void
* @throws ApiError
*/
static deleteOrganization(provider, remoteOrganizationName, requestBody, abortSignal) {
return __request(OpenAPI, {
method: 'DELETE',
url: '/organizations/{provider}/{remoteOrganizationName}',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
409: `Conflict`,
500: `Internal Server Error`,
},
});
}
/**
* Get detailed information about organization billing
* Get detailed information about organization billing
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns OrganizationBillingInformationResponse Successful operation
* @throws ApiError
*/
static organizationDetailedBilling(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}/billing',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Sync the information about organization billing
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns void
* @throws ApiError
*/
static syncMarketplaceBilling(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'POST',
url: '/organizations/{provider}/{remoteOrganizationName}/billing/sync',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Apply default settings to all repositories
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns void
* @throws ApiError
*/
static applyProviderSettings(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'POST',
url: '/organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings/apply',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* Get Git provider settings
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns ProviderIntegrationSettingsBody Successful operation
* @throws ApiError
*/
static getProviderSettings(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* Create or update Git provider settings
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param requestBody * @returns void
* @throws ApiError
*/
static updateProviderSettings(provider, remoteOrganizationName, requestBody, abortSignal) {
return __request(OpenAPI, {
method: 'PATCH',
url: '/organizations/{provider}/{remoteOrganizationName}/integrations/providerSettings',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* List an organization repositories for the authenticated user.
* List an organization's repositories for the authenticated user.
* For Bitbucket you must URL encode the cursor before using it in subsequent API calls, as the pagination comes directly from the Git provider.
* This endpoint may return more results than those specified in the limit parameter.
* If this endpoint doesn't return your repositories after you've made recent changes to the permissions on your Git provider,
* use the endpoint [cleanCache](#cleanCache) to force refreshing the list of repositories for the authenticated user.
*
* **Note:** When applied to public repositories, this operation does not require authentication.
*
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param cursor Cursor to [specify a batch of results to request](https://docs.codacy.com/codacy-api/using-the-codacy-api/#using-pagination)* @param limit Maximum number of items to return* @param search Filter the results searching by this string.* @param filter RepositoryFilter* @param languages Languages filter * @returns RepositoryListResponse Successful operation
* @throws ApiError
*/
static listOrganizationRepositories(provider, remoteOrganizationName, cursor, limit = 100, search, filter, languages, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}/repositories',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
query: {
'cursor': cursor,
'limit': limit,
'search': search,
'filter': filter,
'languages': languages,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* Retrieves the onboarding progress of the organization
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns OrganizationOnboardingProgressResponse Successful operation
* @throws ApiError
*/
static retrieveOrganizationOnboardingProgress(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/onboarding/organizations/{provider}/{remoteOrganizationName}/progress',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Configure what your organization members can do across the Codacy platform
* Define the lowest permission level that can configure patterns, configure which file extensions and branches are analyzed, and ignore issues and files
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param requestBody New permission level * @returns void
* @throws ApiError
*/
static patchOrganizationSettings(provider, remoteOrganizationName, requestBody, abortSignal) {
return __request(OpenAPI, {
method: 'PATCH',
url: '/organizations/{provider}/{remoteOrganizationName}/analysisConfigurationMinimumPermission',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Update the join mode of an organization
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param requestBody New join mode of the organization * @returns void
* @throws ApiError
*/
static updateJoinMode(provider, remoteOrganizationName, requestBody, abortSignal) {
return __request(OpenAPI, {
method: 'POST',
url: '/organizations/{provider}/{remoteOrganizationName}/joinMode',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Check if the user can leave the organization
* Check if the user can leave the organization or returns the reasons why they can not.
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns LeaveOrgCheckResult Successful operation
* @throws ApiError
*/
static checkIfUserCanLeave(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}/people/leave/check',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* List requests to join an organization
* Endpoint to list requests to join an organization by provider and organization name
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param cursor Cursor to [specify a batch of results to request](https://docs.codacy.com/codacy-api/using-the-codacy-api/#using-pagination)* @param limit Maximum number of items to return* @param search Filter the results searching by this string. * @returns ListRequestsToJoinResponse Successful operation
* @throws ApiError
*/
static listOrganizationJoinRequests(provider, remoteOrganizationName, cursor, limit = 100, search, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}/join',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
query: {
'cursor': cursor,
'limit': limit,
'search': search,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Join an organization
* Endpoint to join an organization by provider and name
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns JoinResponse Successful operation
* @throws ApiError
*/
static joinOrganization(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'POST',
url: '/organizations/{provider}/{remoteOrganizationName}/join',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
402: `PaymentRequired`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Decline Requests to join an organization
* Endpoint to decline request to join an organization by provider, name and user emails to be rejected
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param requestBody List of emails * @returns void
* @throws ApiError
*/
static declineRequestsToJoinOrganization(provider, remoteOrganizationName, requestBody, abortSignal) {
return __request(OpenAPI, {
method: 'DELETE',
url: '/organizations/{provider}/{remoteOrganizationName}/join',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Delete a request to join an organization
* Endpoint to delete a request to join an organization by provider, name and user id
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param accountIdentifier Account Identifier * @returns void
* @throws ApiError
*/
static deleteOrganizationJoinRequest(provider, remoteOrganizationName, accountIdentifier, abortSignal) {
return __request(OpenAPI, {
method: 'DELETE',
url: '/organizations/{provider}/{remoteOrganizationName}/join/{accountIdentifier}',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
'accountIdentifier': accountIdentifier,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Clean organization cache for the authenticated user
* Clean cached information regarding the authenticated user on the specified organization, such as the list of repositories in the organization.
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns void
* @throws ApiError
*/
static cleanCache(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'POST',
url: '/organizations/{provider}/{remoteOrganizationName}/cache/clean',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Add an organization to Codacy
* Add an organization from a Git provider to Codacy
* @param requestBody Information of the organization to add * @returns AddOrganizationResponse Successful operation
* @throws ApiError
*/
static addOrganization(requestBody, abortSignal) {
return __request(OpenAPI, {
method: 'POST',
url: '/organizations',
abortSignal,
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Bad Request`,
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
405: `Method Not Allowed`,
500: `Internal Server Error`,
},
});
}
/**
* Synchronize Codacy organization name with the Git provider
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns SyncProviderSettingOrganizationResponse Successful operation
* @throws ApiError
*/
static syncOrganizationName(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'POST',
url: '/organizations/{provider}/{remoteOrganizationName}/settings/sync',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Check if the submodules option is enabled for the organization
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns CheckSubmodulesResponse Successful operation
* @throws ApiError
*/
static checkSubmodules(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}/settings/submodules/check',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
/**
* Return the Jira integration of the organization.
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns JiraIntegrationResponse Successful operation
* @throws ApiError
*/
static getJiraIntegration(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}/integrations/jira',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* Create or Update the Jira integration of the organization.
* @param oauthCode The OAuth code to allow authentication as the user installing the Jira App.* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns JiraIntegrationResponse Successful operation
* @throws ApiError
*/
static createOrUpdateJiraIntegration(oauthCode, provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'PUT',
url: '/organizations/{provider}/{remoteOrganizationName}/integrations/jira',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
query: {
'oauthCode': oauthCode,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
409: `Conflict`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* Delete the Jira integration of the organization and associated resources.
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns void
* @throws ApiError
*/
static deleteJiraIntegration(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'DELETE',
url: '/organizations/{provider}/{remoteOrganizationName}/integrations/jira',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* Return the Slack integration of the organization.
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns SlackIntegrationResponse Successful operation
* @throws ApiError
*/
static getSlackIntegration(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}/integrations/slack',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* Create or update the Slack integration of the organization.
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param requestBody * @returns SlackIntegrationResponse Successful operation
* @throws ApiError
*/
static createOrUpdateSlackIntegration(provider, remoteOrganizationName, requestBody, abortSignal) {
return __request(OpenAPI, {
method: 'PUT',
url: '/organizations/{provider}/{remoteOrganizationName}/integrations/slack',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Bad Request`,
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* Delete the Slack integration of the organization and associated resources.
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider * @returns void
* @throws ApiError
*/
static deleteSlackIntegration(provider, remoteOrganizationName, abortSignal) {
return __request(OpenAPI, {
method: 'DELETE',
url: '/organizations/{provider}/{remoteOrganizationName}/integrations/slack',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
500: `Internal Server Error`,
502: `Bad Gateway`,
},
});
}
/**
* Retrieve the audit logs for the organization. Only available on [Business plan](https://www.codacy.com/pricing).
* Requires organization admin or organization manager role.
* @param provider Git provider* @param remoteOrganizationName Organization name on the Git provider* @param from Starting timestamp of audit logs in unix epoch milliseconds. Defaults to the earliest available time if not provided.* @param to Ending timestamp of audit logs in unix epoch milliseconds. Defaults to the current time if not provided. * @returns AuditLog Successful operation
* @throws ApiError
*/
static listAuditLogsForOrganization(provider, remoteOrganizationName, from, to, abortSignal) {
return __request(OpenAPI, {
method: 'GET',
url: '/organizations/{provider}/{remoteOrganizationName}/audit',
path: {
'provider': provider,
'remoteOrganizationName': remoteOrganizationName,
},
query: {
'from': from,
'to': to,
},
abortSignal,
errors: {
400: `Bad Request`,
401: `Unauthorized`,
403: `Forbidden`,
404: `Not Found`,
500: `Internal Server Error`,
},
});
}
}