Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
/plugins/Ivanti-ITSM/ @shawn149
/plugins/MetOffice/ @blackgrouse
/plugins/Notion/ @clarkd
/plugins/OctopusDeploy/ @clarkd
/plugins/Phare/ @vinbab
/plugins/Postcoder/ @richbenwell
/plugins/RDAP/ @richbenwell
Expand Down
25 changes: 25 additions & 0 deletions plugins/OctopusDeploy/v1/configValidation.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"steps": [
{
"displayName": "Authenticate",
"dataStream": {
"name": "currentUser"
},
"required": true,
"error": "Could not connect to Octopus Deploy. Check the server URL is reachable from SquaredUp and the API key is valid and has not expired.",
"success": "Connected to Octopus Deploy successfully."
},
{
"displayName": "Check data access",
"dataStream": {
"name": "spaces",
"config": {
"errorOnEmptyResults": true
}
},
"required": false,
"error": "Connected, but no spaces were returned. Check the user the API key belongs to is a member of a team with access to at least one space.",
"success": "Spaces are accessible."
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"displayName": "Deployment Target belongs to Environment",
"source": {
"types": "Deployment Target"
},
"target": {
"types": "Environment"
},
"conditions": [
{
"sourceProperty": "environmentIds",
"operator": "equals",
"targetProperty": "rawId"
}
],
"labels": {
"forward": "in environment",
"reverse": "contains"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"displayName": "Deployment Target serves Tenant",
"source": {
"types": "Deployment Target"
},
"target": {
"types": "Tenant"
},
"conditions": [
{
"sourceProperty": "tenantIds",
"operator": "equals",
"targetProperty": "rawId"
}
],
"labels": {
"forward": "serves tenant",
"reverse": "served by"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"displayName": "Runbook belongs to Project",
"source": {
"types": "Runbook"
},
"target": {
"types": "Project"
},
"conditions": [
{
"sourceProperty": "projectId",
"operator": "equals",
"targetProperty": "rawId"
}
],
"labels": {
"forward": "belongs to",
"reverse": "has runbook"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"displayName": "Worker belongs to Worker Pool",
"source": {
"types": "Worker"
},
"target": {
"types": "Worker Pool"
},
"conditions": [
{
"sourceProperty": "workerPoolIds",
"operator": "equals",
"targetProperty": "rawId"
}
],
"labels": {
"forward": "member of",
"reverse": "has member"
}
}
58 changes: 58 additions & 0 deletions plugins/OctopusDeploy/v1/custom_types.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
[
{
"name": "Space",
"sourceType": "Space",
"icon": "cubes",
"singular": "Space",
"plural": "Spaces"
},
{
"name": "Project",
"sourceType": "Project",
"icon": "diagram-project",
"singular": "Project",
"plural": "Projects"
},
{
"name": "Environment",
"sourceType": "Environment",
"icon": "layer-group",
"singular": "Environment",
"plural": "Environments"
},
{
"name": "Deployment Target",
"sourceType": "Deployment Target",
"icon": "server",
"singular": "Deployment Target",
"plural": "Deployment Targets"
},
{
"name": "Tenant",
"sourceType": "Tenant",
"icon": "users",
"singular": "Tenant",
"plural": "Tenants"
},
{
"name": "Runbook",
"sourceType": "Runbook",
"icon": "book",
"singular": "Runbook",
"plural": "Runbooks"
},
{
"name": "Worker Pool",
"sourceType": "Worker Pool",
"icon": "people-group",
"singular": "Worker Pool",
"plural": "Worker Pools"
},
{
"name": "Worker",
"sourceType": "Worker",
"icon": "gears",
"singular": "Worker",
"plural": "Workers"
}
]
176 changes: 176 additions & 0 deletions plugins/OctopusDeploy/v1/dataStreams/auditEvents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
{
"name": "auditEvents",
"displayName": "Audit Events",
"description": "Octopus audit log of who changed or did what and when, such as deployments, configuration changes and logins",
"tags": [
"Audit"
],
"baseDataSourceName": "httpRequestScopedSingle",
"config": {
"httpMethod": "get",
"endpointPath": "api/{{ object.rawId.startsWith('Spaces-') ? object.rawId : object.spaceId }}/events",
"getArgs": [
{
"key": "from",
"value": "{{ timeframe.start }}"
},
{
"key": "to",
"value": "{{ timeframe.end }}"
},
{
"key": "regarding",
"value": "{{ object.rawId.startsWith('Spaces-') ? null : object.rawId }}"
},
{
"key": "eventCategories",
"value": "{{ (typeof category !== 'undefined' && category && category.length) ? [].concat(category).join(',') : null }}"
}
],
"paging": {
"mode": "offset",
"pageSize": {
"realm": "queryArg",
"path": "take",
"value": "200"
},
"offset": {
"mode": "row",
"base": 0,
"rowCountIn": {
"realm": "payloadArraySize",
"path": "Items"
}
},
"out": {
"realm": "queryArg",
"path": "skip"
}
},
"postRequestScript": "auditEvents.js"
},
"matches": {
"sourceType": {
"type": "oneOf",
"values": [
"Space",
"Project",
"Environment",
"Tenant",
"Runbook",
"Deployment Target",
"Worker"
]
}
},
"ui": [
{
"type": "choiceChips",
"name": "category",
"label": "Category(s)",
"isMulti": true,
"options": [
{ "value": "DeploymentQueued", "label": "Deployment queued" },
{ "value": "DeploymentStarted", "label": "Deployment started" },
{ "value": "DeploymentSucceeded", "label": "Deployment succeeded" },
{ "value": "DeploymentFailed", "label": "Deployment failed" },
{ "value": "Created", "label": "Created" },
{ "value": "Modified", "label": "Modified" },
{ "value": "Deleted", "label": "Deleted" },
{ "value": "LoginSucceeded", "label": "Login succeeded" },
{ "value": "LoginFailed", "label": "Login failed" }
]
}
],
"metadata": [
{
"name": "Id",
"displayName": "ID",
"shape": "string",
"role": "id",
"visible": false
},
{
"name": "Message",
"displayName": "Message",
"shape": "string",
"role": "label"
},
{
"name": "Category",
"displayName": "Category",
"shape": "string"
},
{
"name": "Username",
"displayName": "User",
"shape": "string"
},
{
"name": "IsService",
"displayName": "Service Account",
"shape": "boolean"
},
{
"name": "Occurred",
"displayName": "Occurred",
"shape": "date",
"role": "timestamp"
},
{
"name": "IpAddress",
"displayName": "IP Address",
"shape": "string"
},
{
"name": "ProjectId",
"displayName": "Project ID",
"shape": "string",
"visible": false
},
{
"name": "EnvironmentId",
"displayName": "Environment ID",
"shape": "string",
"visible": false
},
{
"name": "SpaceId",
"displayName": "Space ID",
"shape": "string",
"visible": false
},
{
"name": "projectName",
"displayName": "Project",
"sourceId": "ProjectId",
"sourceType": "Project",
"objectPropertyPath": "name",
"valueExpression": "{{ object && object.name ? object.name : '' }}"
},
{
"name": "environmentName",
"displayName": "Environment",
"sourceId": "EnvironmentId",
"sourceType": "Environment",
"objectPropertyPath": "name",
"valueExpression": "{{ object && object.name ? object.name : '' }}"
},
{
"sourceId": "ProjectId",
"sourceType": "Project",
"name": "projectName"
},
{
"sourceId": "EnvironmentId",
"sourceType": "Environment",
"name": "environmentName"
}
],
"timeframes": [
"last1hour",
"last12hours",
"last24hours",
"last7days"
]
}
Loading
Loading