A self-hosted Ruby application that listens for pull request events via webhooks to automate their interactions with Basecamp. It is deployed as a standalone application into your infrastructure. No third-party has access to your credentials.
Hermes listens for GitLab webhooks. It then reads the pull request description to determine if it contains Basecamp links that points to resources that can be managed with Hermes (e.g. To-dos).
You can link a pull request to an issue by using a supported keyword plus the Basecamp To-do URL in the pull request's description:
Keywords:
- close
- closes
- closed
- fix
- fixes
- fixed
- resolve
- resolves
- resolved
Hermes implements the following workflows:
- A new PR is opened containing a link to a Basecamp To-do in the description:
- Add a comment in the Basecamp To-do containing a link back to the PR and stating the following:
- To-do is open, then it will be completed by the PR
- To-do is completed/archived, then it just specifies that is being linked from the PR
- Add a comment in the Basecamp To-do containing a link back to the PR and stating the following:
- A PR is updated with a link to a Basecamp To-do in the description:
- Checks if the PR has been linked already by a comment in the Basecamp To-do, otherwise it follows the same procedure as when opening a new PR
- Once PR is merged then:
- To-do is open, add a comment stating that the PR has been merged and complete the To-do
- To-do is closed, add a comment stating that the PR has been merged
- If PR is closed, then add a comment stating that the PR has been closed
- If PR is reopened, then add a comment stating that the PR is reopened
- No longer need to manually close To-dos once the corresponding pull requests are merged
- Leave a trail of pull request actions in the To-do through comments
Check out the Contributing page.
For inspecting the changes and tag releases, check the Changelog page
Check out the LICENSE for details