Note that if you are using Skara on Gitlab, there are built in commands that clash with some of the Skara commands. To enforce use of the Skara command and not the Gitlab variant, you can put some whitespace in front of the command in the comment. Also, you can prepend "/skara" as a prefix to the command. For instance, to execute the "/label" command, you can use "/skara label hotspot", it will be interpreted as "/label hotspot" by SKARA bot. The commands that currently conflict with GitLab commands are /reviewer, /label and /approve.
|Table of Contents
The pull request command that all contributors will use is the
/integrate command that integrates an approved pull request into a repository. This is an example where the Skara workflow differs slightly from the workflow offered by most external Git source code hosting providers - almost all external Git source code hosting providers require that a reviewer/maintainer integrates a pull request into a repository. Skara instead enables the contributor to integrate the pull request with the
/integrate command, but the contributor can only issue the
/integrate command once the pull request passes all pre-integration checks (e.g. jcheck).
auto parameter is used to label a pull request to be automatically integrated as soon as all pre-integration checks are passing. This can be a good idea to save time when a change is comparatively benign and only the minimum amount of review is needed.
manual parameter is used to undo the effects of the
If a contributor of a pull request will be unable to perform the integration at a suitable time, they may delegate the ability to integrate to any other committer in the project. This is done using
/integrate delegate. Issuing this command will not immediately integrate a pull request, instead any committer in the project will be able to issue the
/integrate command to perform the integration. This can be undone by the original contributor running
If a pull request is automatically closed due to inactivity, this command can be used to re-open it.
/backport <repository> [<branch>]
/backport disable <repository> [<branch>]
/backport used in open pull request
When used in an open pull request, the /backport command adds a
Backport=repo:branch label to the PR. After the PR is integrated, the bot will create the backport branch and provides a link for creating the backport. To cancel the backport, the user can use
/backport disable command to remove the label before the PR is integrated.
Note: /backport disable can only be used in open pull requests.
/backport used inNow, /backport could only be used in integrated pull request.
Applies the commit this pull request resulted in onto the given branch in the given repository and then shows to a link to create a pull request with the changes. The branch is optional and defaults to the
master branch, if not given, the default for the repository is used. If the commit does not apply then a message is shown describing the files containing conflicts. See See Backports.
If the target repository is configured to support dependent pull requests, it's possible to do this with the backport command by supplying the appropriate
pr/X branch. .
The pull request will be created from a branch in a shared fork of the target repository. On GitHub, this repository is owned by the openjdk-bots organization. The first time you issue the /backport command for a specific target repository, you will receive an invitation to collaborate in the fork repository. This invitation needs to be accepted to be able to further update the backport pull request with more changes.
/backport jfx jfx14
/backport jdk17u-dev pr/4711
/approval [<id>] (request|cancel) [<text>]
Requests maintainer approval for a change.
The approval process actually takes place in JBS, this command is mostly for convenience. In a pull request for a repository that requires maintainer approval, the author may use this command to add both the comment with the motivation and the correct label to any associated bugs. This can be especially useful if the author does not have a JBS account. Skara also tracks the approval labels in the associated bugs and will block integration until all bugs are approved.
The 'id' argument is needed if there are multiple bugs associated with a pull request as separate requests need to be submitted for each bug.
The 'text' argument should contain the motivation for the change. The pull request author may issue the /approval command multiple times to update the text. Note that if a request is made through this command, the comment on the bug will be created (and owned by) by a bot user, so the text can only be modified by running this command again.
Canceling a request removes the label and the comment from the bug.
/approval request My reason
/approval request My reason line1,
My reason line2,
My reason line3.
/approval JDK-123 request My reason
/approval 123 request
/approval 123 cancel
/approve [<id>] (yes|no)
Approves a request for maintainer approval by adding the appropriate labels to the associated bugs.
The /approve command is only available to repository maintainers. It can only approve existing requests.
If an 'id' is specified, then only that bug is handled, if not, all associated bugs are handled.
/approve JDK-123 yes
/approve 123 no
/author [set|remove] [@user | openjdk-user | Full Name <email@address>]
Sets or removes a user as author of this pull request. An author can be specified either by their GitHub username (e.g. @openjdk-bot), their OpenJDK username (e.g. duke) or via a full name and email combination (e.g. J. Duke <firstname.lastname@example.org>). Github and OpenJDK usernames can only be used for users in the OpenJDK census. For other authors you need to supply the full name and email address. An author that has incorrectly been set can be removed by issuing the command
/author remove. The author's name will be shown in the final commit message for the pull request and the pull request creator's name will be shown as the committer.
/author set @openjdk-bot
/author set J. Duke <email@example.com>
/author remove @openjdk-bot
Shows help for all pull request commands.