Display links to associated merge requests and pull requests on Redmine's issue page.
Intercepts webhooks and parses merge request descriptions for mentioned issue ids.
The following platforms are supported:
Copy plugin directoy to {RAILS_APP}/plugins
on your Redmine
path. Run plugin migrations from your redmine root directory:
$ rake redmine:plugins:migrate RAILS_ENV=production
This plugin requires an additional view hook which can be added by applying a patch to your Redmine instance. From your Redmine path run:
$ git apply plugins/redmine_merge_request_links/patches/view_hook_issues_show_after_details_redmine_3.4.patch
or if you use EasyRedmine
$ git apply plugins/redmine_merge_request_links/patches/view_hook_issues_show_after_details_easyredmine.patch
One of the following environment variables need to be set:
REDMINE_MERGE_REQUEST_LINKS_GITLAB_WEBHOOK_TOKEN
REDMINE_MERGE_REQUEST_LINKS_GITHUB_WEBHOOK_TOKEN
If you use systemd set appropriate environment variable:
https://serverfault.com/a/413408
They must contain secrets which have to be configured in GitLab/GitHub to authenticate webhooks.
Export the environment variable(s) in your bash or webserver config. Examples with Phusion Passenger webserver can be found here: https://www.phusionpassenger.com/library/indepth/environment_variables.html
Finally, restart your webserver.
Create a webhook in GitLab or GitHub as described here:
Go to either the webhook page of a project (Settings > Integration) or the system hook page (Admin area > System Hooks).
Enter the URL of your Redmine instance
http://redmine.example.com/merge_requests/event
Enter the secret token you defined in environment variable
REDMINE_MERGE_REQUEST_LINKS_GITLAB_WEBHOOK_TOKEN
Check the "Merge request events" trigger.
Click "Add webhook".
Go to the webhook page of a project or organization.
Enter the URL of your Redmine instance
https://redmine.example.com/merge_requests/event
.
Select application/json
as content type.
Enter the secret token you defined in environment variable
REDMINE_MERGE_REQUEST_LINKS_GITHUB_WEBHOOK_TOKEN
.
Choose "Let me select individual events".
Check the "Pull requests" event.
Click "Add webhook".
Go to the webhook page of a project or organization.
Enter the URL of your Redmine instance
https://redmine.example.com/merge_requests/event
.
Select application/json
as content type.
Enter the secret token you defined in environment variable
REDMINE_MERGE_REQUEST_LINKS_GITEA_WEBHOOK_TOKEN
.
Choose "Custom events...".
Check the "Pull requests" event.
Click "Add webhook".
To display associated merge requests on issue pages:
Add the "View associated merge requests" permission to one or more roles.
Enable the "Merge request links" project module.
Create a merge request and reference a Redmine issue either in the
form #123
or REDMINE-123
. See a link to the merge request appear
on the issue's Redmine page.
After checking out the repository, run
$ bin/build
to build the Docker container used to run the test suite.
Then run
$ bin/test
to run the test suite inside a Docker container.
The gem is available as open source under the terms of the MIT License.