All Projects → tf → redmine_merge_request_links

tf / redmine_merge_request_links

Licence: MIT license
Display links to associated Gitlab merge requests and GitHub pull requests on Redmine's issue page.

Programming Languages

ruby
36898 projects - #4 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to redmine merge request links

merge-request-notifier
This app shows your merge requests grouped by projects and WIP status. It is accessible from the system tray.
Stars: ✭ 47 (+46.88%)
Mutual labels:  gitlab, pull-requests, merge-requests
redmine issue todo lists
Organize Redmine issues in to-do lists by manually ordering their priority.
Stars: ✭ 20 (-37.5%)
Mutual labels:  redmine, redmine-plugin
kanban
Kanban plugin for redmine
Stars: ✭ 68 (+112.5%)
Mutual labels:  redmine, redmine-plugin
redmine issue checklist
Checklist Plugin creates simple checklists for Redmine issues. Downloaded from http://www.redminecrm.com/projects/checklist/
Stars: ✭ 55 (+71.88%)
Mutual labels:  redmine, redmine-plugin
redmine default custom query
Redmine plugin for setting default custom query of Issues for each project
Stars: ✭ 67 (+109.38%)
Mutual labels:  redmine, redmine-plugin
deployer
Redmine plugin to group issues into deploys and send notifications when needed
Stars: ✭ 14 (-56.25%)
Mutual labels:  redmine, redmine-plugin
redmine-vote on issues-plugin
Redmine Plugin Which Allows Users to Up- or Down-vote Issues
Stars: ✭ 17 (-46.87%)
Mutual labels:  redmine, redmine-plugin
redmine issue template
Allows to manage templates of issues, and adding them to issue body
Stars: ✭ 25 (-21.87%)
Mutual labels:  redmine, redmine-plugin
Export Pull Requests
Export pull requests and/or issues to a CSV file. Supports GitHub, GitLab, and Bitbucket
Stars: ✭ 68 (+112.5%)
Mutual labels:  gitlab, pull-requests
vscode-github
GitHub Support for vscode
Stars: ✭ 124 (+287.5%)
Mutual labels:  gitlab, pull-requests
redmine persist wfmt
redmine_persist_wfmt is a plugin for Redmine that persists wiki format.
Stars: ✭ 28 (-12.5%)
Mutual labels:  redmine, redmine-plugin
Git Webhook Ci
A Git (github/gitee) webhook callback server to do stuff e.g. fetch new code (poor man CI)
Stars: ✭ 118 (+268.75%)
Mutual labels:  webhooks, gitlab
bestest timer
This is an awesome punch clock/timer plugin for Redmine. It's great. It's the bestest.
Stars: ✭ 15 (-53.12%)
Mutual labels:  redmine, redmine-plugin
redmine recurring tasks
Plugin for creating scheduled tasks from templates
Stars: ✭ 37 (+15.63%)
Mutual labels:  redmine, redmine-plugin
Redmine-Touch
Redmine plugin to add missing function of "Last updated by"
Stars: ✭ 18 (-43.75%)
Mutual labels:  redmine, redmine-plugin
redmine user specific theme
Redmine user specific theme plugin
Stars: ✭ 30 (-6.25%)
Mutual labels:  redmine, redmine-plugin
time logger
Redmine Time logger plugin. More than likely there is only going to be one more public release. New version has new time logging with the option of multiple loggers running at the same time, fixes for excessive loggng, and a whole new look.
Stars: ✭ 58 (+81.25%)
Mutual labels:  redmine, redmine-plugin
redmine intouch
Redmine Intouch plugin sends notifications to users via Telegram and E-mail
Stars: ✭ 60 (+87.5%)
Mutual labels:  redmine, redmine-plugin
toggl2redmine
Import time from Toggl 2 Redmine.
Stars: ✭ 23 (-28.12%)
Mutual labels:  redmine, redmine-plugin
Webhooks
🎣 Webhook receiver for GitHub, Bitbucket, GitLab, Gogs
Stars: ✭ 601 (+1778.13%)
Mutual labels:  webhooks, gitlab

Redmine Merge Request Links

Tests

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:

  • GitHub
  • GitLab
  • Gitea

Requirements

  • Redmine 3 (tested with 3.4.6)

Installation

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.

Configuration

Create a webhook in GitLab or GitHub as described here:

GitLab

  • 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".

GitHub

  • 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".

Gitea

  • 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".

Redmine

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.

Usage

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.

Known Issues

  • GitLab only passes the author id as part of the merge request webhook not a display name. It does include the username of the user whose action triggered the webhook, though. To prevent having to fetch the author name in a separate REST API call, this username is used as author name since the user triggering a merge request's first webhook is usually the author. For merge request that were created before the plugin was installed, this causes the first user to edit the merge request to be recorded as the author.

Development

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.

License

The gem is available as open source under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].