@atlassian-dc-mcp/bitbucket 0.34.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +43 -1
- package/build/__tests__/bitbucket-service.test.js +31 -1
- package/build/__tests__/bitbucket-service.test.js.map +1 -1
- package/build/__tests__/pr-merge.test.js +5 -4
- package/build/__tests__/pr-merge.test.js.map +1 -1
- package/build/__tests__/pr-state.test.d.ts +2 -0
- package/build/__tests__/pr-state.test.d.ts.map +1 -0
- package/build/__tests__/pr-state.test.js +118 -0
- package/build/__tests__/pr-state.test.js.map +1 -0
- package/build/__tests__/repo-gateway.test.d.ts +2 -0
- package/build/__tests__/repo-gateway.test.d.ts.map +1 -0
- package/build/__tests__/{merge-gateway.test.js → repo-gateway.test.js} +70 -10
- package/build/__tests__/repo-gateway.test.js.map +1 -0
- package/build/bitbucket-service.d.ts +31 -0
- package/build/bitbucket-service.d.ts.map +1 -1
- package/build/bitbucket-service.js +43 -0
- package/build/bitbucket-service.js.map +1 -1
- package/build/index.js +29 -1
- package/build/index.js.map +1 -1
- package/build/pr-merge.d.ts +2 -2
- package/build/pr-merge.d.ts.map +1 -1
- package/build/pr-merge.js +2 -2
- package/build/pr-merge.js.map +1 -1
- package/build/pr-state.d.ts +33 -0
- package/build/pr-state.d.ts.map +1 -0
- package/build/pr-state.js +37 -0
- package/build/pr-state.js.map +1 -0
- package/build/repo-gateway.d.ts +57 -0
- package/build/repo-gateway.d.ts.map +1 -0
- package/build/repo-gateway.js +122 -0
- package/build/repo-gateway.js.map +1 -0
- package/package.json +3 -3
- package/src/__tests__/bitbucket-service.test.ts +37 -1
- package/src/__tests__/pr-merge.test.ts +5 -5
- package/src/__tests__/pr-state.test.ts +150 -0
- package/src/__tests__/{merge-gateway.test.ts → repo-gateway.test.ts} +83 -11
- package/src/bitbucket-service.ts +50 -0
- package/src/index.ts +42 -1
- package/src/pr-merge.ts +3 -3
- package/src/pr-state.ts +68 -0
- package/src/repo-gateway.ts +183 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/__tests__/merge-gateway.test.d.ts +0 -2
- package/build/__tests__/merge-gateway.test.d.ts.map +0 -1
- package/build/__tests__/merge-gateway.test.js.map +0 -1
- package/build/merge-gateway.d.ts +0 -34
- package/build/merge-gateway.d.ts.map +0 -1
- package/build/merge-gateway.js +0 -86
- package/build/merge-gateway.js.map +0 -1
- package/src/merge-gateway.ts +0 -132
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/pr-merge.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { BitbucketMutationOutputMode } from './bitbucket-response-mapper.js';
|
|
2
|
-
import { type
|
|
2
|
+
import { type RepoGateway } from './repo-gateway.js';
|
|
3
3
|
export interface MergePullRequestParams {
|
|
4
4
|
projectKey: string;
|
|
5
5
|
repositorySlug: string;
|
|
6
6
|
pullRequestId: string;
|
|
7
7
|
/** Current PR version, required for optimistic locking. */
|
|
8
8
|
version: number;
|
|
9
|
-
gateway:
|
|
9
|
+
gateway: RepoGateway;
|
|
10
10
|
strategyId?: string;
|
|
11
11
|
message?: string;
|
|
12
12
|
output?: BitbucketMutationOutputMode;
|
package/build/pr-merge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-merge.d.ts","sourceRoot":"","sources":["../src/pr-merge.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAG5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"pr-merge.d.ts","sourceRoot":"","sources":["../src/pr-merge.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAG5B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAA2D,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE9G,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,2BAA2B,CAAC;CACtC;AAED,8EAA8E;AAC9E,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,mIAWxG;AAkCD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,uHAoBpE"}
|
package/build/pr-merge.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { handleApiOperation } from '@atlassian-dc-mcp/common';
|
|
2
2
|
import { PullRequestsService } from './bitbucket-client/index.js';
|
|
3
3
|
import { shapeMergeability, shapePullRequestAck, } from './bitbucket-response-mapper.js';
|
|
4
|
-
import {
|
|
4
|
+
import { assertRepoOperationAllowed, assertTargetRefMergeAllowed } from './repo-gateway.js';
|
|
5
5
|
/** Read-only mergeability check: reports conflicts and merge-check vetoes. */
|
|
6
6
|
export async function fetchMergeability(projectKey, repositorySlug, pullRequestId) {
|
|
7
7
|
const result = await handleApiOperation(() => PullRequestsService.canMerge(projectKey, pullRequestId, repositorySlug), 'Error checking pull request mergeability');
|
|
@@ -42,7 +42,7 @@ async function assertTargetRefAllowed(params) {
|
|
|
42
42
|
export async function mergePullRequest(params) {
|
|
43
43
|
const { projectKey, repositorySlug, pullRequestId, version, gateway } = params;
|
|
44
44
|
const result = await handleApiOperation(async () => {
|
|
45
|
-
|
|
45
|
+
assertRepoOperationAllowed(gateway, projectKey, repositorySlug);
|
|
46
46
|
await assertTargetRefAllowed(params);
|
|
47
47
|
await assertMergeable(projectKey, repositorySlug, pullRequestId);
|
|
48
48
|
return PullRequestsService.merge(projectKey, pullRequestId, repositorySlug, String(version), {
|
package/build/pr-merge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-merge.js","sourceRoot":"","sources":["../src/pr-merge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAEL,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pr-merge.js","sourceRoot":"","sources":["../src/pr-merge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BitbucketMutationOutputMode } from './bitbucket-response-mapper.js';
|
|
2
|
+
import { type RepoGateway } from './repo-gateway.js';
|
|
3
|
+
interface PullRequestStateParams {
|
|
4
|
+
projectKey: string;
|
|
5
|
+
repositorySlug: string;
|
|
6
|
+
pullRequestId: string;
|
|
7
|
+
/** Current PR version, required for optimistic locking. */
|
|
8
|
+
version: number;
|
|
9
|
+
output?: BitbucketMutationOutputMode;
|
|
10
|
+
}
|
|
11
|
+
export interface DeclinePullRequestParams extends PullRequestStateParams {
|
|
12
|
+
gateway: RepoGateway;
|
|
13
|
+
/**
|
|
14
|
+
* Reason for declining, posted as a pull request comment by the same request. Sending it with
|
|
15
|
+
* the decline keeps the two atomic: a rejected decline leaves no orphaned "why this was
|
|
16
|
+
* abandoned" comment on a pull request that stayed open.
|
|
17
|
+
*/
|
|
18
|
+
comment?: string;
|
|
19
|
+
}
|
|
20
|
+
export type ReopenPullRequestParams = PullRequestStateParams;
|
|
21
|
+
/**
|
|
22
|
+
* Decline a pull request under the operator's decline policy. The repository is checked before
|
|
23
|
+
* any request is issued. Bitbucket rejects a stale version and a pull request that is not OPEN
|
|
24
|
+
* with a 409, so no pre-flight read is needed.
|
|
25
|
+
*/
|
|
26
|
+
export declare function declinePullRequest(params: DeclinePullRequestParams): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<import("./bitbucket-client/index.js").RestPullRequest>>;
|
|
27
|
+
/**
|
|
28
|
+
* Reopen a declined pull request. Ungated: it restores the state a decline removed, so it is the
|
|
29
|
+
* undo path rather than a destructive one. A pull request that is not declined is rejected with a 409.
|
|
30
|
+
*/
|
|
31
|
+
export declare function reopenPullRequest(params: ReopenPullRequestParams): Promise<import("@atlassian-dc-mcp/common").ApiErrorResponse<import("./bitbucket-client/index.js").RestPullRequest>>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=pr-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-state.d.ts","sourceRoot":"","sources":["../src/pr-state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAuB,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEjF,UAAU,sBAAsB;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,2BAA2B,CAAC;CACtC;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,OAAO,EAAE,WAAW,CAAC;IACrB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAU7D;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,uHAaxE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,uHAStE"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { handleApiOperation } from '@atlassian-dc-mcp/common';
|
|
2
|
+
import { PullRequestsService } from './bitbucket-client/index.js';
|
|
3
|
+
import { shapePullRequestAck } from './bitbucket-response-mapper.js';
|
|
4
|
+
import { assertRepoOperationAllowed } from './repo-gateway.js';
|
|
5
|
+
/** The ack carries the new version, which is what a later reopen needs as its optimistic lock. */
|
|
6
|
+
function shapeResult(result, output) {
|
|
7
|
+
if (result.success && result.data && output !== 'full') {
|
|
8
|
+
return { ...result, data: shapePullRequestAck(result.data) };
|
|
9
|
+
}
|
|
10
|
+
return result;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Decline a pull request under the operator's decline policy. The repository is checked before
|
|
14
|
+
* any request is issued. Bitbucket rejects a stale version and a pull request that is not OPEN
|
|
15
|
+
* with a 409, so no pre-flight read is needed.
|
|
16
|
+
*/
|
|
17
|
+
export async function declinePullRequest(params) {
|
|
18
|
+
const { projectKey, repositorySlug, pullRequestId, version, gateway, comment } = params;
|
|
19
|
+
const result = await handleApiOperation(async () => {
|
|
20
|
+
assertRepoOperationAllowed(gateway, projectKey, repositorySlug);
|
|
21
|
+
return PullRequestsService.decline(projectKey, pullRequestId, repositorySlug, String(version), {
|
|
22
|
+
version,
|
|
23
|
+
...(comment ? { comment } : {}),
|
|
24
|
+
});
|
|
25
|
+
}, 'Error declining pull request');
|
|
26
|
+
return shapeResult(result, params.output);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Reopen a declined pull request. Ungated: it restores the state a decline removed, so it is the
|
|
30
|
+
* undo path rather than a destructive one. A pull request that is not declined is rejected with a 409.
|
|
31
|
+
*/
|
|
32
|
+
export async function reopenPullRequest(params) {
|
|
33
|
+
const { projectKey, repositorySlug, pullRequestId, version } = params;
|
|
34
|
+
const result = await handleApiOperation(() => PullRequestsService.reopen(projectKey, pullRequestId, repositorySlug, String(version), { version }), 'Error reopening pull request');
|
|
35
|
+
return shapeResult(result, params.output);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=pr-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pr-state.js","sourceRoot":"","sources":["../src/pr-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAA+B,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAoB,MAAM,mBAAmB,CAAC;AAuBjF,kGAAkG;AAClG,SAAS,WAAW,CAAiD,MAAS,EAAE,MAAoC;IAClH,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvD,OAAO,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAgC;IACvE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAExF,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,KAAK,IAAI,EAAE;QACjD,0BAA0B,CAAC,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QAEhE,OAAO,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;YAC7F,OAAO;YACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,CAAC,CAAC;IACL,CAAC,EAAE,8BAA8B,CAAC,CAAC;IAEnC,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,MAA+B;IACrE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAEtE,MAAM,MAAM,GAAG,MAAM,kBAAkB,CACrC,GAAG,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EACzG,8BAA8B,CAC/B,CAAC;IAEF,OAAO,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operator-controlled gate for pull request operations that change state on a shared branch
|
|
3
|
+
* or in front of other people.
|
|
4
|
+
*
|
|
5
|
+
* A merge cannot be undone through the API, and a decline is visible to every reviewer the
|
|
6
|
+
* moment it lands, so both are disabled by default: the tool is not even registered unless
|
|
7
|
+
* the operator enables it and names the repositories it may act on. Each operation reads its
|
|
8
|
+
* own environment variables, so allowing declines never implies allowing merges. The scope is
|
|
9
|
+
* read once at startup, so the model can never select or widen it. Read-only checks are not
|
|
10
|
+
* gated.
|
|
11
|
+
*/
|
|
12
|
+
/** Names an operation in refusal messages and points the operator at the variables that open it. */
|
|
13
|
+
export interface GatewayPolicy {
|
|
14
|
+
/** Short operation name, used to tag warnings. */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Gerund that starts a refusal message, e.g. "Merging". */
|
|
17
|
+
gerund: string;
|
|
18
|
+
flagVar: string;
|
|
19
|
+
reposVar: string;
|
|
20
|
+
/** Omitted for operations that have no meaningful target-branch restriction. */
|
|
21
|
+
targetRefsVar?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const MERGE_POLICY: GatewayPolicy;
|
|
24
|
+
/**
|
|
25
|
+
* Declining has no target-ref restriction: which branch a pull request would have landed on
|
|
26
|
+
* says nothing about whether abandoning it is safe.
|
|
27
|
+
*/
|
|
28
|
+
export declare const DECLINE_POLICY: GatewayPolicy;
|
|
29
|
+
export interface RepoGateway {
|
|
30
|
+
/** Whether the operation is enabled and at least one valid repository pattern resolved. */
|
|
31
|
+
enabled: boolean;
|
|
32
|
+
/** Allowed `PROJECT/repository-slug` targets; a `PROJECT/*` entry allows the whole project. */
|
|
33
|
+
repos: string[];
|
|
34
|
+
/** Allowed target refs; a trailing `*` matches a prefix. Empty means any ref in an allowed repository. */
|
|
35
|
+
targetRefs: string[];
|
|
36
|
+
policy: GatewayPolicy;
|
|
37
|
+
}
|
|
38
|
+
type Env = Record<string, string | undefined>;
|
|
39
|
+
type Warn = (message: string) => void;
|
|
40
|
+
export interface ResolveGatewayOptions {
|
|
41
|
+
env?: Env;
|
|
42
|
+
warn?: Warn;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Reads one operation's gateway configuration from the environment. The operation only
|
|
46
|
+
* activates when its flag is set and at least one repository entry is valid; otherwise a
|
|
47
|
+
* warning is logged and the gateway stays disabled.
|
|
48
|
+
*/
|
|
49
|
+
export declare function resolveGateway(policy: GatewayPolicy, options?: ResolveGatewayOptions): RepoGateway;
|
|
50
|
+
export declare function resolveMergeGateway(options?: ResolveGatewayOptions): RepoGateway;
|
|
51
|
+
export declare function resolveDeclineGateway(options?: ResolveGatewayOptions): RepoGateway;
|
|
52
|
+
/** Throws unless the gateway allows its operation in this repository. No network call. */
|
|
53
|
+
export declare function assertRepoOperationAllowed(gateway: RepoGateway, projectKey: string, repositorySlug: string): void;
|
|
54
|
+
/** Throws unless the gateway allows merging into this target ref. A gateway with no ref restriction allows all. */
|
|
55
|
+
export declare function assertTargetRefMergeAllowed(gateway: RepoGateway, targetRefId: string | undefined): void;
|
|
56
|
+
export {};
|
|
57
|
+
//# sourceMappingURL=repo-gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-gateway.d.ts","sourceRoot":"","sources":["../src/repo-gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,oGAAoG;AACpG,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,aAM1B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,aAK5B,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,2FAA2F;IAC3F,OAAO,EAAE,OAAO,CAAC;IACjB,+FAA+F;IAC/F,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,0GAA0G;IAC1G,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAC9C,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAEtC,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AA+CD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,WAAW,CA2BlG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,WAAW,CAEhF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,WAAW,CAElF;AAED,0FAA0F;AAC1F,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAcjH;AAED,mHAAmH;AACnH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAgBvG"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operator-controlled gate for pull request operations that change state on a shared branch
|
|
3
|
+
* or in front of other people.
|
|
4
|
+
*
|
|
5
|
+
* A merge cannot be undone through the API, and a decline is visible to every reviewer the
|
|
6
|
+
* moment it lands, so both are disabled by default: the tool is not even registered unless
|
|
7
|
+
* the operator enables it and names the repositories it may act on. Each operation reads its
|
|
8
|
+
* own environment variables, so allowing declines never implies allowing merges. The scope is
|
|
9
|
+
* read once at startup, so the model can never select or widen it. Read-only checks are not
|
|
10
|
+
* gated.
|
|
11
|
+
*/
|
|
12
|
+
export const MERGE_POLICY = {
|
|
13
|
+
name: 'merge',
|
|
14
|
+
gerund: 'Merging',
|
|
15
|
+
flagVar: 'BITBUCKET_MERGE_ENABLED',
|
|
16
|
+
reposVar: 'BITBUCKET_MERGE_ALLOWED_REPOS',
|
|
17
|
+
targetRefsVar: 'BITBUCKET_MERGE_ALLOWED_TARGET_REFS',
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Declining has no target-ref restriction: which branch a pull request would have landed on
|
|
21
|
+
* says nothing about whether abandoning it is safe.
|
|
22
|
+
*/
|
|
23
|
+
export const DECLINE_POLICY = {
|
|
24
|
+
name: 'decline',
|
|
25
|
+
gerund: 'Declining',
|
|
26
|
+
flagVar: 'BITBUCKET_DECLINE_ENABLED',
|
|
27
|
+
reposVar: 'BITBUCKET_DECLINE_ALLOWED_REPOS',
|
|
28
|
+
};
|
|
29
|
+
const REPO_ENTRY_RE = /^[^\s/]+\/[^\s/]+$/;
|
|
30
|
+
function readBool(env, name) {
|
|
31
|
+
const value = env[name]?.trim().toLowerCase();
|
|
32
|
+
return value === 'true' || value === '1' || value === 'yes';
|
|
33
|
+
}
|
|
34
|
+
function parseList(raw) {
|
|
35
|
+
return (raw ?? '').split(/[,;\s]+/).map(entry => entry.trim()).filter(Boolean);
|
|
36
|
+
}
|
|
37
|
+
function dedupe(values) {
|
|
38
|
+
return [...new Set(values)];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Accepts `PROJECT/repository-slug` or `PROJECT/*`. The project key is upper-cased and
|
|
42
|
+
* the slug lower-cased to match the casing the REST API uses, so comparisons are exact.
|
|
43
|
+
*/
|
|
44
|
+
function normalizeRepoEntry(entry, warn) {
|
|
45
|
+
if (!REPO_ENTRY_RE.test(entry)) {
|
|
46
|
+
warn(`Ignoring repository entry that is not "PROJECT/repository-slug" or "PROJECT/*": "${entry}"`);
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
const [projectKey, slug] = entry.split('/');
|
|
50
|
+
if (projectKey === '*') {
|
|
51
|
+
warn(`Ignoring repository entry that would allow every project: "${entry}"`);
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
return `${projectKey.toUpperCase()}/${slug.toLowerCase()}`;
|
|
55
|
+
}
|
|
56
|
+
/** Bare branch names are expanded so operators can write `develop` instead of `refs/heads/develop`. */
|
|
57
|
+
function normalizeRefEntry(entry) {
|
|
58
|
+
return entry.startsWith('refs/') ? entry : `refs/heads/${entry}`;
|
|
59
|
+
}
|
|
60
|
+
function matchesPattern(value, pattern) {
|
|
61
|
+
return pattern.endsWith('*') ? value.startsWith(pattern.slice(0, -1)) : value === pattern;
|
|
62
|
+
}
|
|
63
|
+
function disabledGateway(policy) {
|
|
64
|
+
return { enabled: false, repos: [], targetRefs: [], policy };
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Reads one operation's gateway configuration from the environment. The operation only
|
|
68
|
+
* activates when its flag is set and at least one repository entry is valid; otherwise a
|
|
69
|
+
* warning is logged and the gateway stays disabled.
|
|
70
|
+
*/
|
|
71
|
+
export function resolveGateway(policy, options) {
|
|
72
|
+
const env = options?.env ?? process.env;
|
|
73
|
+
const warn = options?.warn ?? ((message) => console.error(`[${policy.name}-gateway] ${message}`));
|
|
74
|
+
if (!readBool(env, policy.flagVar)) {
|
|
75
|
+
return disabledGateway(policy);
|
|
76
|
+
}
|
|
77
|
+
const repos = dedupe(parseList(env[policy.reposVar])
|
|
78
|
+
.map(entry => normalizeRepoEntry(entry, warn))
|
|
79
|
+
.filter((entry) => Boolean(entry)));
|
|
80
|
+
if (repos.length === 0) {
|
|
81
|
+
warn(`${policy.gerund} was enabled but no valid repository is configured (set ${policy.reposVar} ` +
|
|
82
|
+
'to a list of "PROJECT/repository-slug" or "PROJECT/*" entries); the tool will stay disabled.');
|
|
83
|
+
return disabledGateway(policy);
|
|
84
|
+
}
|
|
85
|
+
const targetRefs = policy.targetRefsVar
|
|
86
|
+
? dedupe(parseList(env[policy.targetRefsVar]).map(normalizeRefEntry))
|
|
87
|
+
: [];
|
|
88
|
+
return { enabled: true, repos, targetRefs, policy };
|
|
89
|
+
}
|
|
90
|
+
export function resolveMergeGateway(options) {
|
|
91
|
+
return resolveGateway(MERGE_POLICY, options);
|
|
92
|
+
}
|
|
93
|
+
export function resolveDeclineGateway(options) {
|
|
94
|
+
return resolveGateway(DECLINE_POLICY, options);
|
|
95
|
+
}
|
|
96
|
+
/** Throws unless the gateway allows its operation in this repository. No network call. */
|
|
97
|
+
export function assertRepoOperationAllowed(gateway, projectKey, repositorySlug) {
|
|
98
|
+
const { policy } = gateway;
|
|
99
|
+
if (!gateway.enabled) {
|
|
100
|
+
throw new Error(`${policy.gerund} pull requests is disabled on this server. Enable it with ${policy.flagVar} ` +
|
|
101
|
+
`and list the allowed repositories in ${policy.reposVar}.`);
|
|
102
|
+
}
|
|
103
|
+
const target = `${projectKey.toUpperCase()}/${repositorySlug.toLowerCase()}`;
|
|
104
|
+
if (!gateway.repos.some(pattern => matchesPattern(target, pattern))) {
|
|
105
|
+
throw new Error(`${policy.gerund} is not allowed in ${target} on this server. Allowed: ${gateway.repos.join(', ')}.`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/** Throws unless the gateway allows merging into this target ref. A gateway with no ref restriction allows all. */
|
|
109
|
+
export function assertTargetRefMergeAllowed(gateway, targetRefId) {
|
|
110
|
+
if (gateway.targetRefs.length === 0) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
if (!targetRefId) {
|
|
114
|
+
throw new Error('Could not determine the target branch of the pull request, and this server restricts which ' +
|
|
115
|
+
`branches may be merged into (${gateway.policy.targetRefsVar}); refusing to merge.`);
|
|
116
|
+
}
|
|
117
|
+
if (!gateway.targetRefs.some(pattern => matchesPattern(targetRefId, pattern))) {
|
|
118
|
+
throw new Error(`Merging into ${targetRefId} is not allowed on this server. ` +
|
|
119
|
+
`Allowed target refs: ${gateway.targetRefs.join(', ')}.`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=repo-gateway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo-gateway.js","sourceRoot":"","sources":["../src/repo-gateway.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAcH,MAAM,CAAC,MAAM,YAAY,GAAkB;IACzC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,yBAAyB;IAClC,QAAQ,EAAE,+BAA+B;IACzC,aAAa,EAAE,qCAAqC;CACrD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,OAAO,EAAE,2BAA2B;IACpC,QAAQ,EAAE,iCAAiC;CAC5C,CAAC;AAoBF,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAE3C,SAAS,QAAQ,CAAC,GAAQ,EAAE,IAAY;IACtC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,KAAK,CAAC;AAC9D,CAAC;AAED,SAAS,SAAS,CAAC,GAAuB;IACxC,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,MAAM,CAAC,MAAgB;IAC9B,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAAa,EAAE,IAAU;IACnD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC,oFAAoF,KAAK,GAAG,CAAC,CAAC;QACnG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,8DAA8D,KAAK,GAAG,CAAC,CAAC;QAC7E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED,uGAAuG;AACvG,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,CAAC;AACnE,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,OAAe;IACpD,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC;AAC5F,CAAC;AAED,SAAS,eAAe,CAAC,MAAqB;IAC5C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;AAC/D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,MAAqB,EAAE,OAA+B;IACnF,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACxC,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,OAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,aAAa,OAAO,EAAE,CAAC,CAAC,CAAC;IAE1G,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAClB,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SAC5B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAC7C,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CACtD,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,CACF,GAAG,MAAM,CAAC,MAAM,2DAA2D,MAAM,CAAC,QAAQ,GAAG;YAC3F,8FAA8F,CACjG,CAAC;QACF,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa;QACrC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrE,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA+B;IACjE,OAAO,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,OAAO,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,0BAA0B,CAAC,OAAoB,EAAE,UAAkB,EAAE,cAAsB;IACzG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,CAAC,MAAM,6DAA6D,MAAM,CAAC,OAAO,GAAG;YAC5F,wCAAwC,MAAM,CAAC,QAAQ,GAAG,CAC7D,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,IAAI,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;IAC7E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,GAAG,MAAM,CAAC,MAAM,sBAAsB,MAAM,6BAA6B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,2BAA2B,CAAC,OAAoB,EAAE,WAA+B;IAC/F,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IACD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,6FAA6F;YAC3F,gCAAgC,OAAO,CAAC,MAAM,CAAC,aAAa,uBAAuB,CACtF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CACb,gBAAgB,WAAW,kCAAkC;YAC3D,wBAAwB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3D,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlassian-dc-mcp/bitbucket",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": "./bin/run.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"test": "jest"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@atlassian-dc-mcp/common": "^0.
|
|
34
|
+
"@atlassian-dc-mcp/common": "^0.35.0",
|
|
35
35
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
36
36
|
"dotenv": "^16.4.7",
|
|
37
37
|
"zod": "^3.24.2"
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"publishConfig": {
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "c52a6f59bdef6e8ed2db8f42415055b5059a6051"
|
|
52
52
|
}
|
|
@@ -4,6 +4,7 @@ import path from 'node:path';
|
|
|
4
4
|
import { initializeRuntimeConfig } from '@atlassian-dc-mcp/common';
|
|
5
5
|
import { BitbucketService } from '../bitbucket-service.js';
|
|
6
6
|
import { PullRequestsService, RepositoryService } from '../bitbucket-client/index.js';
|
|
7
|
+
import { DECLINE_POLICY, type RepoGateway } from '../repo-gateway.js';
|
|
7
8
|
import { request as mockRequest } from '../bitbucket-client/core/request.js';
|
|
8
9
|
|
|
9
10
|
// Mock the request function
|
|
@@ -23,7 +24,9 @@ jest.mock('../bitbucket-client/index.js', () => ({
|
|
|
23
24
|
updateStatus: jest.fn(),
|
|
24
25
|
getPage: jest.fn(),
|
|
25
26
|
getReviewers: jest.fn(),
|
|
26
|
-
get3: jest.fn()
|
|
27
|
+
get3: jest.fn(),
|
|
28
|
+
decline: jest.fn(),
|
|
29
|
+
reopen: jest.fn()
|
|
27
30
|
},
|
|
28
31
|
RepositoryService: {
|
|
29
32
|
streamRaw: jest.fn(),
|
|
@@ -2971,6 +2974,39 @@ describe('BitbucketService', () => {
|
|
|
2971
2974
|
'refs/heads/feature', 'refs/heads/main'
|
|
2972
2975
|
);
|
|
2973
2976
|
});
|
|
2977
|
+
|
|
2978
|
+
it('should uppercase projectKey and lowercase repositorySlug for declinePullRequest', async () => {
|
|
2979
|
+
const gateway: RepoGateway = {
|
|
2980
|
+
enabled: true,
|
|
2981
|
+
repos: ['TEST/test-repo'],
|
|
2982
|
+
targetRefs: [],
|
|
2983
|
+
policy: DECLINE_POLICY,
|
|
2984
|
+
};
|
|
2985
|
+
(PullRequestsService.decline as jest.Mock).mockResolvedValue({ id: 1, state: 'DECLINED' });
|
|
2986
|
+
|
|
2987
|
+
await bitbucketService.declinePullRequest({
|
|
2988
|
+
projectKey: 'test',
|
|
2989
|
+
repositorySlug: 'Test-Repo',
|
|
2990
|
+
pullRequestId: '1',
|
|
2991
|
+
version: 2,
|
|
2992
|
+
gateway,
|
|
2993
|
+
});
|
|
2994
|
+
|
|
2995
|
+
expect(PullRequestsService.decline).toHaveBeenCalledWith('TEST', '1', 'test-repo', '2', { version: 2 });
|
|
2996
|
+
});
|
|
2997
|
+
|
|
2998
|
+
it('should uppercase projectKey and lowercase repositorySlug for reopenPullRequest', async () => {
|
|
2999
|
+
(PullRequestsService.reopen as jest.Mock).mockResolvedValue({ id: 1, state: 'OPEN' });
|
|
3000
|
+
|
|
3001
|
+
await bitbucketService.reopenPullRequest({
|
|
3002
|
+
projectKey: 'test',
|
|
3003
|
+
repositorySlug: 'Test-Repo',
|
|
3004
|
+
pullRequestId: '1',
|
|
3005
|
+
version: 2,
|
|
3006
|
+
});
|
|
3007
|
+
|
|
3008
|
+
expect(PullRequestsService.reopen).toHaveBeenCalledWith('TEST', '1', 'test-repo', '2', { version: 2 });
|
|
3009
|
+
});
|
|
2974
3010
|
});
|
|
2975
3011
|
|
|
2976
3012
|
describe('searchCode', () => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PullRequestsService } from '../bitbucket-client/index.js';
|
|
2
2
|
import { fetchMergeability, mergePullRequest } from '../pr-merge.js';
|
|
3
|
-
import type
|
|
3
|
+
import { MERGE_POLICY, type RepoGateway } from '../repo-gateway.js';
|
|
4
4
|
|
|
5
5
|
jest.mock('../bitbucket-client/index.js', () => ({
|
|
6
6
|
PullRequestsService: {
|
|
@@ -15,7 +15,7 @@ const canMerge = PullRequestsService.canMerge as jest.Mock;
|
|
|
15
15
|
const merge = PullRequestsService.merge as jest.Mock;
|
|
16
16
|
const getPullRequest = PullRequestsService.get3 as jest.Mock;
|
|
17
17
|
|
|
18
|
-
const OPEN_GATEWAY:
|
|
18
|
+
const OPEN_GATEWAY: RepoGateway = { enabled: true, repos: ['PROJ/demo'], targetRefs: [], policy: MERGE_POLICY };
|
|
19
19
|
const CLEAN = { canMerge: true, conflicted: false, outcome: 'CLEAN', vetoes: [] };
|
|
20
20
|
const MERGED_PR = {
|
|
21
21
|
id: 42,
|
|
@@ -111,7 +111,7 @@ describe('mergePullRequest', () => {
|
|
|
111
111
|
it('refuses without any request when merging is disabled', async () => {
|
|
112
112
|
const result = await mergePullRequest({
|
|
113
113
|
...baseParams,
|
|
114
|
-
gateway: { enabled: false, repos: [], targetRefs: [] },
|
|
114
|
+
gateway: { enabled: false, repos: [], targetRefs: [], policy: MERGE_POLICY },
|
|
115
115
|
});
|
|
116
116
|
|
|
117
117
|
expect(result.success).toBe(false);
|
|
@@ -137,7 +137,7 @@ describe('mergePullRequest', () => {
|
|
|
137
137
|
|
|
138
138
|
const result = await mergePullRequest({
|
|
139
139
|
...baseParams,
|
|
140
|
-
gateway: { enabled: true, repos: ['PROJ/demo'], targetRefs: ['refs/heads/develop'] },
|
|
140
|
+
gateway: { enabled: true, repos: ['PROJ/demo'], targetRefs: ['refs/heads/develop'], policy: MERGE_POLICY },
|
|
141
141
|
});
|
|
142
142
|
|
|
143
143
|
expect(result.success).toBe(false);
|
|
@@ -153,7 +153,7 @@ describe('mergePullRequest', () => {
|
|
|
153
153
|
|
|
154
154
|
const result = await mergePullRequest({
|
|
155
155
|
...baseParams,
|
|
156
|
-
gateway: { enabled: true, repos: ['PROJ/demo'], targetRefs: ['refs/heads/release/*'] },
|
|
156
|
+
gateway: { enabled: true, repos: ['PROJ/demo'], targetRefs: ['refs/heads/release/*'], policy: MERGE_POLICY },
|
|
157
157
|
});
|
|
158
158
|
|
|
159
159
|
expect(result.success).toBe(true);
|