Skip to main content

Anpassen von Pull Requests für Dependabot-Sicherheitsupdates

Hier erfährst du, wie du Pull Requests von Dependabot an Sicherheitsupdates anpasst, um diese auf die Sicherheitsprioritäten und Workflows deines Projekts auszurichten.

Wer kann dieses Feature verwenden?

Users with write access

Anpassen von Pull Requests für Sicherheitsupdates

Du kannst anpassen, wie Dependabot Pull Requests für Sicherheitsupdates erstellt, damit sie den Sicherheitsprioritäten und Prozessen deines Projekts am besten entsprechen. Zum Beispiel:

  • Optimiere Dependabot-Pull-Requests, um wichtige Updates zu priorisieren, indem du mehrere Updates in einem einzelnen Pull Request gruppierst.
  • Wende benutzerdefinierte Bezeichnungen an, um Dependabot-Pull-Requests in deine vorhandenen Workflows zu integrieren.

Ähnlich wie bei Versionsupdates werden Anpassungsoptionen für Sicherheitsupdates in der dependabot.yml-Datei definiert. Wenn du dependabot.yml bereits für Versionsupdates angepasst hast, können viele der von dir definierten Konfigurationsoptionen auch automatisch auf Sicherheitsupdates angewendet werden. Es gibt jedoch ein paar wichtige Punkte zu beachten:

  • Dependabot security updates werden immer durch eine Sicherheitsempfehlung ausgelöst, nicht dem schedule entsprechend, die du in dependabot.yml für Versionsupdates festgelegt hast.
  • Dependabot löst Pull Requests für Sicherheitsupdates nur für den Standardbranch aus. Wenn deine Konfiguration einen Wert für target-branch festlegt, gilt die Anpassung für dieses Paketökosystem standardmäßig nur für Versionsupdates.

Wenn du noch keine dependabot.yml Datei für dein Repository konfiguriert hast und Pull Requests für Sicherheitsupdates anpassen möchtest, musst du zuerst:

  • Checke eine dependabot.yml-Datei im .github-Verzeichnis deines Repositorys ein. Weitere Informationen finden Sie unter Konfigurieren von Versionsupdates von Dependabot.
  • Lege alle erforderlichen Schlüssel fest. Weitere Informationen findest du unter Erforderliche Schlüssel.
  • Wenn die Anpassung für ein Paketökosystem nur für Sicherheitsupdates gelten soll (und Versionsupdates ausgeschlossen werden sollen), lege den open-pull-requests-limit-Schlüssel auf 0 fest.

Überlege, was deine Anforderungen und Prioritäten für Sicherheitsupdates sind, und wende eine Kombination der unten beschriebenen Anpassungsoptionen an.

Priorisieren wichtiger Updates

Um einen ** gezielteren Reviewprozess** zu erstellen, der wichtige Updates priorisiert, verwende groups, um Sicherheitsupdates für mehrere Abhängigkeiten in einem einzigen Pull Request zu kombinieren.

Ausführliche Anleitungen findest du unter Priorisieren wichtiger Updates.

Automatisches Hinzufügen von Prüfern und zugewiesenen Personen

Um sicherzustellen, dass die Sicherheitsupdates deines Projekts umgehend vom entsprechenden Team adressiert werden, verwende reviewers und assignees, um Personen oder Teams automatisch als Prüfer oder zugewiesene Personen für Pull Requests hinzuzufügen.

Ausführliche Anleitungen findest du unter Automatisches Hinzufügen von Prüfern und zugewiesenen Personen.

Bezeichnen von Pull Requests mit benutzerdefinierten Bezeichnungen

Um bestimmte Pull Requests zu priorisieren oder sie in CI/CD-Pipelines zu integrieren, verwenden labels, um deine eigenen benutzerdefinierten Bezeichnungen auf jeden Pull Request anzuwenden.

Ausführliche Anleitungen findest du unter Bezeichnen von Pull Requests mit benutzerdefinierten Bezeichnungen.

Hinzufügen eines Präfixes zu Commitnachrichten

Für die Integration mit Automatisierungen, die Commitnachrichten verarbeiten oder Titel von Pull Requests abrufen, verwenden commit-message, um das Präfix anzugeben, das du für Commitnachrichten und Pull-Request-Titel festlegen möchtest.

Ausführliche Anleitungen findest du unter Hinzufügen eines Präfixes zu Commitnachrichten.

Zuordnen von Pull Requests zu einem Meilenstein

Um den Fortschritt bis zu einem Projektziel oder -release nachzuverfolgen, verwende milestone, um Dependabot-Pull-Requests einem Meilenstein zuzuordnen.

Ausführliche Anleitungen findest du unter Zuordnen von Pull Requests zu einem Meilenstein.

Ändern des Trennzeichens im Branchnamen des Pull Requests

Um sicherzustellen, dass deine Branchnamen den bestehenden Konventionen deines Teams entsprechen, verwenden pull-request-branch-name.separator, um das Trennzeichen anzugeben, das Dependabot für Branchnamen verwenden soll.

Ausführliche Anleitungen findest du unter Ändern des Trennzeichens im Branchnamen des Pull Requests.

Beispiel 1: Konfiguration nur für Sicherheitsupdates

In diesem Beispiel hat die Datei dependabot.yml folgende Funktion:

  • Verwendet eine private Registrierung für Updates von npm-Abhängigkeiten
  • Deaktiviert Versionsupdates für Abhängigkeiten, sodass alle Anpassungen nur für Sicherheitsupdates gelten
  • Wird angepasst, sodass Dependabot benutzerdefinierte Bezeichnungen auf die Pull Requests anwendet und Reviewer und zugewiesene Personen automatisch hinzufügt.
  • Gruppiert Sicherheitsupdates für Golang-Abhängigkeiten in einem einzelnen Pull Request
YAML
# Example configuration file that:
#  - Uses a private registry for npm updates
#  - Ignores lodash dependency
#  - Disables version-updates
#  - Applies custom labels
#  - Adds reviewers and assignees
#  - Group security updates for golang dependencies into a single pull request

version: 2
registries:
  # Define a private npm registry with the name `example`
  example:
    type: npm-registry
    url: https://example.com
    token: ${{secrets.NPM_TOKEN}}
updates:
  - package-ecosystem: "npm"
    directory: "/src/npm-project"
    schedule:
      interval: "daily"
    # For Lodash, ignore all updates
    ignore:
      - dependency-name: "lodash"
    # Disable version updates for npm dependencies
    open-pull-requests-limit: 0
    registries:
      # Ask Dependabot to use the private registry for npm
      - example
    # Raise all npm pull requests for security updates with custom labels
    labels:
      - "npm dependencies"
      - "triage-board"
    # Raise all npm pull requests for security updates with reviewers
    reviewers:
      - "my-org/team-name"
      - "octocat"
    # Raise all npm pull requests for security updates with assignees
    assignees:
      - "user-name"
  - package-ecosystem: "gomod"
    groups:
      # Group security updates for golang dependencies
      # into a single pull request
      golang:
        applies-to: security-updates
        patterns:
          - "golang.org*"

Beispiel 2: Konfiguration für Versionsupdates und Sicherheitsupdates

In diesem Beispiel hat die Datei dependabot.yml folgende Funktion:

  • Wird angepasst, sodass Dependabot Reviewer und benutzerdefinierte Bezeichnungen zu Versionsupdates und Sicherheitsupdates hinzufügt
  • Verwendet die Anpassungsoption groups, um zwei Gruppen (angular und production-dependencies) zu erstellen, um mehrere Updates in einzelnen Pull Requests zu gruppieren
  • Gibt an, dass die groups-Anpassung für angular nur für Sicherheitsupdates gilt
  • Gibt an, dass die groups-Anpassung für production-dependencies nur für Versionsupdates gilt
YAML
version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
# Raise all npm pull requests for security and version updates with custom labels
    labels:
      - "npm dependencies"
      - "triage-board"
    # Raise all npm pull requests for security and version updates with reviewers
    reviewers:
      - "my-org/team-name"
      - "octocat"
    groups:
      angular:
        # Group security updates for Angular dependencies into a single pull request
        applies-to: security-updates
        patterns:
          - "@angular*"
      production-dependencies:
        # Group version updates for dependencies of type "production" into a single pull request
        applies-to: version-updates
        dependency-type: "production"

Weiterführende Themen