项目作者: kingcos

项目描述 :
🚀 A GitLab webhook to trigger Jira issue transition when merge request events occurred.
高级语言: Go
项目地址: git://github.com/kingcos/gitlab-mr-jira-issue-trigger.git
创建时间: 2018-09-20T03:13:13Z
项目社区:https://github.com/kingcos/gitlab-mr-jira-issue-trigger

开源协议:MIT License

下载


gitlab-mr-jira-issue-trigger

Build Status Go Report Card GitHub license

English | 中文

A GitLab webhook to trigger Jira issue transition when merge request events occurred.

What

This is a webhook for connection of GitLab and Jira.

What

Inspired by shyiko/gitlab-ci-build-on-merge-request.

How to run?

Server Settings

  • Build & Run
  1. git clone https://github.com/kingcos/gitlab-mr-jira-issue-trigger.git
  2. cd gitlab-mr-jira-issue-trigger
  3. go build gitlab-mr-jira-issue-trigger.go
  4. ./gitlab-mr-jira-issue-trigger --path <CONFIG_YAML_FILE_PATH(Default is `config.yml`)>
  • or Docker
  1. git clone https://github.com/kingcos/gitlab-mr-jira-issue-trigger.git
  2. Add your config.yml in gitlab-mr-jira-issue-trigger folder
  3. Update EXPOSE settings in the Dockerfile (Same as Server - Port in config.yml)
  1. docker build -t kingcos/gitlab-mr-jira-issue-trigger .
  2. docker run -p 9000:<YOUR_DEFINED_PORT> -it --rm --name gitlab-mr-jira-issue-trigger \
  3. kingcos/gitlab-mr-jira-issue-trigger:latest \
  4. gitlab-mr-jira-issue-trigger

GitLab Webhook Settings

  • Add server IP with port & path which you setup in config.yml in the GitLab - Settings - Integrations page:

GitLab - Settings - Integrations

  • Click ‘Add webhook’ button
  • You can test it with ‘Merge requests events’

Configurations

  1. GitLab:
  2. host: GITLAB_HOST_ADDRESS (REQUIRED)
  3. token: GITLAB_PUBLIC_USER_TOKEN (REQUIRED)
  4. Jira:
  5. host: JIRA_HOST_ADDRESS (REQUIRED)
  6. username: JIRA_PUBLIC_USERNAME (REQUIRED)
  7. password: JIRA_PUBLIC_PASSWORD (REQUIRED)
  8. Server:
  9. path: WEBHOOK_SERVER_PATH (REQUIRED)
  10. port: WEBHOOK_SERVER_PORT (REQUIRED)
  11. Trigger:
  12. regex:
  13. - REGEX_FOR_MATCH_JIRA_ISSUE_IDS_IN_GITLAB_MERGE_REQUEST_TITLE_1
  14. - REGEX_FOR_MATCH_JIRA_ISSUE_IDS_IN_GITLAB_MERGE_REQUEST_TITLE_2
  15. opened:
  16. title: JIRA_TRANSITION_TITLE_IN_THE_PAGE
  17. message: JIRA_ISSUE_MESSAGE
  18. url: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_URL
  19. date: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_DATE
  20. username: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_USERNAME
  21. merged:
  22. title: JIRA_TRANSITION_TITLE_IN_THE_PAGE
  23. message: JIRA_ISSUE_MESSAGE
  24. url: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_URL
  25. date: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_DATE
  26. username: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_USERNAME
  27. closed:
  28. title: JIRA_TRANSITION_TITLE_IN_THE_PAGE
  29. message: JIRA_ISSUE_MESSAGE
  30. url: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_URL
  31. date: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_DATE
  32. username: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_USERNAME
  33. locked:
  34. title: JIRA_TRANSITION_TITLE_IN_THE_PAGE
  35. message: JIRA_ISSUE_MESSAGE
  36. url: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_URL
  37. date: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_DATE
  38. username: SHOULD_INCLUDED_GITLAB_MERGEREQUEST_USERNAME

Issues

  • If you find bugs, please issue me
  • If you want to contribute, please pull request
  • If you like it, just star 🌟 it

Reference