Project architect: @hizmailovich
Project registry, facilities and its governance.
Project Management Office (PMO) is a RESTful JSON API with ability to
manipulate with projects. To check this RESTful API, all you need is Swagger Docs,
it can be found here: /swagger-ui/index.html
.
Functionality:
- Allows to log in using login and password.
- Allows to log in using such social coding platforms as GitHub, GitLab, and Bitbucket.
- Allows to create a project.
- Creates and queries tickets.
- Creates and manages secrets, represented as simple
key = value
pair, where value will be encrypted using jasypt.
After project creation bot @tracehubgit will be invited
to the repository and a new
label for issues will be added. Moreover, a webhook for push
events will be
created to notify PMO about changes in the repository.
Before you start the app locally, you need to run Keycloak and PostgreSQL using such command:
$ docker-compose up -d
Then you should update client secrets for identity providers in Keycloak using following steps:
- Open Keycloak admin console.
- Choose
pmo
realm. - Go to Identity Providers.
- Choose appropriate identity provider and update client secret.
- Save changes.
Fork repository, make changes, send us a pull request.
We will review your changes and apply them to the master
branch shortly,
provided they don't violate our quality standards. To avoid frustration,
before sending us your pull request please run full Maven build:
$ mvn clean install
You will need Maven 3.8.7+ and Java 17+.
If you want to run an integration tests to check whole system, run:
$ mvn clean install -Psimulation -DGithubToken=...
You should provide GitHub token as value for GithubToken
variable.
Token must be granted with write permissions to hizmailovich/draft
.
Ensure that you have a running Docker in your environment. If you test it locally, you can use Docker Desktop.
All the things above will be run by Rultor.com and CI gate.