Skip to main content

Anpassen von Abhängigkeitsupdates

Du kannst anpassen, wie Dependabot deine Abhängigkeiten verwaltet.

Who can use this feature

People with write permissions to a repository can configure Dependabot for the repository.

Informationen zum Anpassen von Abhängigkeitsupdates

Nachdem du Versionsupdates aktiviert hast, kannst du anpassen, wie Dependabot deine Abhängigkeiten verwaltet, indem du der dependabot.yml-Datei weitere Optionen hinzufügst. Beispielsweise ist Folgendes möglich:

  • Gib an, an welchem Wochentag Pull Requests für Versionsupdates geöffnet werden sollen: schedule.day
  • Lege Prüfer, zugewiesene Personen und Bezeichnungen für jeden Paket-Manager fest: reviewers, assignees und labels
  • Definiere eine Versionsverwaltungsstrategie für Änderungen an jeder Manifestdatei: versioning-strategy
  • Ändere die Standardeinstellung 5 für die maximale Anzahl geöffneter Pull Requests für Versionsupdates: open-pull-requests-limit
  • Öffne Pull Requests für Versionsupdates für einen bestimmten Branch anstelle des Standardbranchs: target-branch

Weitere Informationen zu den Konfigurationsoptionen findest du unter Konfigurationsoptionen für die Datei „dependabot.yml“.

Wenn du die Datei dependabot.yml in deinem Repository aktualisierst, führt Dependabot eine sofortige Überprüfung mit der neuen Konfiguration aus. Innerhalb von Minuten wird eine aktualisierte Liste der Abhängigkeiten auf der Registerkarte Dependabot angezeigt. Dies kann länger dauern, wenn das Repository viele Abhängigkeiten aufweist. Möglicherweise werden auch neue Pull Requests für Versionsupdates angezeigt. Weitere Informationen findest du unter Auflisten für Versionsupdates konfigurierter Abhängigkeiten.

Auswirkungen von Konfigurationsänderungen auf Sicherheitsupdates

Wenn du die Datei dependabot.yml anpasst, bemerkst du möglicherweise einige Änderungen der Pull Requests, die für Sicherheitsupdates ausgelöst werden. Diese Pull Requests werden immer durch eine Sicherheitsempfehlung für eine Abhängigkeit ausgelöst, anstatt durch den Dependabot-Zeitplan. Sie erben jedoch relevante Konfigurationseinstellungen aus der Datei dependabot.yml, sofern du keinen anderen Zielbranch für Versionsupdates angibst.

Ein Beispiel findest du unten unter Festlegen benutzerdefinierter Bezeichnungen.

Ändern von Zeitplänen

Wenn du einen daily Updatezeitplan festlegst, sucht Dependabot standardmäßig um 05:00 Uhr UTC nach neuen Versionen. Mit schedule.time kannst du eine alternative Tageszeit für die Prüfung auf Updates (Format: hh:mm) angeben.

Die nachstehende Beispieldatei dependabot.yml erweitert die npm-Konfiguration, um anzugeben, wann Dependabot nach Versionsupdates für Abhängigkeiten suchen sollte.

# dependabot.yml file with
# customized schedule for version updates

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    # Check the npm registry for updates at 2am UTC
    schedule:
      interval: "daily"
      time: "02:00"

Festlegen von Prüfern und zugewiesenen Personen

Standardmäßig löst Dependabot Pull Requests ohne Prüfer oder zugewiesene Personen aus.

Mit reviewers und assignees kannst du Prüfer und zugewiesene Personen für alle Pull Requests angeben, die für einen Paket-Manager ausgelöst werden. Wenn du ein Team angibst, musst du den vollständigen Teamnamen verwenden, als ob du @mentioning auf das Team (einschließlich der Organisation) anwenden würdest.

Die folgende Beispieldatei dependabot.yml ändert die npm-Konfiguration, sodass alle Pull Requests, die mit Versions- und Sicherheitsupdates für npm geöffnet werden, zwei Prüfer und eine zugewiesene Person haben.

# dependabot.yml file with
# reviews and an assignee for all npm pull requests

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise all npm pull requests with reviewers
    reviewers:
      - "my-org/team-name"
      - "octocat"
    # Raise all npm pull requests with an assignee
    assignees:
      - "user-name"

Festlegen benutzerdefinierter Bezeichnungen

Standardmäßig löst Dependabot alle Pull Requests mit der Bezeichnung dependencies aus. Wenn mehrere Paket-Manager definiert sind, enthält Dependabot eine zusätzliche Bezeichnung für jeden Pull Request. Dies gibt an, welche Sprache oder welches Ökosystem die Pull Request aktualisiert, z. B. java für Gradle-Updates und submodules für Git-Untermodul-Updates. Dependabot erstellt diese Standardbezeichnungen automatisch, sofern in Ihrem Repository erforderlich.

Mit labels kannst du die Standardbezeichnungen außer Kraft setzen und alternative Bezeichnungen für alle Pull Requests angeben, die für einen Paket-Manager ausgelöst werden. Du kannst keine neuen Bezeichnungen in der Datei dependabot.yml erstellen, sodass die alternativen Bezeichnungen bereits im Repository vorhanden sein müssen.

Die folgende Beispieldatei dependabot.yml ändert die npm-Konfiguration, sodass alle Pull Requests, die mit Versions- und Sicherheitsupdates für npm geöffnet werden, benutzerdefinierte Bezeichnungen haben. Außerdem wird die Docker-Konfiguration geändert, um nach Versionsupdates für einen benutzerdefinierten Branch zu suchen und Pull Requests mit benutzerdefinierten Bezeichnungen für diesen benutzerdefinierten Branch auszulösen. Die Docker-Änderungen wirken sich nicht auf Sicherheitsupdate-Pull Requests aus, da Sicherheitsupdates immer am Standardbranch vorgenommen werden.

Hinweis: Der neue target-branch muss ein Dockerfile enthalten, das aktualisiert werden soll, andernfalls hat diese Änderung Auswirkungen auf das Deaktivieren von Versionsupdates für Docker.

# dependabot.yml file with
# customized npm configuration

version: 2
updates:
  # Keep npm dependencies up to date
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise all npm pull requests with custom labels
    labels:
      - "npm dependencies"
      - "triage-board"

    # Keep Docker dependencies up to date
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
    # Raise pull requests for Docker version updates
    # against the "develop" branch. The Docker configuration
    # no longer affects security update pull requests.
    target-branch: "develop"
    # Use custom labels on pull requests for Docker version updates
    labels:
      - "Docker dependencies"
      - "triage-board"

Weitere Beispiele

Weitere Beispiele findest du unter Konfigurationsoptionen für die Datei „dependabot.yml“.