An open API service indexing awesome lists of open source software.

https://github.com/simeonc/jira-gitlab-seneschal

A tool for migrating to and managing issues in JIRA and Git in GitLab
https://github.com/simeonc/jira-gitlab-seneschal

Last synced: about 1 month ago
JSON representation

A tool for migrating to and managing issues in JIRA and Git in GitLab

Awesome Lists containing this project

README

        

# jira-gitlab-seneschal















A tool for migrating to and managing issues in JIRA and Git in GitLab.


Sponsored by TableCheck



### Migration Notes

The transitions scripts require you to enable "All statuses can transition to '...'" for all statuses you want to map to. This allows us to map the gitlab column "Labels" to their equivalent "Statuses" in JIRA.

### First Time installation

First time you run this product you need to update `config.json` to complete your own setup.
This is a requirement for creating your own private add-on.

Also you will need a local copy of PostgresSQL setup, the default database used in dev is `jira-gitlab-seneschal` so make sure that exists.

I recommend using docker and these commands;

`docker run --name some-postgres -e POSTGRES_PASSWORD=seneschal-dev-password -p 5432:5432 -d postgres`

Then in the docker container run the following commands; (use the last command to confirm you have created the db correctly).

```
> psql -U postgres
> CREATE DATABASE "jira-gitlab-seneschal";
> \l
```

If you are running in dev mode follow the instructions for "The Dev Loop" here; https://bitbucket.org/atlassian/atlassian-connect-express

#### ENV Vars Documentation

When running in production the following ENV Vars should be defined as follows;

| var | usage |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `$PORT` | Server Port to run express server on |
| `$APP_URL` | Url that the addon will run on |
| `$DATABASE_URL` | Url of the Postgres database to connect to |
| `$JIRA_HOST` | Host domain of your Jira instance, can be a wildcard. If you need more than one in the whitelist I recommend editing the `config.json` file directly. eg `*.atlassian.net` will allow all cloud jira instances. |

### Releasing

To release you first need to setup `conventional-github-releaser` by following the instructions here: https://www.npmjs.com/package/conventional-github-releaser#setup-token-for-cli

Then simply run `npm run release` which will automatically tag, update the changelog and create the github release file.

To ensure this system works all commits must follow the [Angular commit conventions](https://github.com/bcoe/conventional-changelog-standard/blob/master/convention.md)

### Weird bugs

- When upgrading dependencies watch out for the version of sequelize as set in atlassian-express-connect.
The versions must match or certain checks like `instanceof` will fail - this basically means we have to match the atlassian-express-connect version.