bitbucket-repository-provider 4.1.0 → 4.1.3
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/README.md +1 -1
- package/package.json +4 -4
- package/src/bitbucket-branch.mjs +20 -0
- package/src/bitbucket-provider.mjs +13 -11
- package/src/bitbucket-pull-request.mjs +1 -3
- package/src/bitbucket-repository.mjs +13 -10
package/README.md
CHANGED
|
@@ -121,9 +121,9 @@ Supported name schemes are
|
|
|
121
121
|
Known environment variables
|
|
122
122
|
|
|
123
123
|
* BITBUCKET_API api
|
|
124
|
-
* BB_TOKEN api token
|
|
125
124
|
* BITBUCKET_TOKEN api token
|
|
126
125
|
* BITBUCKET_USERNAME username
|
|
126
|
+
* BITBUCKET_APP_PASSWORD password
|
|
127
127
|
* BITBUCKET_PASSWORD password
|
|
128
128
|
|
|
129
129
|
### Parameters
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bitbucket-repository-provider",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"content-entry": "^5.0.0",
|
|
34
|
-
"fetch-rate-limit-util": "^2.
|
|
34
|
+
"fetch-rate-limit-util": "^2.9.3",
|
|
35
35
|
"matching-iterator": "^2.0.4",
|
|
36
36
|
"node-fetch": "^3.2.3",
|
|
37
37
|
"one-time-execution-method": "^2.0.13",
|
|
38
|
-
"repository-provider": "^28.
|
|
38
|
+
"repository-provider": "^28.3.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"ava": "^4.2.0",
|
|
42
42
|
"c8": "^7.11.2",
|
|
43
43
|
"documentation": "^13.2.5",
|
|
44
|
-
"repository-provider-test-support": "^2.1.
|
|
44
|
+
"repository-provider-test-support": "^2.1.4",
|
|
45
45
|
"semantic-release": "^19.0.2"
|
|
46
46
|
},
|
|
47
47
|
"engines": {
|
package/src/bitbucket-branch.mjs
CHANGED
|
@@ -25,12 +25,30 @@ export class BitbucketBranch extends Branch {
|
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
// TODO isInitialized ?
|
|
29
|
+
|
|
30
|
+
async initialize()
|
|
31
|
+
{
|
|
32
|
+
if(this.hash === undefined) {
|
|
33
|
+
const url = `repositories/${this.slug}/refs/branches?q=name="${this.name}"`;
|
|
34
|
+
const { json } = await this.provider.fetchJSON(url);
|
|
35
|
+
// console.log(json.values[0].target);
|
|
36
|
+
|
|
37
|
+
this.hash = json.values[0].target.hash;
|
|
38
|
+
|
|
39
|
+
//delete json.values[0].target.repository;
|
|
40
|
+
//Object.assign(this,json.values[0].target);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
28
44
|
/**
|
|
29
45
|
* {@link https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/src/%7Bnode%7D/%7Bpath%7D}
|
|
30
46
|
* @param {string} name
|
|
31
47
|
* @return {Promise<ContentEntry>}
|
|
32
48
|
*/
|
|
33
49
|
async entry(name) {
|
|
50
|
+
await this.initialize();
|
|
51
|
+
|
|
34
52
|
const res = await this.provider.fetch(
|
|
35
53
|
`repositories/${this.slug}/src/${this.hash}/${name}`
|
|
36
54
|
);
|
|
@@ -44,6 +62,8 @@ export class BitbucketBranch extends Branch {
|
|
|
44
62
|
* @param patterns
|
|
45
63
|
*/
|
|
46
64
|
async *entries(patterns) {
|
|
65
|
+
await this.initialize();
|
|
66
|
+
|
|
47
67
|
const { json } = await this.provider.fetchJSON(
|
|
48
68
|
`repositories/${this.slug}/src/${this.hash}/?max_depth=99`
|
|
49
69
|
);
|
|
@@ -153,17 +153,19 @@ export class BitbucketProvider extends MultiGroupProvider {
|
|
|
153
153
|
* {@link https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories}
|
|
154
154
|
*/
|
|
155
155
|
async initializeRepositories() {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
156
|
+
try {
|
|
157
|
+
let next = "repositories/?role=contributor";
|
|
158
|
+
|
|
159
|
+
do {
|
|
160
|
+
const { json } = await this.fetchJSON(next);
|
|
161
|
+
|
|
162
|
+
next = json.next;
|
|
163
|
+
json.values.map(b => {
|
|
164
|
+
const groupName = b.owner.nickname || b.owner.username;
|
|
165
|
+
this.addRepositoryGroup(groupName, b.owner).addRepository(b.name, b);
|
|
166
|
+
});
|
|
167
|
+
} while (next);
|
|
168
|
+
} catch {}
|
|
167
169
|
}
|
|
168
170
|
|
|
169
171
|
fetch(url, options = {}, responseHandler) {
|
|
@@ -70,9 +70,7 @@ export class BitbucketPullRequest extends PullRequest {
|
|
|
70
70
|
return p;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
const
|
|
74
|
-
|
|
75
|
-
const { json } = await destination.provider.fetchJSON(url, {
|
|
73
|
+
const { json } = await destination.provider.fetchJSON(`repositories/${destination.slug}/pullrequests`, {
|
|
76
74
|
method: "POST",
|
|
77
75
|
data: {
|
|
78
76
|
source: {
|
|
@@ -22,12 +22,8 @@ export class BitbucketRepository extends Repository {
|
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
Object.defineProperties(this, {
|
|
29
|
-
user: { value: name.split(/\//)[0] }
|
|
30
|
-
});
|
|
25
|
+
get user() {
|
|
26
|
+
return this.name.split(/\//)[0];
|
|
31
27
|
}
|
|
32
28
|
|
|
33
29
|
/**
|
|
@@ -80,6 +76,9 @@ export class BitbucketRepository extends Repository {
|
|
|
80
76
|
} while (url);
|
|
81
77
|
}
|
|
82
78
|
|
|
79
|
+
/**
|
|
80
|
+
* {@link https://developer.atlassian.com/cloud/bitbucket/rest/api-group-refs/#api-group-refs}
|
|
81
|
+
*/
|
|
83
82
|
async initializeBranches() {
|
|
84
83
|
let url = `repositories/${this.slug}/refs/branches`;
|
|
85
84
|
|
|
@@ -111,7 +110,9 @@ export class BitbucketRepository extends Repository {
|
|
|
111
110
|
}
|
|
112
111
|
|
|
113
112
|
from = await from;
|
|
114
|
-
|
|
113
|
+
|
|
114
|
+
await from.initialize();
|
|
115
|
+
|
|
115
116
|
const { json } = await this.provider.fetchJSON(
|
|
116
117
|
`repositories/${this.slug}/refs/branches`,
|
|
117
118
|
{
|
|
@@ -133,10 +134,12 @@ export class BitbucketRepository extends Repository {
|
|
|
133
134
|
* {@link https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/refs/branches/%7Bname%7D#delete}
|
|
134
135
|
*/
|
|
135
136
|
async deleteBranch(name) {
|
|
136
|
-
const
|
|
137
|
-
|
|
137
|
+
const response = await this.provider.fetch(
|
|
138
|
+
`repositories/${this.slug}/refs/branches/${name}`,
|
|
139
|
+
{ method: "DELETE" }
|
|
140
|
+
);
|
|
138
141
|
|
|
139
|
-
if(!response.ok) {
|
|
142
|
+
if (!response.ok) {
|
|
140
143
|
throw new Error(response.statusText);
|
|
141
144
|
}
|
|
142
145
|
|