Platform.sh User Documentation

External Integrations

Upsun Beta

Access our newest offering - Upsun!

Get your free trial by clicking the link below.

Get your Upsun free trial

Platform.sh can be integrated with external services.

Platform.sh supports native integrations with multiple services, first and foremost Git hosting services such as GitHub, GitLab, or Bitbucket. You can continue to use those tools for your development workflow, and have Platform.sh environments created automatically for your pull requests and branches.

You can also add native integrations with performance monitoring tools. Platform.sh recommends Blackfire, which is part of the standard Platform.sh Observability Suite. Note that only a project administrator (someone with admin level access to the project) can add or remove integrations.

See User administration for more details.

List active integrations Anchor to this heading

With the CLI, you can list all your active integrations using the following command:

platform integrations

You get output similar to the following:

+---------------+-------------+-------------------------------------------------------------------------------------+
| ID            | Type        | Summary                                                                             |
+---------------+-------------+-------------------------------------------------------------------------------------+
| abcdefghijklm | github      | Repository: platformsh/platformsh-docs                                              |
|               |             | Hook URL:                                                                           |
|               |             | https://eu-3.platform.sh/api/projects/123abcdefgh3i/integrations/abcdefghijklm/hook |
+---------------+-------------+-------------------------------------------------------------------------------------+

Validate integrations Anchor to this heading

Once your integration has been configured, you can check that it’s working as expected. To do so, follow these steps:

  1. Run the platform integration:validate command.

  2. When prompted, select the integration you want to validate:

    Enter a number to choose an integration:
      [0] 5aut2djgt6kdd (health.slack)
      [1] a6535j9qp4sl8 (github)
     > 1

    You get output similar to:

    Validating the integration a6535j9qp4sl8 (type: github)...
    The integration is valid.

Debug integrations Anchor to this heading

When integrations run, they trigger “activities.” Activities are actions that happen on Platform.sh, and they get logged.

Usually these are triggered nearly instantaneously on the webhook endpoint. These activities may be delayed due to the external services having latency.

Those logs are available via the CLI. In most cases they aren’t necessary but may be useful for debugging an integration if it is misbehaving for some reason.

There are a handful of CLI commands available, all under the integrations section.

List all activities Anchor to this heading

To list all the updates triggered by activities on a given project and integration, follow these steps:

  1. Run the platform integration:activities command.

  2. When prompted, select an integration.

    Enter a number to choose an integration:
      [0] dxr45hfldrkoe (webhook)
      [1] n2ukd4p7qofg4 (health.email)
      [2] c4opi5tjv3yfd (github)
    > 2

    You get output similar to the following:

    Activities on the project Platform.sh | Docs (6b2eocegfkwwg), integration c4opi5tjv3yfd (github):
    +---------------+---------------------------+-------------------------------------------------------------+----------+---------+
    | ID            | Created                   | Description                                                 | State    | Result  |
    +---------------+---------------------------+-------------------------------------------------------------+----------+---------+
    | 6456zmdtoykxa | 2020-04-14T16:38:09-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    | wcwp34yjvydgk | 2020-04-14T16:35:22-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    | w2bp3oa5xbfoe | 2020-04-14T16:33:13-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    | uqqvdyxmcdmsa | 2020-04-14T16:31:45-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    | 7x3wefhh4fwqc | 2020-04-14T16:30:36-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    | a46aah3ga65gc | 2020-04-14T16:29:46-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    | r7erid2jlixgi | 2020-04-14T16:24:50-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    | ieufk3vvde5oc | 2020-04-14T16:24:49-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    | bc7ghg36ty4ea | 2020-04-14T15:30:17-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    | 4qojtv7a6rk2w | 2020-04-14T15:27:26-05:00 | Fetching from https://github.com/platformsh/platformsh-docs | complete | success |
    +---------------+---------------------------+-------------------------------------------------------------+----------+---------+

You may also specify an integration to display in the command line directly: platform integration:activities c4opi5tjv3yfd.

The ID is an internal identifier for the activity event. The Description field is an arbitrary string of text produced by the integration code. The State and Result fields indicate if the activity completed successfully, failed for some reason, or is currently in progress.

See the --help output of the command for more options.

Show detailed information on an activity Anchor to this heading

To show detailed information on a specific activity, run the following command:

platform integration:activity:log INTEGRATION_ID ACTIVITY_ID -t

The -t option specifies that timestamps must be included in the display of the results.

You get output similar to the following:

Integration ID: ceopz5tgj3yfc
Activity ID: 6456zmdtoykxa
Type: integration.github.fetch
Description: Fetching from https://github.com/platformsh/platformsh-docs
Created: 2020-04-15T08:44:07-05:00
State: complete
Log:
[2020-04-15T13:44:17-05:00] Waiting for other activities to complete
[2020-04-15T13:46:07-05:00] Fetching from GitHub repository platformsh/platformsh-docs
[2020-04-15T13:46:09-05:00]   No changes since last fetch
[2020-04-15T13:46:09-05:00]
[2020-04-15T13:46:09-05:00] Synchronizing branches
[2020-04-15T13:46:09-05:00]
[2020-04-15T13:46:09-05:00] Synchronizing pull requests
[2020-04-15T13:46:59-05:00]
[2020-04-15T13:46:59-05:00] W: No changes found, scheduling a retry..

That shows the full output of the activity, including timestamps. That can be especially helpful if trying to determine why an integration isn’t behaving as expected.

See the --help output of the command for more options.

If you omit the activity ID (the second random-seeming string), the command will default to the most recent activity recorded.

Is this page helpful?