Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

End to End - Development Process Cycle

Ammar Ahmed Butt
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
August 30, 2023

d27a91e1-b686-4ec8-90f7-19ca400c6ebe.png

Incident Management & Customer Support

Jira Service Management & Jira Software


Testing

Postman & Github

  • Back up your Postman collections to GitHub, a cloud-based hosting service for Git repositories, with the Postman to GitHub integration.

  • Every change saved to your Postman Collection automatically commits changes to your GitHub repo in JSON format.

  • GitHub | Postman Learning Center

  • Postman


Tracking

Jira and GitHub

  • Connect your GitHub code with your project management in Jira. A separate Jira subscription is required. With two of your most essential tools connected, you'll spend less time managing projects and more time working on them. This integration is an open-source project, built and maintained by Atlassian.

  • https://github.com/atlassian/github-for-jira


Realtime Deployment Status

Jira Software and AWS


🚨Alerts - 👀Observability - 🎯Architecture -🎰 Automation


CodeMagic CI/CD - Mobile App

MicrosoftTeams-image.png


Google Analytics


Workflow - 1

  • A branch is created on GitHub containing the Jira ticket ID i.e. “JIRA-00:”; automatically the ticket moves to "in progress" on the Jira Software board (In Progress is the ticket status). A comment is added on that Jira ticket with a time log as well, relevant users get tagged as well.

  • The “start date” field is filled with the current date. (Jira issue/Story/Task/bug ticket)

  • PR(Pull Request) is raised on GitHub, containing the Jira ticket ID i.e. “JIRA-00:”; Automatically the ticket moves to PR Review on the Jira board, Comment is added on that Jira ticket with a time log as well.

  • Since the team lead is supposed to review the code, it automatically gets assigned to the lead, on the Jira board.

  • PR(Pull Request) is Merged on GitHub Comment is added on that Jira ticket with a time log as well.

  • Webhook Triggers (only on Three branches, develop, stage, master) AWS Codepipeline and the following process starts. E.g. Let's say if the branch is Develop to which PR is being Merged, and the ticket status changes to Deployed to develop on Jira

AWS CodePieline Flow

  • Source (GitHub - PR Merge)(Branch - Develop)
  • Build
  • Deploy
  • Test

-- Postman - Newman (API testing)
-- Cypress

  • If the pipeline ran successfully on AWS, a comment is added on that ticket which is on Jira Board, and that ticket is moved to Post Develop Testing ticket is assigned to the SQA, and manual testing is done.

  • Now the flaw in this workflow is that it doesn't show or comment on the test results that ran in the pipeline on the Jira ticket, for I did find a solution, via APIs, and the test results are added on the Jira ticket in .xml format, but haven't been 100% successful yet. 💀

Workflow - 2

  • Everything remains the same till the PR merge and webhook trigger AWS codePipeline ^

*AWS pipeline flow

  • Source (GitHub - PR Merge)(Branch - Develop)

  • Build

  • Deploy

  • If the deployment was successful on AWS, a comment is added to that ticket which is on the Jira Board, and that ticket is moved to Deployed to Develop

  • From Jira, a webhook is triggered, which will then create a monitor on the postman, run the test cases from the collection, and then send the summary of test cases in response to that webhook.

  • The summary should get posted on that same Jira ticket, If 80% successful rate(which will be mentioned on the ticket) then the ticket transitions to "Post Develop QA", it gets assigned to the SQA, for further testing. (Trying to do this for the backend Deployment but haven't been 100% successful yet, for mobile apps using code magic, it was successful)💀


Frame (2).png

d3ce5eab-bafe-4c24-9f3e-553ea79e97b7-1.png

image-20221129-095327.png


Workflow (details)

  • The branch is created on GitHub containing the Jira ticket id i.e. “JIRA-00:”

    • Automatically the ticket moves to in progress on the Jira board

    • The “start date” field is filled with the current date.

  • PR(Pull Request) is raised on GitHub, containing the Jira ticket id i.e. “JIRA-00:”.

    • Automatically the ticket moves to PR Review on the Jira board

    • Since the team lead is supposed to review the code, it automatically gets assigned to the lead, on the Jira board.

  • PR(Pull Request) is Merged on GitHub

Test Cases

  • Postman

    • After deployment is done successfully, Test cases run in the pipeline, and the ticket is moved to

      • Post-Develop QA

      • Post-Stage QA

      • Post-Master QA

    • The ticket is automatically assigned to the QA Engineer.

    • Manual testing is done.

  • Cypress Test cases with AWS Codebuild in Pipeline


 

Branch on GitHub

Status on Jira Board

AWS Pipeline - Triggers

Test Cases

Develop

Deployed to Develop

  • Source (GitHub - PR Merge)(Branch - Develop)

  • Build

  • Deploy

  • Test Cases

    • Postman

    • Cypress

  • Environment BaseURL - Develop

  • Test Cases will Run.

  • Before the PR is Merged, if any new API is created, that is added to the Postman collection.

  • Automatically it gets committed to the relevant branch.

Stage

Deployed to Stage

  • Source (GitHub - PR Merge)(Branch - Stage)

  • Build

  • Deploy

  • Test Cases

    • Postman

    • Cypress

  • Environment BaseURL - Stage

  • Test Cases will Run.

  • Newman - Postman

  • Cypress

Master

Deployed to Master

  • Source (GitHub - PR Merge)(Branch - Master)

  • Build

  • Deploy

  • Test Cases

    • Postman

    • Cypress

  • Environment BaseURL - Master

  • Test Cases will Run.

  • Newman - Postman

  • Cypress

AWS CodePipeline with Jira Software Cloud and GitHub

Jira Automated Workflow


Release Notes - Teams Communication

  • Atlas | Your company’s new teamwork directory | Atlassian

  • “Fix version”

    • Releases are created from the left side panel of the Jira board.

    • A manual trigger is added, and when triggered, it fills all the “fix Version” fields of all the closed tickets with the last unreleased version.

    • Automatically Release Notes are generated, one can copy and paste them all on Atlas Project.

    • All the subscribers will be notified.


For more information check this Link -Processes & Standards

 

#AtlassianCreator 

1 comment

Comment

Log in or Sign up to comment
Laurie Sciutti
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 7, 2023

Good reference, @Ammar Ahmed Butt .  Thank you!

Like Ammar Ahmed Butt likes this
TAGS
AUG Leaders

Atlassian Community Events