Skip to content

Commit

Permalink
Merge branch 'main' into PORT-11592-snyk-integration-guide-refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
kodjomiles authored Nov 28, 2024
2 parents 82f2508 + 29efe34 commit 82b5cdb
Show file tree
Hide file tree
Showing 11 changed files with 404 additions and 123 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
<summary> Ocean integration configuration </summary>

```yaml showLineNumbers
deleteDependentEntities: true
createMissingRelatedEntities: true
enableMergeEntity: true
resources:
- kind: group-with-members # replace with `project-with-members` to retrieve members from projects
selector:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
<summary> Ocean integration configuration </summary>

```yaml showLineNumbers
deleteDependentEntities: true
createMissingRelatedEntities: true
enableMergeEntity: true
resources:
- kind: project-with-members
selector:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,11 @@ In the following example you will ingest your GitLab members to Port, you may us

:::

:::caution GitLab free plan limitation
Primary email addresses are not available for GitLab "Free plan" users.
:::


<MemberBlueprint/>
<MemberPortAppConfig/>

Expand Down Expand Up @@ -278,15 +283,18 @@ In the following example you will ingest your GitLab groups and their members to

In the following example you will ingest your GitLab projects and their members to Port, you may use the following Port blueprint definitions and integration configuration:

:::caution Limitation
Real time webhook events are not supported for the `project-with-members` kind.
:::

<ProjectWithMemberRelationBlueprint/>
<ProjectMemberPortAppConfig/>

:::tip Learn more

- Refer to the [setup](gitlab.md#setup) section to learn more about the integration configuration setup process.
- We leverage [JQ JSON processor](https://stedolan.github.io/jq/manual/) to map and transform GitLab objects to Port entities.
- Click [Here](https://docs.gitlab.com/ee/api/groups.html#list-a-groups-projects) for the GitLab project object structure.
- Click [Here](https://docs.gitlab.com/ee/api/issues.html#list-project-issues) for the GitLab issue object structure.
- Click [Here](https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project) for the GitLab project or group member object structure.

:::

Expand All @@ -298,4 +306,4 @@ The above examples shows a specific use cases, but Port's GitLab integration sup

When adding the ingestion of other resources, remember to add an entry to the `resources` array and change the value provided to the `kind` key accordingly.

After creating the blueprints and saving the integration configuration, you will see new entities in Port matching your projects alongside their issues.
After creating the blueprints and saving the integration configuration, you will see new entities in Port matching your projects alongside their issues.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ It is possible to reference any field that appears in the API responses linked b
- [`pipeline`](https://docs.gitlab.com/ee/api/pipelines.html#get-a-single-pipeline)
- [`group`](https://docs.gitlab.com/ee/api/groups.html#details-of-a-group)
- [`file`](https://docs.gitlab.com/ee/api/repository_files.html#get-file-from-repository)
- [`members`](https://docs.gitlab.com/ee/api/members.html#list-all-members-of-a-group-or-project)


## Setup

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,9 @@ Choose one of the following installation methods:

<TabItem value="real-time-self-hosted" label="Real-time (self-hosted)">

Using this installation option means that the integration will be able to update Port in real time using webhooks.


<h2> Prerequisites </h2>

<Prerequisites />
Expand All @@ -68,7 +71,7 @@ For details about the available parameters for the installation, see the table b

<TabItem value="helm" label="Helm" default>

<OceanRealtimeInstallation integration="pagerduty" />
<OceanRealtimeInstallation integration="PagerDuty" />

<PortApiRegionTip/>

Expand Down Expand Up @@ -183,13 +186,14 @@ This table summarizes the available parameters for the installation.
</TabItem>

<TabItem value="one-time-ci" label="Scheduled (CI)">
<Tabs groupId="cicd-method" queryString="cicd-method">
<TabItem value="github" label="GitHub">
This workflow will run the PagerDuty integration once and then exit, this is useful for **scheduled** ingestion of data.

:::warning
If you want the integration to update Port in real time using webhooks you should use the [Real Time & Always On](?installation-methods=real-time-always-on#installation) installation option
This workflow/pipeline will run the PagerDuty integration once and then exit, this is useful for **scheduled** ingestion of data.

:::warning Real-time updates
If you want the integration to update Port in real time using webhooks you should use the [Real Time & Always On](?installation-methods=real-time-always-on#installation) installation option.
:::
<Tabs groupId="cicd-method" queryString="cicd-method">
<TabItem value="github" label="GitHub">

Make sure to configure the following [Github Secrets](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions):

Expand Down Expand Up @@ -227,16 +231,11 @@ jobs:
</TabItem>
<TabItem value="jenkins" label="Jenkins">

This pipeline will run the PagerDuty integration once and then exit, this is useful for **scheduled** ingestion of data.

:::tip
Your Jenkins agent should be able to run docker commands.
:::

:::warning
If you want the integration to update Port in real time using webhooks you should use
the [Real Time & Always On](?installation-methods=real-time-always-on#installation) installation option.
:::

Make sure to configure the following [Jenkins Credentials](https://www.jenkins.io/doc/book/using/using-credentials/)
of `Secret Text` type:
Expand Down Expand Up @@ -290,7 +289,7 @@ pipeline {
</TabItem>

<TabItem value="azure" label="Azure Devops">
<AzurePremise name="PagerDuty" />
<AzurePremise />

<DockerParameters />

Expand Down Expand Up @@ -335,11 +334,6 @@ steps:

</TabItem>
<TabItem value="gitlab" label="GitLab">
This workflow will run the PagerDuty integration once and then exit, this is useful for **scheduled** ingestion of data.

:::warning Realtime updates in Port
If you want the integration to update Port in real time using webhooks you should use the [Real Time & Always On](?installation-methods=real-time-always-on#installation) installation option.
:::

Make sure to [configure the following GitLab variables](https://docs.gitlab.com/ee/ci/variables/#for-a-project):

Expand Down Expand Up @@ -772,7 +766,7 @@ To enrich your PagerDuty incident entities with analytics data, follow the steps

To view and test the integration's mapping against examples of the third-party API responses, use the jq playground in your [data sources page](https://app.getport.io/settings/data-sources). Find the integration in the list of data sources and click on it to open the playground.

Additional examples of blueprints and the relevant integration configurations can be found on the pagerduty [examples page](example.md)
Additional examples of blueprints and the relevant integration configurations can be found on the pagerduty [examples page](examples.md)


## Let's Test It
Expand Down
Loading

0 comments on commit 82b5cdb

Please sign in to comment.