feat(gitlab): add support for GitLab protected branches (list and unprotect)
This commit is contained in:
@@ -1,5 +1,14 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-02-28 - 2.3.0 - feat(gitlab)
|
||||||
|
add support for GitLab protected branches (list and unprotect)
|
||||||
|
|
||||||
|
- Added IGitLabProtectedBranch interface
|
||||||
|
- Added GitLabClient.getProtectedBranches(projectId) returning IGitLabProtectedBranch[]
|
||||||
|
- Added GitLabClient.unprotectBranch(projectId, branchName) to remove branch protection
|
||||||
|
- Exported IGitLabProtectedBranch from index.ts
|
||||||
|
- Non-breaking API additions; recommended minor version bump
|
||||||
|
|
||||||
## 2026-02-28 - 2.2.0 - feat(gitlabclient)
|
## 2026-02-28 - 2.2.0 - feat(gitlabclient)
|
||||||
add deleteProject method to delete a project using GitLab API DELETE /api/v4/projects/:id
|
add deleteProject method to delete a project using GitLab API DELETE /api/v4/projects/:id
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@apiclient.xyz/gitlab',
|
name: '@apiclient.xyz/gitlab',
|
||||||
version: '2.2.0',
|
version: '2.3.0',
|
||||||
description: 'A TypeScript client for the GitLab API, providing easy access to projects, groups, CI/CD variables, and pipelines.'
|
description: 'A TypeScript client for the GitLab API, providing easy access to projects, groups, CI/CD variables, and pipelines.'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import type {
|
|||||||
IGitLabGroup,
|
IGitLabGroup,
|
||||||
IGitLabVariable,
|
IGitLabVariable,
|
||||||
IVariableOptions,
|
IVariableOptions,
|
||||||
|
IGitLabProtectedBranch,
|
||||||
IGitLabPipeline,
|
IGitLabPipeline,
|
||||||
IGitLabJob,
|
IGitLabJob,
|
||||||
ITestConnectionResult,
|
ITestConnectionResult,
|
||||||
@@ -369,6 +370,24 @@ export class GitLabClient {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
// Protected Branches
|
||||||
|
// ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
public async getProtectedBranches(projectId: number | string): Promise<IGitLabProtectedBranch[]> {
|
||||||
|
return this.request<IGitLabProtectedBranch[]>(
|
||||||
|
'GET',
|
||||||
|
`/api/v4/projects/${encodeURIComponent(projectId)}/protected_branches`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public async unprotectBranch(projectId: number | string, branchName: string): Promise<void> {
|
||||||
|
await this.request(
|
||||||
|
'DELETE',
|
||||||
|
`/api/v4/projects/${encodeURIComponent(projectId)}/protected_branches/${encodeURIComponent(branchName)}`,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
// Project Deletion
|
// Project Deletion
|
||||||
// ---------------------------------------------------------------------------
|
// ---------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -44,6 +44,12 @@ export interface IVariableOptions {
|
|||||||
environment_scope?: string;
|
environment_scope?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface IGitLabProtectedBranch {
|
||||||
|
id: number;
|
||||||
|
name: string;
|
||||||
|
allow_force_push: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
export interface IGitLabPipeline {
|
export interface IGitLabPipeline {
|
||||||
id: number;
|
id: number;
|
||||||
project_id: number;
|
project_id: number;
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ export type {
|
|||||||
IGitLabProject,
|
IGitLabProject,
|
||||||
IGitLabGroup,
|
IGitLabGroup,
|
||||||
IGitLabVariable,
|
IGitLabVariable,
|
||||||
|
IGitLabProtectedBranch,
|
||||||
IVariableOptions,
|
IVariableOptions,
|
||||||
IGitLabPipeline,
|
IGitLabPipeline,
|
||||||
IGitLabJob,
|
IGitLabJob,
|
||||||
|
|||||||
Reference in New Issue
Block a user