Retrieves the current user's preferred mirror server
This request has no parameters.
the preferred mirror server
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/account/settings/preferred-mirror' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
{
"enabled": true,
"name": "Mirror",
"id": "B0F5-CS21-45C2-CCK3",
"lastSeenDate": "<string>",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"baseUrl": "http://vietnam.example.com"
}
Sets the mirror specified by a mirror ID as the current user's preferred mirror
the mirror ID
string
an empty response indicating that the user setting has been updated
1
2
3
4
curl --request POST \
--url 'http://{baseurl}/rest/mirroring/latest/account/settings/preferred-mirror' \
--header 'Content-Type: application/json' \
--data '"<string>"'
Removes the current user's preferred mirror
This request has no parameters.
an empty response indicating that the user setting has been updated
1
2
curl --request DELETE \
--url 'http://{baseurl}/rest/mirroring/latest/account/settings/preferred-mirror'
Gets the analytics settings from the mirroring upstream
This request has no parameters.
The analytics settings from upstream
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/analyticsSettings' \
--header 'Accept: application/json'
1
2
3
4
5
{
"supportEntitlementNumber": "SEN-500",
"serverTime": 1640390400000,
"canCollectAnalytics": true
}
Authenticates on behalf of a user. Used by mirrors to check the credentials supplied to them by users. If successful a user and their effective permissions are returned as follows -
Currently only username/password, bearer token and SSH credentials are supported.
oneOf [RestUsernamePasswordCredentials, RestBearerTokenCredentials, RestSshCredentials]
Requiredinteger
boolean
The user for the supplied credentials and their effective permissions}.
1
2
3
4
5
6
7
8
9
curl --request POST \
--url 'http://{baseurl}/rest/mirroring/latest/authenticate' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"credentials": {},
"repositoryId": 2154,
"requiredPermissionsOnly": true
}'
1
2
3
4
5
6
7
8
9
10
{
"effectivePermissions": {},
"id": 101,
"type": "NORMAL",
"displayName": "Jane Citizen",
"slug": "jcitizen",
"active": true,
"name": "jcitizen",
"emailAddress": "jane@example.com"
}
Returns a list of mirrors
number
number
a page of mirrors
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/mirrorServers' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"values": [
{
"enabled": true,
"name": "Mirror",
"id": "B0F5-CS21-45C2-CCK3",
"lastSeenDate": "<string>",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"baseUrl": "http://vietnam.example.com"
}
],
"size": 1,
"limit": 25,
"start": 2154,
"isLastPage": true,
"nextPageStart": 2154
}
Returns the mirror specified by a mirror ID
string
Requiredthe mirror
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/mirrorServers/{mirrorId}' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
{
"enabled": true,
"name": "Mirror",
"id": "B0F5-CS21-45C2-CCK3",
"lastSeenDate": "<string>",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"baseUrl": "http://vietnam.example.com"
}
Upgrades the add-on for the mirror server in question This endpoint can only be called by the mirror instance or system administrators
Since 5.8
string
Requiredstring
string
string
string
the mirror
1
2
3
4
5
6
7
8
9
10
curl --request PUT \
--url 'http://{baseurl}/rest/mirroring/latest/mirrorServers/{mirrorId}' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"addonDescriptorUri": "https://bitbucket-eu.example.com:7990/bitbucket/rest/mirroring/1.0/descriptor",
"baseUrl": "https://bitbucket-eu.example.com:7990/bitbucket",
"productType": "Bitbucket",
"productVersion": "8.0.0"
}'
1
2
3
4
5
6
7
8
9
10
{
"enabled": true,
"name": "Mirror",
"id": "B0F5-CS21-45C2-CCK3",
"lastSeenDate": "<string>",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"baseUrl": "http://vietnam.example.com"
}
Removes a mirror, disabling all access and notifications for the mirror server in question
string
Requiredan empty response indicating that the mirror has been removed
1
2
curl --request DELETE \
--url 'http://{baseurl}/rest/mirroring/latest/mirrorServers/{mirrorId}'
Publishes a RepositoryMirrorEvent on the event queue.
string
Requiredinteger
string
string
The event was successfully placed on the queue
1
2
3
4
5
6
7
8
curl --request POST \
--url 'http://{baseurl}/rest/mirroring/latest/mirrorServers/{mirrorId}/events' \
--header 'Content-Type: application/json' \
--data '{
"mirrorRepoId": 42,
"type": "SYNCHRONIZED",
"upstreamRepoId": "24"
}'
Returns an authentication token for the mirror server in question
string
Requiredthe mirror auth token
RestMirrorAuthToken
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/mirrorServers/{mirrorId}/token' \
--header 'Accept: application/json'
Gets the rendered HTML that is needed to get the remote connect web-panel on the mirror.
string
Requireddefault response
any
1
2
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/mirrorServers/{mirrorId}/webPanels/config'
Returns the requested project using its primary key ID.
Since 6.7
string
RequiredThe project with the specified ID
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/projects/{projectId}' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
{
"name": "My Cool Project",
"key": "PRJ",
"id": 2154,
"type": "NORMAL",
"public": true,
"scope": "PROJECT",
"avatar": "<string>",
"description": "The description for my cool project",
"namespace": "<string>"
}
Returns a page of repositories for a given project, enriched with a content hash
string
Requiredstring
number
number
A page of repositories with content hashes
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/projects/{projectId}/repos' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
{
"values": [
{
"properties": {
"defaultBranchId": "refs/heads/master",
"metadataHash": "11e5cd17e8d74d84a11f2c8a6bbc6ae0a2b69059e54030f49214c94d980364c1",
"contentHash": "457389a0b871fb61012a7351d09aefc0cf1c57c306449d4b5df4d2f381df8433"
},
"name": "My repo",
"id": 2154,
"state": "AVAILABLE",
"public": true,
"scmId": "git",
"slug": "my-repo",
"scope": "REPOSITORY",
"defaultBranch": "main",
"relatedLinks": {},
"partition": 2154,
"hierarchyId": "e3c939f9ef4a7fae272e",
"statusMessage": "Available",
"archived": true,
"forkable": true,
"origin": {
"name": "My repo",
"id": 2154,
"state": "AVAILABLE",
"public": true,
"scmId": "git",
"slug": "my-repo",
"scope": "REPOSITORY",
"defaultBranch": "main",
"relatedLinks": {},
"partition": 2154,
"hierarchyId": "e3c939f9ef4a7fae272e",
"statusMessage": "Available",
"archived": true,
"forkable": true,
"description": "My repo description",
"project": {
"name": "My Cool Project",
"key": "PRJ",
"id": 2154,
"type": "NORMAL",
"public": true,
"scope": "PROJECT",
"avatar": "<string>",
"description": "The description for my cool project",
"namespace": "<string>"
}
},
"description": "My repo description",
"project": {
"name": "My Cool Project",
"key": "PRJ",
"id": 2154,
"type": "NORMAL",
"public": true,
"scope": "PROJECT",
"avatar": "<string>",
"description": "The description for my cool project",
"namespace": "<string>"
}
}
],
"size": 1,
"limit": 25,
"start": 2154,
"isLastPage": true,
"nextPageStart": 2154
}
Returns a page of repositories enriched with a content hash and default branch
string
A page of repositories with content hashes and default branch
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/repos' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{
"properties": {
"defaultBranchId": "refs/heads/master",
"metadataHash": "11e5cd17e8d74d84a11f2c8a6bbc6ae0a2b69059e54030f49214c94d980364c1",
"contentHash": "457389a0b871fb61012a7351d09aefc0cf1c57c306449d4b5df4d2f381df8433"
},
"name": "My repo",
"id": 2154,
"state": "AVAILABLE",
"public": true,
"scmId": "git",
"slug": "my-repo",
"scope": "REPOSITORY",
"defaultBranch": "main",
"relatedLinks": {},
"partition": 2154,
"hierarchyId": "e3c939f9ef4a7fae272e",
"statusMessage": "Available",
"archived": true,
"forkable": true,
"origin": {
"name": "My repo",
"id": 2154,
"state": "AVAILABLE",
"public": true,
"scmId": "git",
"slug": "my-repo",
"scope": "REPOSITORY",
"defaultBranch": "main",
"relatedLinks": {},
"partition": 2154,
"hierarchyId": "e3c939f9ef4a7fae272e",
"statusMessage": "Available",
"archived": true,
"forkable": true,
"description": "My repo description",
"project": {
"name": "My Cool Project",
"key": "PRJ",
"id": 2154,
"type": "NORMAL",
"public": true,
"scope": "PROJECT",
"avatar": "<string>",
"description": "The description for my cool project",
"namespace": "<string>"
}
},
"description": "My repo description",
"project": {
"name": "My Cool Project",
"key": "PRJ",
"id": 2154,
"type": "NORMAL",
"public": true,
"scope": "PROJECT",
"avatar": "<string>",
"description": "The description for my cool project",
"namespace": "<string>"
}
}
Returns a repository enriched with a content hash and default branch
string
Requiredboolean
The repository with the specified repoId
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/repos/{repoId}' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
{
"properties": {
"defaultBranchId": "refs/heads/master",
"metadataHash": "11e5cd17e8d74d84a11f2c8a6bbc6ae0a2b69059e54030f49214c94d980364c1",
"contentHash": "457389a0b871fb61012a7351d09aefc0cf1c57c306449d4b5df4d2f381df8433"
},
"name": "My repo",
"id": 2154,
"state": "AVAILABLE",
"public": true,
"scmId": "git",
"slug": "my-repo",
"scope": "REPOSITORY",
"defaultBranch": "main",
"relatedLinks": {},
"partition": 2154,
"hierarchyId": "e3c939f9ef4a7fae272e",
"statusMessage": "Available",
"archived": true,
"forkable": true,
"origin": {
"name": "My repo",
"id": 2154,
"state": "AVAILABLE",
"public": true,
"scmId": "git",
"slug": "my-repo",
"scope": "REPOSITORY",
"defaultBranch": "main",
"relatedLinks": {},
"partition": 2154,
"hierarchyId": "e3c939f9ef4a7fae272e",
"statusMessage": "Available",
"archived": true,
"forkable": true,
"description": "My repo description",
"project": {
"name": "My Cool Project",
"key": "PRJ",
"id": 2154,
"type": "NORMAL",
"public": true,
"scope": "PROJECT",
"avatar": "<string>",
"description": "The description for my cool project",
"namespace": "<string>"
}
},
"description": "My repo description",
"project": {
"name": "My Cool Project",
"key": "PRJ",
"id": 2154,
"type": "NORMAL",
"public": true,
"scope": "PROJECT",
"avatar": "<string>",
"description": "The description for my cool project",
"namespace": "<string>"
}
}
Returns a page of mirrors for a repository. This resource will return all mirrors along with authorized links to the mirror's repository REST resource. To determine if a repository is available on the mirror, the returned URL needs to be called.
string
RequiredThe mirrored repository descriptor
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/repos/{repoId}/mirrors' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
{
"mirrorServer": {
"enabled": true,
"name": "Mirror",
"id": "B0F5-CS21-45C2-CCK3",
"lastSeenDate": "<string>",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"baseUrl": "http://vietnam.example.com"
}
}
Retrieves a mirroring request
string
number
number
A page of mirroring requests
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/requests' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"values": [
{
"id": 2154,
"state": "PENDING",
"mirrorName": "Bitbucket Mirror",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"mirrorId": "4f0eb5fc-67fc-48f8-b4a7-87981f026c6a",
"mirrorBaseUrl": "https://bitbucket-eu.example.com:7990/bitbucket",
"addonDescriptorUri": "https://bitbucket-eu.example.com:7990/bitbucket/rest/mirroring/1.0/descriptor"
}
],
"size": 1,
"limit": 25,
"start": 2154,
"isLastPage": true,
"nextPageStart": 2154
}
Creates a new mirroring request
string
string
string
string
string
string
string
string
The created mirroring request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
curl --request POST \
--url 'http://{baseurl}/rest/mirroring/latest/requests' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data '{
"state": "PENDING",
"mirrorName": "Bitbucket Mirror",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"mirrorId": "4f0eb5fc-67fc-48f8-b4a7-87981f026c6a",
"mirrorBaseUrl": "https://bitbucket-eu.example.com:7990/bitbucket",
"addonDescriptorUri": "https://bitbucket-eu.example.com:7990/bitbucket/rest/mirroring/1.0/descriptor"
}'
1
2
3
4
5
6
7
8
9
10
11
{
"id": 2154,
"state": "PENDING",
"mirrorName": "Bitbucket Mirror",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"mirrorId": "4f0eb5fc-67fc-48f8-b4a7-87981f026c6a",
"mirrorBaseUrl": "https://bitbucket-eu.example.com:7990/bitbucket",
"addonDescriptorUri": "https://bitbucket-eu.example.com:7990/bitbucket/rest/mirroring/1.0/descriptor"
}
Retrieves a mirroring request
string
RequiredThe mirroring request
1
2
3
curl --request GET \
--url 'http://{baseurl}/rest/mirroring/latest/requests/{mirroringRequestId}' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
11
{
"id": 2154,
"state": "PENDING",
"mirrorName": "Bitbucket Mirror",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"mirrorId": "4f0eb5fc-67fc-48f8-b4a7-87981f026c6a",
"mirrorBaseUrl": "https://bitbucket-eu.example.com:7990/bitbucket",
"addonDescriptorUri": "https://bitbucket-eu.example.com:7990/bitbucket/rest/mirroring/1.0/descriptor"
}
Deletes a mirroring request
string
RequiredThe request was deleted
1
2
curl --request DELETE \
--url 'http://{baseurl}/rest/mirroring/latest/requests/{mirroringRequestId}'
Accepts a mirroring request
string
RequiredThe accepted mirror server
1
2
3
curl --request POST \
--url 'http://{baseurl}/rest/mirroring/latest/requests/{mirroringRequestId}/accept' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
{
"enabled": true,
"name": "Mirror",
"id": "B0F5-CS21-45C2-CCK3",
"lastSeenDate": "<string>",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"baseUrl": "http://vietnam.example.com"
}
Rejects a mirroring request
string
RequiredThe rejected mirror server
1
2
3
curl --request POST \
--url 'http://{baseurl}/rest/mirroring/latest/requests/{mirroringRequestId}/reject' \
--header 'Accept: application/json'
1
2
3
4
5
6
7
8
9
10
{
"enabled": true,
"name": "Mirror",
"id": "B0F5-CS21-45C2-CCK3",
"lastSeenDate": "<string>",
"mirrorType": "SINGLE",
"productType": "Bitbucket",
"productVersion": "8.0.0",
"baseUrl": "http://vietnam.example.com"
}
Rate this page: