https://github.com/boh717/jitlab
Integrating Jira and GitLab for faster developers’ workflow
https://github.com/boh717/jitlab
agile agile-development developer-tools gitlab golang jira kanban scrum
Last synced: about 1 year ago
JSON representation
Integrating Jira and GitLab for faster developers’ workflow
- Host: GitHub
- URL: https://github.com/boh717/jitlab
- Owner: boh717
- Created: 2021-03-23T08:41:40.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-06-03T07:41:42.000Z (about 5 years ago)
- Last Synced: 2025-04-29T19:53:33.686Z (about 1 year ago)
- Topics: agile, agile-development, developer-tools, gitlab, golang, jira, kanban, scrum
- Language: Go
- Homepage:
- Size: 70.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
After implementing [this project in Python](https://github.com/boh717/jitab), I decided to learn Go and see what I could come up with. The result is quite satisfactory (not perfect though).
## Configuration Prerequisites
Start with the following json file (e.g. ~/.jitlab.json)
```json
{
"gitlab": {
"baseurl": ,
"groupid": ,
"token":
},
"jira": {
"baseurl": ,
"token": ,
"username":
},
"branchPrefix": ,
"branchSuffix": ,
"keyCommitSeparator":
}
```
where:
- `` is a token with `api` permissions and you can issue one here https://gitlab.com/profile/personal_access_tokens (or similar URL if you are on-premise)
- `` is the ID of the group your project belongs to
- `` can be issued here: https://id.atlassian.com/manage-profile/security/api-tokens
- `branchPrefix` is what you want to be *prefixed* to every branch you create
- `branchSuffix` is what you want to be *appended* to every branch you create
- `keyCommitSeparator` is what you want to separate the jira key and your commit message
## Board Prerequisites
Jitlab works with both kanban and scrum workflows, but on jira there's a third board type (`simple`) which screws things up.
A `simple` board can be both... And its purpose is to help people setting up boards fast.
Jitlab treats by default `kanban` and `simple` the same way, but if you're using `scrum` workflow and your team's board is `simple`, then jitlab won't work.
In future releases I may fix this problem or simply ask to change your board type to `scrum`.
## Configuration
Once you fulfilled all the requirements, start using jitlab by configuring it.
Run `jitlab config` and follow the questions you'll be asked. You should run this command only once (or if you change the board).
Your `.jitlab.json` will be updated.
## Project init
Every project you want to use jitlab with should be initialized.
Run `jitlab init` to do it. This will create a local `.repo` file with the project information.
For example:
```json
{
"id": 12345678,
"name": "Jitlab",
"description": "An awesome tool",
"path": "jitlab"
}
```
## Working on tasks
Jitlab will read issues from jira and will create a local git branch according to the jira task title.
Use `jitlab new` to pick up tasks from your chosen columns.
Branches will follow this naming convention `TEST-12-your-branch-title`.
## Pushing changes
Jitlab supports `git commit` and will automatically prefix the message with the jira key. One example could be `TEST-12: awesome message` where `:` is your chosen key commit separator.
Run `jitlab commit -m 'awesome message'`
## Creating merge request
Once you're happy with your changes, you can create the merge request issuing `jitlab mr`.