Skip to content

Commit 220a327

Browse files
authored
Merge branch 'main' into task_t27i1v/find_technical_documentation_with_ai_guide
2 parents 4823a7c + cd42dc4 commit 220a327

16 files changed

+1929
-23
lines changed

docs/ai-interfaces/port-mcp-server/overview-and-installation.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,13 @@ If you encounter errors:
195195
- **Permission issues**: You may need to run with appropriate permissions
196196
:::
197197

198+
:::warning VSCode action tool issue
199+
In some versions of VS Code, the MCP server might not start or return an error in the chat because of a configuration issue with the action related tools. To deal with it, [deselect](./available-tools#select-which-tools-to-use) the tools `create_action`, `update_action`, and `delete_action`.
200+
This is relevant for cases where you see an error like this one:
201+
```
202+
Failed to validate tool mcp_port_create_action: Error: tool parameters array type must have items. Please open a Github issue for the MCP server or extension which provides this tool
203+
```
204+
:::
198205

199206
**Step 1: Configure MCP Server Settings**
200207

docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/_azuredevops_exporter_supported_resources.mdx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
- [`project`](https://learn.microsoft.com/en-us/rest/api/azure/devops/core/projects/list?view=azure-devops-rest-7.1&tabs=HTTP#teamprojectreference)
44
- [`pull-request`](https://learn.microsoft.com/en-us/rest/api/azure/devops/git/pull-requests/get-pull-requests?view=azure-devops-rest-7.1&tabs=HTTP#gitpullrequest)
55
- [`pipeline`](https://learn.microsoft.com/en-us/rest/api/azure/devops/pipelines/pipelines/list?view=azure-devops-rest-7.2#pipeline)
6+
- [`build`](https://learn.microsoft.com/en-us/rest/api/azure/devops/build/builds/list?view=azure-devops-rest-7.1&tabs=HTTP#build)
7+
- [`pipeline-stage`](https://learn.microsoft.com/en-us/rest/api/azure/devops/pipelines/runs/list-stages?view=azure-devops-rest-7.1&tabs=HTTP#stage)
8+
- [`pipeline-run`](https://learn.microsoft.com/en-us/rest/api/azure/devops/pipelines/runs/list?view=azure-devops-rest-7.1&tabs=HTTP#run)
69
- [`user`](https://learn.microsoft.com/en-us/rest/api/azure/devops/memberentitlementmanagement/user-entitlements/list?view=azure-devops-rest-4.1&tabs=HTTP)
710
- [`team`](https://learn.microsoft.com/en-us/rest/api/azure/devops/core/teams/get-all-teams?view=azure-devops-rest-7.1&tabs=HTTP#webapiteam)
811
- [`member`](https://learn.microsoft.com/en-us/rest/api/azure/devops/core/teams/get-team-members-with-extended-properties?view=azure-devops-rest-7.1&tabs=HTTP#teammember)

docs/build-your-software-catalog/sync-data-to-catalog/git/azure-devops/azure-devops.md

Lines changed: 223 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,64 @@ resources:
163163
value: '[.reviewers[].uniqueName]'
164164
azure_devops_reviewers: '[.reviewers[].id]'
165165
azure_devops_creator: .createdBy.id
166+
- kind: build
167+
selector:
168+
query: "true"
169+
port:
170+
entity:
171+
mappings:
172+
identifier: .__project.id + "-" + (.id | tostring) | gsub(" "; "")
173+
title: .buildNumber
174+
blueprint: '"build"'
175+
properties:
176+
status: .status
177+
result: .result
178+
queueTime: .queueTime
179+
startTime: .startTime
180+
finishTime: .finishTime
181+
definitionName: .definition.name
182+
requestedFor: .requestedFor.displayName
183+
link: ._links.web.href
184+
relations:
185+
project: .__project.id | gsub(" "; "")
186+
- kind: pipeline-stage
187+
selector:
188+
query: 'true'
189+
port:
190+
entity:
191+
mappings:
192+
identifier: >-
193+
.__project.id + "-" + (.__buildId | tostring) + "-" + (.id |
194+
tostring) | gsub(" "; "")
195+
title: .name
196+
blueprint: '"pipeline-stage"'
197+
properties:
198+
state: .state
199+
result: .result
200+
startTime: .startTime
201+
finishTime: .finishTime
202+
stageType: .type
203+
relations:
204+
project: .__project.id | gsub(" "; "")
205+
build: (.__project.id + "-" + (.__buildId | tostring)) | gsub(" "; "")
206+
- kind: pipeline-run
207+
selector:
208+
query: 'true'
209+
port:
210+
entity:
211+
mappings:
212+
identifier: >-
213+
.__project.id + "-" + (.__pipeline.id | tostring) + "-" + (.id |
214+
tostring) | gsub(" "; "")
215+
blueprint: '"pipeline-run"'
216+
properties:
217+
state: .state
218+
result: .result
219+
createdDate: .createdDate
220+
finishedDate: .finishedDate
221+
pipelineName: .pipeline.name
222+
relations:
223+
project: .__project.id | gsub(" "; "")
166224
```
167225
168226
</details>
@@ -858,6 +916,96 @@ Here is an example of the payload structure from Azure DevOps:
858916

859917

860918

919+
<details>
920+
<summary> Build response data</summary>
921+
922+
```json showLineNumbers
923+
{
924+
"_links": {
925+
"self": {
926+
"href": "[REDACTED]/fd029361-7854-4cdd-8ace-bb033fca399c/_apis/build/builds/123"
927+
},
928+
"web": {
929+
"href": "[REDACTED]/fd029361-7854-4cdd-8ace-bb033fca399c/_build/results?buildId=123"
930+
}
931+
},
932+
"id": 123,
933+
"buildNumber": "20231114.1",
934+
"status": "completed",
935+
"result": "succeeded",
936+
"queueTime": "2023-11-14T07:00:00.000Z",
937+
"startTime": "2023-11-14T07:00:15.000Z",
938+
"finishTime": "2023-11-14T07:05:30.000Z",
939+
"definition": {
940+
"id": 7,
941+
"name": "health-catalist",
942+
"path": "\\"
943+
},
944+
"requestedFor": {
945+
"displayName": "Jaden Kodjo Miles",
946+
"id": "40bee502-30c1-6eb5-9750-f9d35fa66e6f",
947+
"uniqueName": "doe@gmail.com"
948+
},
949+
"__project": {
950+
"id": "fd029361-7854-4cdd-8ace-bb033fca399c",
951+
"name": "Port Integration"
952+
}
953+
}
954+
```
955+
956+
</details>
957+
958+
<details>
959+
<summary> Pipeline-stage response data</summary>
960+
961+
```json showLineNumbers
962+
{
963+
"id": 1,
964+
"name": "Build",
965+
"type": "build",
966+
"state": "completed",
967+
"result": "succeeded",
968+
"startTime": "2023-11-14T07:00:15.000Z",
969+
"finishTime": "2023-11-14T07:02:45.000Z",
970+
"__project": {
971+
"id": "fd029361-7854-4cdd-8ace-bb033fca399c",
972+
"name": "Port Integration"
973+
},
974+
"__buildId": 123
975+
}
976+
```
977+
978+
</details>
979+
980+
<details>
981+
<summary> Pipeline-run response data</summary>
982+
983+
```json showLineNumbers
984+
{
985+
"id": 456,
986+
"state": "completed",
987+
"result": "succeeded",
988+
"createdDate": "2023-11-14T07:00:00.000Z",
989+
"finishedDate": "2023-11-14T07:05:30.000Z",
990+
"pipeline": {
991+
"id": 7,
992+
"name": "health-catalist"
993+
},
994+
"__project": {
995+
"id": "fd029361-7854-4cdd-8ace-bb033fca399c",
996+
"name": "Port Integration"
997+
},
998+
"__pipeline": {
999+
"id": 7
1000+
}
1001+
}
1002+
```
1003+
1004+
</details>
1005+
1006+
1007+
1008+
8611009
### Mapping Result
8621010

8631011
The combination of the sample payload and the Ocean configuration generates the following Port entity:
@@ -978,6 +1126,81 @@ The combination of the sample payload and the Ocean configuration generates the
9781126

9791127

9801128

1129+
<details>
1130+
<summary> Build entity in Port </summary>
1131+
1132+
```json showLineNumbers
1133+
{
1134+
"identifier": "fd029361-7854-4cdd-8ace-bb033fca399c-123",
1135+
"title": "20231114.1",
1136+
"blueprint": "build",
1137+
"properties": {
1138+
"status": "completed",
1139+
"result": "succeeded",
1140+
"queueTime": "2023-11-14T07:00:00.000Z",
1141+
"startTime": "2023-11-14T07:00:15.000Z",
1142+
"finishTime": "2023-11-14T07:05:30.000Z",
1143+
"definitionName": "health-catalist",
1144+
"requestedFor": "Jaden Kodjo Miles",
1145+
"link": "[REDACTED]/fd029361-7854-4cdd-8ace-bb033fca399c/_build/results?buildId=123"
1146+
},
1147+
"relations": {
1148+
"project": "fd029361-7854-4cdd-8ace-bb033fca399c"
1149+
}
1150+
}
1151+
```
1152+
1153+
</details>
1154+
1155+
<details>
1156+
<summary> Pipeline-stage entity in Port </summary>
1157+
1158+
```json showLineNumbers
1159+
{
1160+
"identifier": "fd029361-7854-4cdd-8ace-bb033fca399c-123-1",
1161+
"title": "Build",
1162+
"blueprint": "pipeline-stage",
1163+
"properties": {
1164+
"state": "completed",
1165+
"result": "succeeded",
1166+
"startTime": "2023-11-14T07:00:15.000Z",
1167+
"finishTime": "2023-11-14T07:02:45.000Z",
1168+
"stageType": "build"
1169+
},
1170+
"relations": {
1171+
"project": "fd029361-7854-4cdd-8ace-bb033fca399c",
1172+
"build": "fd029361-7854-4cdd-8ace-bb033fca399c-123"
1173+
}
1174+
}
1175+
```
1176+
1177+
</details>
1178+
1179+
<details>
1180+
<summary> Pipeline-run entity in Port </summary>
1181+
1182+
```json showLineNumbers
1183+
{
1184+
"identifier": "fd029361-7854-4cdd-8ace-bb033fca399c-7-456",
1185+
"blueprint": "pipeline-run",
1186+
"properties": {
1187+
"state": "completed",
1188+
"result": "succeeded",
1189+
"createdDate": "2023-11-14T07:00:00.000Z",
1190+
"finishedDate": "2023-11-14T07:05:30.000Z",
1191+
"pipelineName": "health-catalist"
1192+
},
1193+
"relations": {
1194+
"project": "fd029361-7854-4cdd-8ace-bb033fca399c"
1195+
}
1196+
}
1197+
```
1198+
1199+
</details>
1200+
1201+
1202+
1203+
9811204
## Relevant Guides
9821205
For relevant guides and examples, see the [guides section](https://docs.port.io/guides?tags=AzureDevops).
9831206

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
<details>
2+
<summary>Build blueprint</summary>
3+
4+
```json showLineNumbers
5+
{
6+
"identifier": "build",
7+
"title": "Build",
8+
"icon": "AzureDevops",
9+
"schema": {
10+
"properties": {
11+
"status": {
12+
"type": "string",
13+
"title": "Status"
14+
},
15+
"result": {
16+
"type": "string",
17+
"title": "Result"
18+
},
19+
"queueTime": {
20+
"type": "string",
21+
"format": "date-time",
22+
"title": "Queue Time"
23+
},
24+
"startTime": {
25+
"type": "string",
26+
"format": "date-time",
27+
"title": "Start Time"
28+
},
29+
"finishTime": {
30+
"type": "string",
31+
"format": "date-time",
32+
"title": "Finish Time"
33+
},
34+
"definitionName": {
35+
"type": "string",
36+
"title": "Definition Name"
37+
},
38+
"requestedFor": {
39+
"type": "string",
40+
"title": "Requested For"
41+
},
42+
"link": {
43+
"type": "string",
44+
"format": "url",
45+
"title": "Link"
46+
}
47+
},
48+
"required": []
49+
},
50+
"mirrorProperties": {},
51+
"calculationProperties": {},
52+
"aggregationProperties": {},
53+
"relations": {
54+
"project": {
55+
"title": "Project",
56+
"target": "project",
57+
"required": true,
58+
"many": false
59+
}
60+
}
61+
}
62+
```
63+
64+
</details>
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
<details>
2+
3+
<summary>Integration mapping</summary>
4+
5+
```yaml showLineNumbers
6+
resources:
7+
- kind: project
8+
selector:
9+
query: 'true'
10+
defaultTeam: 'false'
11+
port:
12+
entity:
13+
mappings:
14+
identifier: .id | gsub(" "; "")
15+
blueprint: '"project"'
16+
title: .name
17+
properties:
18+
state: .state
19+
revision: .revision
20+
visibility: .visibility
21+
defaultTeam: .defaultTeam.name
22+
link: .url | gsub("_apis/projects/"; "")
23+
- kind: build
24+
selector:
25+
query: "true"
26+
port:
27+
entity:
28+
mappings:
29+
identifier: .__project.id + "-" + (.id | tostring) | gsub(" "; "")
30+
title: .buildNumber
31+
blueprint: '"build"'
32+
properties:
33+
status: .status
34+
result: .result
35+
queueTime: .queueTime
36+
startTime: .startTime
37+
finishTime: .finishTime
38+
definitionName: .definition.name
39+
requestedFor: .requestedFor.displayName
40+
link: ._links.web.href
41+
relations:
42+
project: .__project.id | gsub(" "; "")
43+
44+
```
45+
46+
</details>

0 commit comments

Comments
 (0)