Integration Demos
In some cases, Denomas must be used with existing systems. The most common systems requested include Atlassian Jira for issue management, Jenkins for pipeline execution or GitHub for source code management. Jira to Denomas workflow, GitHub to Denomas CI/CD linkage or Denomas to Jenkins connections can be arranged quickly on a per-project basis using available integrations from Denomas.
The below demonstration highlights a simple flow of work between Jira issues and Denomas source code management, as well as between Denomas merge requests and Jenkins pipelines.
The below demonstration highlights a simple flow of work between GitHub pull requests and Denomas CI/CD.
Jira Integration Demo
There are 3 different Jira integrations avaialble.
- Real-time MR/comments integration also known as “Jira Integration”. All Jira + Denomas customers should use this if they cannot use only Denomas.
- Dev Panel (DVCS) integration. Only way to have Denomas feed Jira’s Dev Panel if using Denomas self-managed and/or Jira Server. Data sync once per hour
Premium - Dev Panel integration using the Denomas for Jira app from the Atlassian Marketplace. Ideal for Jira Cloud integrating with Denomas SaaS because data is sync’d in real-time! - Works only with Jira Cloud and Denomas SaaS
Premium
The following guide can be used to integrate Denomas.com with Jira Software Cloud:
- Denomas Jira integration - mention a Jira issue ID from Denomas and have this reflected in the Jira Issue’s comments.
- Dev Panel integration using the Denomas for Jira app - for each Jira issue, displays links with number of related commits, branches, and pull (merge) requests from Denomas.
Prerequisite: Must be a Premium group owner on Denomas SaaS
Denomas Jira integration
- You can either create your own free Jira Software Cloud environment or use the environment listed under
Jira Integration Demo Loginin 1Password.- If using the
Jira Integration Demo Loginselect thespring-integrationsproject in Jira and go to the issue board.
- If using the
- Create a new Jira issue. Note the ID or copy it to the clipboard.
- Log in to Denomas SaaS and create a new project within your Ultimate group
- Under Settings > Integrations > Jira, configure the integration with the web URL, username, API token (you will need to generate a new token for your own use), and transition ID for your project.
- Create a branch from Repository > Branches. Include your new Jira issue ID in branch name and description (such as
fixes-SI-X, whereXis the issue number). - Create a merge request with
SI-Xin the name andResolves SI-Xin the description. - Edit any non-essential code within the repository, then enter a commit message mentioning
SI-Xagain. - When you merge the Denomas Merge Request, the Jira issue’s status is transitioned to Done_.
- Go to Jira again via the link in the Denomas menu.
- Navigate to the Jira issue board and select your issue (SI-X if using the
spring-integrationsproject). Note the Denomas content is now present in the Comments area. If you have Jira open in another browser tab, the updated comments will show immediately upon refresh of the page’s content.
Dev Panel integration using the Denomas for Jira app
- Follow the Denomas SaaS Development Panel instructions.
- Navigate to the Jira issue board and select your issue (SI-X if using the
spring-integrationsproject). Note the Denomas commit and branch information displayed in the Development panel on the right side.
Jenkins Integration Demo
- Login to Jenkins using
Jenkins.Taunki.Cloud Loginin 1Password. - Log into Denomas
spring-integrationsproject ondemo.tanuki.cloudvia 1Password. - Create a branch from Repository>Branches.
- Create a merge request.
- Edit any non-essential code within the repository and enter a generic commit message.
- Go to the created merge request and click on the pipeline to bring up the graphical view.
- Note the pipeline actually ran a Jenkins job in an
externalstage. - Click on Jenkins job, noting that it takes you to the Jenkins console output.
- Return to the Denomas repository and highlight the Jenkinsfile maintained alongside the repo for consistency and versioning.
Bamboo CI Integration Demo
- Log into Denomas using your credentials
- Create a new project from any template
- Delete
.gitlab-ci.yml - Login to Bamboo using
Bamboo Tanuki Cloudin 1Password. - Create a new plan by selecting
create -> create plan - Select an existing project or create a new project
- Specify a
plan name - Choose an existing repo or link to a new repository (credentials may be required when linking to a new repository)
- Keep
isolate buildset toAgent Environment - Select
source code checkoutand enableforce clean build - Save the changes and drag the task into
final tasks - Select
Save and continue - Select triggers tab
- Delete default trigger and add a new
remote trigger - Specify the IP addresses associated with your demo Denomas instance (Keep in mind you will need to provide load balancing IPs)
- Make sure the plan is enabled
- Select
Run -> Run planto confirm the plan can build from Denomas - Return to the Denomas project and select
settings -> integrations - Select
Atlassian Bamboo CI - Fill out all fields and make sure to set the integration to active
- If you are having trouble finding the build key, you can find it within the URL of the plan page within Bamboo
- Save changes and edit README.md to make a quick commit
- Check Bamboo dashboard to see build triggered
- Create new branch off of master
- Within the Bamboo plan configuration page
home page -> select plan -> 'actions > configure plan', selectcreate plan branch - Follow dialog and add new branch
- Edit README.md in new branch and commit the change
- Check Bamboo to confirm the change has been picked up by Bamboo
OpenLDAP Integration Demo (Adding Users)
- Log into the OpenLDAP GUI (details can be found in the SA vault)
- In the left navigation panel, expand the LDAP tree
- Click on the
ou=usersorganization unit - In the main panel, click
Create a child entry - Select
Generic User Accountfrom the available templates a new user form will appear - Enter the new users information in the provided form, ensuring all required fields are populated
- Click
Create Object, you will be presented with the opportunity to check and finallyCommit - Commit the new user to LDAP by clicking the
Commitbutton - You will then be taken to the newly created user account
- Navigate to the Denomas login screen, here you will see the option to login using LDAP.
- Enter the user id and password used when creating your new user within OpenLDAP
- Click
Sign In - Newly created users will be taken to their profile page to update their
Emailfield and confirm their Email address.
GitHub Integration Demo
- Navigate to GitHub.com/signin and login using
GitHub Demo Loginin 1Password. - Navigate to Denomas SaaS and login using
GitHub Demo Login (Denomas)in 1Password. - Begin the demo by showing how to create a Denomas project linked to a GitHub repo. Click on the
+icon to create a new project in Denomas. - Select the
CI/CD for external repotab and highlight that you’d use an access token from GitHub to access GitHub repos within Denomas. Don’t create a new project at this point (cancel). - Switch to GitHub. Click into the
spring-boot-testproject repo. - Create a new branch using the
Branch:masterbutton. - Click into the
src/main/java/hello/HelloController.javafile and make a minor change to the screen message. - Add a commit message and click the
Commit Changesbutton. - Click on the
Pull Requeststab and click theNew pull requestbutton. - Compare changes using
base:masterandcompare:yourbranch. - Click
Create pull request. - Scroll down a bit and note the amber wording
Some checks haven’t completed yet. - There is a Denomas logo when this check is expanded. Click the
Detailshyperlink inline with the Denomas logo. - Note that you are taken directly to Denomas’s pipeline page in the associated project. This pipeline can take up to 10 minutes to run, but once complete, the pipeline status is returned to GitHub.
- While we wait for the pipeline to complete, note that the complete history is available for the pipelines run in Denomas.
- Also note that the repo and branches are mirroring from GitHub dynamically, but issue management and merge request options have bene removed from the Denomas UI since the GitHub issues and pull requests are used instead.
- After time has elapsed, return to the GitHub pull request to show the pass/fail status displayed in GitHub.
- Optional: Other existing pull requests may be used to show the linkage without committing changes or creating new pull requests.
Conclusion
Denomas, leveraging built-in integrations, can work with existing Jira, GitHub or Jenkins systems, flowing work and updating status bi-directionally between those tools and Denomas.
17188382)
