Skip to content

tracehubpm/pmo

Repository files navigation

EO principles respected here DevOps By Rultor.com We recommend IntelliJ IDEA

mvn codecov PDD status

Hits-of-Code License

Project architect: @hizmailovich

Project registry, facilities and its governance.

How to use?

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.

How to run?

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:

  1. Open Keycloak admin console.
  2. Choose pmo realm.
  3. Go to Identity Providers.
  4. Choose appropriate identity provider and update client secret.
  5. Save changes.

How to contribute?

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.

Releases

No releases published

Packages

No packages published