Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

dlang-bot for automated bugzilla, github, and trello references

License

NotificationsYou must be signed in to change notification settings

dlang/dlang-bot

Repository files navigation

Codecov

dlang-bot

Features

For example let's say you fixedBugzilla Issue 16582and make a PR for on GitHub.If one of your commits mentions the issue, e.g. like this Git commit message:

fix Bugzilla Issue 16582 - ParameterDefaults fails w/ scope parameter

The Dlang-Bot will do all the hard work of linking and referencingbetween Bugzilla, GitHub and Trello do for you.

GitHub

It would comment on GitHub with list of all mentioned issues and link them to Bugzilla:

dlang-bot-github

The first column of the table is the current status of the referenced issue.A means that the issue is only mentioned (i.e. the commit message doesn't contain "Fix")and the Bugzilla issue won't be auto-closed nor listed in the changelog as fixed:

image

Trello

For theTrello board it will also provide areference:

dlang-bot-trello

And once a PR gets merged, the bot moves the linked Trello card to "Testing / Review".

Bugzilla

Once a PR has been merged (i.e. the commits got pushed to master or stable),GitHub's Bugzilla integration will automatically comment to Bugzilla with a regarding commit:

dlang-bot-bugzilla

It will also automatically close the referenced issues iffix orfixes (case-insensitive)appears before the issue reference.

Using this syntax is also very important because for the changelog generation, thegit history will be used. Thusonly if the Dlang-Bot has detected an issueand commented on your PR it can become part of the changelog.

In doubt, you can use e.g.Regex101 to validate your commit message.

Referencing multiple issues

It's possible to reference multiple issues, e.g. with "Fixes issues 17494, 17505, 17506" the Dlang-Bot would detect:

image

Accepted optional separators are: commas (,), the wordand, as well as the plus sign (+),and any amount of whitespace. Dlang-Bot will aggregate all mentioned issues over multiple commits.

Nerdy details

  • one can mention multiple issues in one commit and/or multiple commits
  • the exact RegEx is:
(?:^fix(?:es)?(?:\s+(?:issues?|bugs?))?\s+(#?\d+(?:[\s,\+&and]+#?\d+)*))|(?:(?:issues?|bugs?)\s+(#?\d+(?:[\s,\+&and]+#?\d+)*))

(the GitHub Bugzilla integration and the Dlang-Bot use the same RegEx to parsegit commit messages)

At the moment the Dlang-Bot supports merging via specialauto-merge andauto-merge-squash labels. The later will perform a squashed merge of all commitsin the PR into a single one.

A reviewer can toggle a PR for "auto-merge" by simply adding theauto-merge label(auto-merge-squash respectively).

Nerdy details

  • this relies on the "restricted branches" feature of GitHub (the Dlang-Bot willsend the attempt to merge to the GitHub API)
  • once a new commit event occurs (push, synchronization) the Dlang-Bot willautomatically remove set all auto-merge labels from the PR
  • for status events the GitHub API doesn't allow to get an information about the
  • the Dlang-Bot will then try to restart the PR on every new event.
  • concerning PR of the commit (thus all potential auto-merge PRs are checked)

Note: at the moment the Dlang-Bot doesn't storeany authentication token, soit can't perform actions on behalf of others.

The Dlang-Bot will try to detect common mistakes and warn the contributor.Currently implemented:

  • Regression fixes doesn't targetstable

image

The Dlang-Bot goes over all pull requests every day and will label PRs:

Currently this feature is in alpha-mode and only enabled for Phobos.

Dlang-Bot detects a pre-defined set of labels in the[] part of PR title and will label the PRs accordingly.Multiple labels are supported.

image

image

Currently the hard-coded set of detected labels is:

  • WIP
  • trivial

For all repos in thedlang organization Dlang-Bot provides contributing advice on a new PR:

image

If a PR containsBugzilla references, the Dlang-Bot will automatically add a respective label:

image

Of course, other issue types can be detected as well:

image

@dlang-bot responds to GitHub events sent to its webhook.To use the bot in your project, configure a webhook with the following settings:

  • Payload URL:https://bot.dlang.io/github_hook (or your own instance)
  • Content type:application/json
  • Select at least these events (or all):
    • Label
    • Pull request
    • Pull request review
    • Pull request comment
    • Status

Forauto-merge:

  • a respective label needs to be added (at thedlang repositories#d3d3d3 is used as a label color)
  • @dlang-bot (or your own bot) needs to have write access to the GitHub repo (GitHub's protected branches are ideal for this)

For example,dlang/phobos is configured as follows:

image

Run the testsuite:

dub test -- --single --debug --trace --debug

Missing a feature?

Is there a feature that you would love the Dlang-Bot to do? Then don't hesistate to let us know andopen a new issue.

About

dlang-bot for automated bugzilla, github, and trello references

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

    Packages

    No packages published

    Contributors13

    Languages


    [8]ページ先頭

    ©2009-2025 Movatter.jp