Skip to main content

Zope/Plone Sentry integration

Project description

Develop Master

Sentry integration for Plone and Zope

Main features

It comes with plenty of configuration options and features like:

  1. Easy to install/uninstall via Site Setup > Add-ons;

  2. Easily setup Sentry integration via environment variables;

  3. Report Python/Javascript errors to Sentry.

Install

Environment variables

In order to start sending error logs to sentry you’ll need to provide the following environment variables to your Zope/Plone instance:

  • SENTRY_DSN - Send python tracebacks to sentry.io or your custom Sentry installation (e.g.: SENTRY_DSN=https://<public_key>:<secret_key>@sentry.example.com)

  • SENTRY_SITE, SERVER_NAME - Add site tag to Sentry logs (e.g.: SENTRY_SITE=foo.example.com)

  • SENTRY_RELEASE, EEA_KGS_VERSION - Add release tag to Sentry logs (e.g.: SENTRY_RELEASE=5.1.5-34)

  • SENTRY_ENVIRONMENT - Add environment tag to Sentry logs. Leave empty to automatically get it from rancher-metadata (e.g.: SENTRY_ENVIRONMENT=staging)

Buildout installation

Source code

Eggs repository

Plone versions

It has been developed and tested for Plone 4 and 5. See buildouts section above.

How to contribute

See the contribution guidelines (CONTRIBUTING.md).

Funding

EEA - European Environment Agency (EU)

Secret Scanning

This repository uses the Betterleaks GitHub Action to scan the current repository content on every push and pull request. The scan uses the rules in .gitleaks.toml and uploads a betterleaks-report artifact when a finding is detected.

If the optional SMTP secrets are configured, failed scans also send an email to the last commit committer. The workflow expects these repository or organization secrets:

  • SMTP_URL

  • SMTP_PORT (optional, defaults to 25)

  • SMTP_EMAIL

  • SMTP_PASSWORD (optional if the SMTP server does not require authentication)

Port 465 is sent with direct TLS; other ports use the default SMTP handshake. The email includes a short finding summary from the redacted Betterleaks report, including the redacted matched line from each finding.

There are three common outcomes:

  1. Everything is OK. The Betterleaks / Scan for secrets check is green and no action is needed. Regular references to runtime values are OK, for example:

    token_from_cookie = request.cookies.get("auth_token")
  2. A real secret was found. The check is red and the workflow log asks you to download the betterleaks-report artifact. Open the artifact from the GitHub Actions run and check the reported file, line and rule. Remove the committed value, move it to the proper secret store, and rotate it if it was exposed. A report entry looks like this:

    {
      "RuleID": "secret-literal-assignment",
      "File": "src/config.py",
      "StartLine": 12,
      "Secret": "[REDACTED]"
    }
  3. The finding is a false positive. Keep the value only if it is clearly not sensitive, such as a test fixture, placeholder, or public example. Add betterleaks:allow on the same line and include a short explanation in the pull request:

    test_password = "admin"  #betterleaks:allow

Do not add betterleaks:allow to real credentials.

Changelog

3.2 - (2026-07-13)

  • Change: fix: SonarQube report - refs #305404 [avoinea]

3.1 - (2025-11-18)

  • Change: Replace Python linting to ruff [mihaidobrescu1111 = refs #286821]

  • Change: Add plone6 tests [mihaidobrescu1111 = refs #293593]

3.0 - (2023-05-05)

  • Refactor: Drop eea.cache dependency in favor of plone.memoize [avoinea]

2.4 - (2022-01-13)

  • Bug fix: AttributeError PARENTS [avoinea]

2.3 - (2021-10-11)

  • Bug fix: KeyError HTTP_USER_AGENT [avoinea]

  • Bug fix: FilesystemResourceDirectory object has no attribute getId [avoinea]

2.2 - (2021-10-03)

  • Fix python version in setup.py [avoinea]

2.1 - (2021-09-28)

  • add upgrade step for the new javascript [valipod]

2.0 - (2021-09-28)

  • Change: major version bump for the new sentry SDK

1.5 - (2021-09-24)

  • Change: Migrate to the new sentry SDK [valipod]

1.4 - (2019-12-02)

  • Bug fix: Fix JS integration [avoinea refs #110157]

1.3 - (2019-11-15)

  • Feature: Python3 support [alecghica, iulianpetcheshi, avoinea refs #110155]

1.2 - (2019-07-30)

  • maintain backwards compatibility with non-plone systems when checking for anonymous [valipod refs #102005]

1.0 - (2019-06-01)

  • Upgrade step: Within “Plone > Site setup > Add-ons” install/reinstall eea.sentry [avoinea refs #104872]

  • Feature: Add JS integration [avoinea refs #104872]

0.2 - (2019-05-16)

  • Feature: Setup Sentry logger via environment variables [avoinea refs #104872]

0.1 - (2019-05-16)

  • Feature: Add custom raven processors to cleanup Zope REQUEST [avoinea refs #104872]

  • Upgrade step: Within “Plone > Site setup > Add-ons” install eea.sentry [avoinea refs #104872]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eea_sentry-3.2.tar.gz (64.1 kB view details)

Uploaded Source

File details

Details for the file eea_sentry-3.2.tar.gz.

File metadata

  • Download URL: eea_sentry-3.2.tar.gz
  • Upload date:
  • Size: 64.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for eea_sentry-3.2.tar.gz
Algorithm Hash digest
SHA256 80e4c1d4383413daef1552500a13dde2560704b6fe0e05f0e804f88be68a4ebe
MD5 007684032dab1aad43e11ff268a527eb
BLAKE2b-256 866b2ba575a86a54d24d51794875912ddfa05defa07c7a32635da50be3e819d0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page