67 lines
3.1 KiB
Markdown
67 lines
3.1 KiB
Markdown
# Mastering @rustbot
|
|
|
|
`@rustbot` (also known as `triagebot`) is a utility robot that is mostly used to
|
|
allow any contributor to achieve certain tasks that would normally require GitHub
|
|
membership to the `rust-lang` organization. Its most interesting features for
|
|
contributors to `rustc` are issue claiming and relabeling.
|
|
|
|
## Issue claiming
|
|
|
|
`@rustbot` exposes a command that allows anyone to assign an issue to themselves.
|
|
If you see an issue you want to work on, you can send the following message as a
|
|
comment on the issue at hand:
|
|
|
|
@rustbot claim
|
|
|
|
This will tell `@rustbot` to assign the issue to you if it has no assignee yet.
|
|
Note that because of some GitHub restrictions, you may be assigned indirectly,
|
|
i.e. `@rustbot` will assign itself as a placeholder and edit the top comment to
|
|
reflect the fact that the issue is now assigned to you.
|
|
|
|
If you want to unassign from an issue, `@rustbot` has a different command:
|
|
|
|
@rustbot release-assignment
|
|
|
|
## Issue relabeling
|
|
|
|
Changing labels for an issue or PR is also normally reserved for members of the
|
|
organization. However, `@rustbot` allows you to relabel an issue yourself, only
|
|
with a few restrictions. This is mostly useful in two cases:
|
|
|
|
**Helping with issue triage**: Rust's issue tracker has more than 5,000 open
|
|
issues at the time of this writing, so labels are the most powerful tool that we
|
|
have to keep it as tidy as possible. You don't need to spend hours in the issue tracker
|
|
to triage issues, but if you open an issue, you should feel free to label it if
|
|
you are comfortable with doing it yourself.
|
|
|
|
**Updating the status of a PR**: We use "status labels" to reflect the status of
|
|
PRs. For example, if your PR has merge conflicts, it will automatically be assigned
|
|
the `S-waiting-on-author`, and reviewers might not review it until you rebase your
|
|
PR. Once you do rebase your branch, you should change the labels yourself to remove
|
|
the `S-waiting-on-author` label and add back `S-waiting-on-review`. In this case,
|
|
the `@rustbot` command will look like this:
|
|
|
|
@rustbot label -S-waiting-on-author +S-waiting-on-review
|
|
|
|
The syntax for this command is pretty loose, so there are other variants of this
|
|
command invocation. There are also some shortcuts to update labels,
|
|
for instance `@rustbot ready` will do the same thing with above command.
|
|
For more details, see [the docs page about labeling][labeling] and [shortcuts][shortcuts].
|
|
|
|
[labeling]: https://forge.rust-lang.org/triagebot/labeling.html
|
|
[shortcuts]: https://forge.rust-lang.org/triagebot/shortcuts.html
|
|
|
|
## Other commands
|
|
|
|
If you are interested in seeing what `@rustbot` is capable of, check out its [documentation],
|
|
which is meant as a reference for the bot and should be kept up to date every time the
|
|
bot gets an upgrade.
|
|
|
|
`@rustbot` is maintained by the Release team. If you have any feedback regarding
|
|
existing commands or suggestions for new commands, feel free to reach out
|
|
[on Zulip][zulip] or file an issue in [the triagebot repository][repo]
|
|
|
|
[documentation]: https://forge.rust-lang.org/triagebot/index.html
|
|
[zulip]: https://rust-lang.zulipchat.com/#narrow/stream/224082-t-release.2Ftriagebot
|
|
[repo]: https://github.com/rust-lang/triagebot/
|