diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/_github_exporter_supported_resources.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/_github_exporter_supported_resources.mdx index a88e7eb1c..d15a1914f 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/_github_exporter_supported_resources.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/_github_exporter_supported_resources.mdx @@ -1,4 +1,7 @@ - [`repository`](https://docs.github.com/en/rest/repos/repos#get-a-repository) - [`pull-request`](https://docs.github.com/en/rest/pulls/pulls#get-a-pull-request) - [`file`](/build-your-software-catalog/sync-data-to-catalog/git/github/#ingest-files-from-your-repositories) - +- [`environment`](https://docs.github.com/en/rest/deployments/environments#get-an-environment) +- [`deployment`](https://docs.github.com/en/rest/deployments/deployments#get-a-deployment) +- [`releases`](https://docs.github.com/en/rest/releases/releases#list-releases) +- [`tags`](https://docs.github.com/en/rest/repos/repos#list-repository-tags) diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-deployments-environments/_github_exporter_example_deployment_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-deployments-environments/_github_exporter_example_deployment_blueprint.mdx new file mode 100644 index 000000000..cf3e47719 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-deployments-environments/_github_exporter_example_deployment_blueprint.mdx @@ -0,0 +1,58 @@ +
+Deployment blueprint (click to expand) + +```json showLineNumbers +{ + "identifier": "githubDeployment", + "title": "Deployment", + "icon": "Deployment", + "schema": { + "properties": { + "description": { + "title": "Description", + "type": "string" + }, + "ref": { + "title": "Ref", + "type": "string" + }, + "sha": { + "title": "Sha", + "type": "string" + }, + "transientEnvironment": { + "title": "Transient Running Service", + "type": "boolean" + }, + "productionEnvironment": { + "title": "Production Running Service", + "type": "boolean" + }, + "createdAt": { + "title": "Created At", + "type": "string", + "format": "date-time" + }, + "url": { + "title": "URL", + "type": "string", + "icon": "Link", + "format": "url" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "relations": { + "deployment_environment": { + "title": "Deployment Environment", + "target": "githubRepoEnvironment", + "required": false, + "many": false + } + } +} +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-deployments-environments/_github_exporter_example_deployments_and_environments_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-deployments-environments/_github_exporter_example_deployments_and_environments_port_app_config.mdx new file mode 100644 index 000000000..9735a19ab --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-deployments-environments/_github_exporter_example_deployments_and_environments_port_app_config.mdx @@ -0,0 +1,59 @@ +
+ +Port port-app-config.yml (click to expand) + +```yaml showLineNumbers +createMissingRelatedEntities: true +resources: + - kind: repository + selector: + query: "true" # JQ boolean query. If evaluated to false - skip syncing the object. + port: + entity: + mappings: + identifier: ".name" # The Entity identifier will be the repository name. + title: ".name" + blueprint: '"githubRepository"' + properties: + readme: file://README.md + url: .html_url + defaultBranch: .default_branch + - kind: environment + selector: + query: "true" + port: + entity: + mappings: + identifier: .__repository + "-" + .name + title: .name + blueprint: '"githubRepoEnvironment"' + properties: + url: .html_url + customBranchPolicies: .deployment_branch_policy.custom_branches_policies + protectedBranches: .deployment_branch_policy.protected_branches + createdAt: .created_at + updatedAt: .updated_at + relations: + repository: .__repository + - kind: deployment + selector: + query: "true" + port: + entity: + mappings: + identifier: .__repository + "-" + (.id|tostring) + title: .task + "-" + .environment + blueprint: '"githubDeployment"' + properties: + description: .description + ref: .ref + sha: .sha + productionEnvironment: .production_environment + transientEnvironment: .transient_environment + createdAt: .created_at + url: .url + relations: + deployment_environment: .__repository + "-" + .environment +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-deployments-environments/_github_exporter_example_environment_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-deployments-environments/_github_exporter_example_environment_blueprint.mdx new file mode 100644 index 000000000..2d5835f1f --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-deployments-environments/_github_exporter_example_environment_blueprint.mdx @@ -0,0 +1,51 @@ +
+Deployment Environment blueprint (click to expand) + +```json showLineNumbers +{ + "identifier": "githubRepoEnvironment", + "title": "Deployment Environments", + "icon": "Environment", + "schema": { + "properties": { + "url": { + "icon": "DefaultProperty", + "title": "URL", + "type": "string", + "format": "url" + }, + "createdAt": { + "title": "Created At", + "type": "string", + "format": "date-time", + "icon": "DefaultProperty" + }, + "updatedAt": { + "title": "Updated At", + "type": "string", + "format": "date-time" + }, + "protectedBranches": { + "title": "Protected Branches", + "type": "boolean" + }, + "customBranchPolicies": { + "title": "Custom Branch Policies", + "type": "boolean" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "relations": { + "repository": { + "target": "githubRepository", + "required": true, + "many": false + } + } +} +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-repository-release-tag/_github_exporter_example_release_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-repository-release-tag/_github_exporter_example_release_blueprint.mdx new file mode 100644 index 000000000..3bae16bcb --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-repository-release-tag/_github_exporter_example_release_blueprint.mdx @@ -0,0 +1,48 @@ +
+Release blueprint (click to expand) + +```json showLineNumbers +{ + "identifier": "githubRelease", + "title": "Release", + "icon": "Github", + "schema": { + "properties": { + "release_creation_time": { + "icon": "DefaultProperty", + "type": "string", + "title": "Release creation time", + "format": "date-time" + }, + "author": { + "type": "string", + "title": "Author" + }, + "description": { + "type": "string", + "title": "Description" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": { + "repository": { + "title": "Repository", + "target": "githubRepository", + "required": false, + "many": false + }, + "tag": { + "title": "Tag", + "target": "githubTag", + "required": false, + "many": false + } + } +} +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-repository-release-tag/_github_exporter_example_release_tag_port_app_config.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-repository-release-tag/_github_exporter_example_release_tag_port_app_config.mdx new file mode 100644 index 000000000..130b6b502 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-repository-release-tag/_github_exporter_example_release_tag_port_app_config.mdx @@ -0,0 +1,51 @@ +
+ + Port port-app-config.yml (click to expand) + +```yaml showLineNumbers +resources: + - kind: repository + selector: + query: "true" # JQ boolean query. If evaluated to false - skip syncing the object. + port: + entity: + mappings: + identifier: ".name" # The Entity identifier will be the repository name. + title: ".name" + blueprint: '"githubRepository"' + properties: + readme: file://README.md + url: .html_url + defaultBranch: .default_branch + - kind: tag + selector: + query: 'true' + port: + entity: + mappings: + identifier: .name + title: .name + blueprint: '"githubTag"' + properties: + commit_sha: .commit.sha + relations: + repository: .__repository + - kind: release + selector: + query: 'true' + port: + entity: + mappings: + identifier: .name + title: .name + blueprint: '"githubRelease"' + properties: + author: .author.login + description: .body + release_creation_time: .created_at + relations: + tag: .tag_name + repository: .__repository +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-repository-release-tag/_github_exporter_example_tag_blueprint.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-repository-release-tag/_github_exporter_example_tag_blueprint.mdx new file mode 100644 index 000000000..6b8b8ad67 --- /dev/null +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/example-repository-release-tag/_github_exporter_example_tag_blueprint.mdx @@ -0,0 +1,33 @@ +
+Tag blueprint (click to expand) + +```json showLineNumbers +{ + "identifier": "githubTag", + "title": "Tag", + "icon": "Github", + "schema": { + "properties": { + "commit_sha": { + "icon": "DefaultProperty", + "type": "string", + "title": "Commit sha" + } + }, + "required": [] + }, + "mirrorProperties": {}, + "calculationProperties": {}, + "aggregationProperties": {}, + "relations": { + "repository": { + "title": "Repository", + "target": "githubRepository", + "required": false, + "many": false + } + } +} +``` + +
diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/examples.md b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/examples.md index c73e774a9..cd04fcb9e 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/examples.md +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/examples/examples.md @@ -7,6 +7,14 @@ import PRBlueprint from './\_github_exporter_example_pull_request_blueprint.mdx' import PortAppConfig from './\_github_exporter_example_port_app_config.mdx' import GitHubResources from '../\_github_exporter_supported_resources.mdx' +import RepoEnvironmentBlueprint from './example-deployments-environments/\_github_exporter_example_environment_blueprint.mdx' +import DeploymentBlueprint from './example-deployments-environments/\_github_exporter_example_deployment_blueprint.mdx' +import PortRepoDeploymentAndEnvironmentAppConfig from './example-deployments-environments/\_github_exporter_example_deployments_and_environments_port_app_config.mdx' + +import TagBlueprint from './example-repository-release-tag/\_github_exporter_example_tag_blueprint.mdx' +import ReleaseBlueprint from './example-repository-release-tag/\_github_exporter_example_release_blueprint.mdx' +import RepositoryTagReleaseAppConfig from './example-repository-release-tag/\_github_exporter_example_release_tag_port_app_config.mdx' + import PackageBlueprint from './example-file-kind/\_example_package_blueprint.mdx' import PackageAppConfig from './example-file-kind/\_package_json_app_config.mdx' import FileBlueprint from './example-file-kind/\_example_file_blueprint.mdx' @@ -48,6 +56,7 @@ The following example demonstrates ingestion of dependencies from a `package.jso The example will parse the `package.json` file in your repository and extract the dependencies into Port entities. For more information about ingesting files and file contents, click [here](/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/#ingest-files-from-your-repositories). + ## Map Files and Repositories The following example demonstrates mapping files to repository. @@ -57,6 +66,29 @@ The following example demonstrates mapping files to repository. +## Map repositories, deployments and environments + +The following example demonstrates how to ingest your GitHub repositories, their deployments and environments to Port, you may use the following Port blueprint definitions and `port-app-config.yml`: + + + + + + + + + +## Map repositories, repository releases and tags + +The following example demonstrates how to ingest your GitHub repositories, their releases and tags to Port, you may use the following Port blueprint definitions and `port-app-config.yml`: + + + + + + + + ## Map supported resources diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/installation/github-app.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/installation/github-app.mdx index eb34e275f..67d921182 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/installation/github-app.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/installation/github-app.mdx @@ -46,6 +46,8 @@ This page outlines the following steps: - Contents: Readonly (for reading port configuration files and repository files). - Metadata: Readonly. - Pull Request: Readonly + - Deployments: Readonly + - Environments: Readonly - **Organization Permissions:** - Webhooks: Read and Write (to allow the integration create webhook). diff --git a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/installation/installation.mdx b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/installation/installation.mdx index d1670fe58..1517d9e72 100644 --- a/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/installation/installation.mdx +++ b/docs/build-your-software-catalog/sync-data-to-catalog/git/github-ocean/installation/installation.mdx @@ -47,6 +47,8 @@ To create a personal access token see Github's [managing your personal access to - **Content**: Readonly - **Metadata**: Readonly - **Pull Requests**: Readonly + - **Deployments**: Readonly + - **Environments**: Readonly **Organization permissions:** - **Webhooks**: Read and Write (for managing webhook) diff --git a/src/components/ocean-saas-specifics/live-events.jsx b/src/components/ocean-saas-specifics/live-events.jsx index 4a2a962af..11b0d386a 100644 --- a/src/components/ocean-saas-specifics/live-events.jsx +++ b/src/components/ocean-saas-specifics/live-events.jsx @@ -210,7 +210,12 @@ export const liveEvents = { \n - unassigned \ \n - review_request_removed \ \n - closed \ - \n\n **push** ", + \n\n **push** \ + \n\n **deployment** \ + \n\n **deployment_status** \ + \n\n **release:** \ + \n - created \ + \n - edited", }; export const OceanSaasLiveEventsTriggersOAuth = ({ id, isOAuth = false }) => {