{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user Pooja Ravi",
          "userId" : "pooja",
          "userName" : "Pooja Ravi"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev-share-feedback" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 4,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ae4fb513e51f9e32e020beee9c6936bc631b927d",
            "branch" : [
              {
                "SHA1" : "ae4fb513e51f9e32e020beee9c6936bc631b927d",
                "name" : "refs/remotes/origin/dev-share-feedback"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ae4fb513e51f9e32e020beee9c6936bc631b927d",
            "branch" : [
              {
                "SHA1" : "ae4fb513e51f9e32e020beee9c6936bc631b927d",
                "name" : "refs/remotes/origin/dev-share-feedback"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "ae4fb513e51f9e32e020beee9c6936bc631b927d",
        "branch" : [
          {
            "SHA1" : "ae4fb513e51f9e32e020beee9c6936bc631b927d",
            "name" : "refs/remotes/origin/dev-share-feedback"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/UstadMobile/Respect.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "001_001_invite_using_invite_code_test.mp4",
      "fileName" : "001_001_invite_using_invite_code_test.mp4",
      "relativePath" : ".maestro/video-downloader/cypress/downloads/001_001_invite_using_invite_code_test.mp4"
    },
    {
      "displayPath" : "001_002_add_user_direct_test.mp4",
      "fileName" : "001_002_add_user_direct_test.mp4",
      "relativePath" : ".maestro/video-downloader/cypress/downloads/001_002_add_user_direct_test.mp4"
    },
    {
      "displayPath" : "001_003_login_using_school_link_test.mp4",
      "fileName" : "001_003_login_using_school_link_test.mp4",
      "relativePath" : ".maestro/video-downloader/cypress/downloads/001_003_login_using_school_link_test.mp4"
    },
    {
      "displayPath" : "002_browse_lessons_test.mp4",
      "fileName" : "002_browse_lessons_test.mp4",
      "relativePath" : ".maestro/video-downloader/cypress/downloads/002_browse_lessons_test.mp4"
    },
    {
      "displayPath" : "003_admin_user_assigns_assignment_to_a_class_test.mp4",
      "fileName" : "003_admin_user_assigns_assignment_to_a_class_test.mp4",
      "relativePath" : ".maestro/video-downloader/cypress/downloads/003_admin_user_assigns_assignment_to_a_class_test.mp4"
    },
    {
      "displayPath" : "004_user_send_feedback_test.mp4",
      "fileName" : "004_user_send_feedback_test.mp4",
      "relativePath" : ".maestro/video-downloader/cypress/downloads/004_user_send_feedback_test.mp4"
    },
    {
      "displayPath" : "001_001_invite_using_invite_code_test.png",
      "fileName" : "001_001_invite_using_invite_code_test.png",
      "relativePath" : ".maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_001_invite_using_invite_code_test.png"
    },
    {
      "displayPath" : "001_002_add_user_direct_test.png",
      "fileName" : "001_002_add_user_direct_test.png",
      "relativePath" : ".maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_002_add_user_direct_test.png"
    },
    {
      "displayPath" : "001_003_login_using_school_link_test.png",
      "fileName" : "001_003_login_using_school_link_test.png",
      "relativePath" : ".maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/001_003_login_using_school_link_test.png"
    },
    {
      "displayPath" : "002_browse_lessons_test.png",
      "fileName" : "002_browse_lessons_test.png",
      "relativePath" : ".maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/002_browse_lessons_test.png"
    },
    {
      "displayPath" : "003_admin_user_assigns_assignment_to_a_class_test.png",
      "fileName" : "003_admin_user_assigns_assignment_to_a_class_test.png",
      "relativePath" : ".maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/003_admin_user_assigns_assignment_to_a_class_test.png"
    },
    {
      "displayPath" : "004_user_send_feedback_test.png",
      "fileName" : "004_user_send_feedback_test.png",
      "relativePath" : ".maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/004_user_send_feedback_test.png"
    },
    {
      "displayPath" : "00_Main_Dashboard.png",
      "fileName" : "00_Main_Dashboard.png",
      "relativePath" : ".maestro/video-downloader/cypress/screenshots/extract-maestro-video-urls.cy.js/00_Main_Dashboard.png"
    },
    {
      "displayPath" : "respect-cli.zip",
      "fileName" : "respect-cli.zip",
      "relativePath" : "respect-cli/build/distributions/respect-cli.zip"
    }
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#4",
  "duration" : 85246,
  "estimatedDuration" : 1877033,
  "executor" : None,
  "fullDisplayName" : "dev-share-feedback-end-to-end #4",
  "id" : "4",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 4,
  "queueId" : 5570,
  "result" : "FAILURE",
  "timestamp" : 1769773420819,
  "url" : "https://devserver3.ustadmobile.com/jenkins/view/all/job/dev-share-feedback-end-to-end/4/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt",
          "respect-app-compose/build.gradle.kts"
        ],
        "commitId" : "b2537e62509dfa2cedcb0b938e04431a70b8f72e",
        "timestamp" : 1769677857000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Configuration loading for Zammad credentials has been updated in `build.gradle.kts`, now sourcing the token and URL from a `zammad.properties` file or environment variables.\u000a",
        "date" : "2026-01-29 14:40:57 +0530",
        "id" : "b2537e62509dfa2cedcb0b938e04431a70b8f72e",
        "msg" : "Configuration loading for Zammad credentials has been updated in `build.gradle.kts`, now sourcing the token and URL from a `zammad.properties` file or environment variables.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt"
        ],
        "commitId" : "76cd48a5efd336dc8c549ff95dde093f553d7dcc",
        "timestamp" : 1769704111000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "refactor: Integrate FeedbackDataSource into SchoolDataSource\u000a\u000aExtracted the `FeedBackDataSource` into the `SchoolDataSource` interface and its various implementations (`Http`, `Db`, `Repository`). This refactoring centralizes data source access.\u000a\u000aKey changes include:\u000a- Passing Zammad URL and token configurations from the `AppKoinModule` to `SchoolDataSourceHttp`.\u000a- Updating `ShareFeedbackViewModel` to obtain the `feedBackDataSource` via the main `SchoolDataSource`.\u000a- Removing the hardcoded Zammad URL from `FeedbackDataSourceHttp` and using the configured one instead.\u000a- Hiding the bottom navigation on the \"Share Feedback\" screen.\u000a",
        "date" : "2026-01-29 21:58:31 +0530",
        "id" : "76cd48a5efd336dc8c549ff95dde093f553d7dcc",
        "msg" : "refactor: Integrate FeedbackDataSource into SchoolDataSource",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt"
        ],
        "commitId" : "aeea06f22157081cdd4b39d9b45681bc3482b0f4",
        "timestamp" : 1769705189000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Handle feedback submission errors and hide navigation\u000a\u000a- Checks the HTTP response status after attempting to create a feedback ticket.\u000a- Displays a generic error message to the user if the ticket submission fails.\u000a- On the feedback submission confirmation screen, the bottom navigation is now hidden.\u000a- The `createTicket` function in the data source and view model now returns an `HttpResponse` to enable status checking.\u000a",
        "date" : "2026-01-29 22:16:29 +0530",
        "id" : "aeea06f22157081cdd4b39d9b45681bc3482b0f4",
        "msg" : "Handle feedback submission errors and hide navigation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncher.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncher.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt"
        ],
        "commitId" : "741ff12b56f782bf6fa602ae19402ce5b24b026d",
        "timestamp" : 1769706105000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Refactor: Append \"UseCase\" to launcher class names\u000a\u000aRenamed the `EmailLauncher`, `WebLauncher`, and `WhatsAppLauncher` classes and their corresponding Android implementations to `EmailLauncherUseCase`, `WebLauncherUseCase`, and `WhatsAppLauncherUseCase` respectively. This change makes their purpose as use cases clearer and aligns them with the project's naming conventions.\u000a\u000aThe `ShareFeedbackViewModel` and the Koin dependency injection module have been updated to reflect these new class names.\u000a",
        "date" : "2026-01-29 22:31:45 +0530",
        "id" : "741ff12b56f782bf6fa602ae19402ce5b24b026d",
        "msg" : "Refactor: Append \"UseCase\" to launcher class names",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncher.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncher.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncher.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WebLauncherUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt",
          "respect-app-compose/build.gradle.kts",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt",
          "respect-lib-shared/build.gradle.kts",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/sharefeedback/FeedBackDataSourceRepository.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt"
        ],
        "commitId" : "f4de51a39e15ee38525f4984521f1ff869953108",
        "timestamp" : 1769711106000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Removes the `FeedBackDataSource`, its HTTP implementation, and repository, along with their integration into the existing data source layers. The responsibility for feedback ticket creation has been moved from the data layer to the `ShareFeedbackViewModel`.\u000a\u000aAdditionally, Zammad API credentials (URL and token) are now configured through `buildConfigField` in the `respect-lib-shared` module, removing the previous hardcoded values and `respect-app-compose` build configurations.\u000a",
        "date" : "2026-01-29 23:55:06 +0530",
        "id" : "f4de51a39e15ee38525f4984521f1ff869953108",
        "msg" : "Removes the `FeedBackDataSource`, its HTTP implementation, and repository, along with their integration into the existing data source layers. The responsibility for feedback ticket creation has been moved from the data layer to the `ShareFeedbackViewModel`.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/sharefeedback/FeedBackDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/FeedBackDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/sharefeedback/FeedbackDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/build.gradle.kts",
          "respect-app-compose/build.gradle.kts"
        ],
        "commitId" : "d40c7cc0b87c46fff6d4993e6bd088461452db09",
        "timestamp" : 1769712553000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "feat: Refactored feedback property names for clarity and consistency.\u000a\u000aRenamed Zammad and Respect contact properties to use a `FEEDBACK_` prefix, improving clarity about their purpose. This change affects build configuration files (`build.gradle.kts`) by renaming build config fields and the property files from which they are loaded (e.g., `zammad.properties` to `feedback.properties`).\u000a\u000aSpecifically, the following properties were renamed:\u000a- `ZAMMAD_URL` to `FEEDBACK_ZAMMADURL`\u000a- `ZAMMAD_TOKEN` to `FEEDBACK_ZAMMADTOKEN`\u000a\u000aAdditionally, new properties for Respect's contact details were introduced with the same naming convention:\u000a- `FEEDBACK_RESPECTPHONENUMBER`\u000a- `FEEDBACK_RESPECTEMAILID`\u000a",
        "date" : "2026-01-30 00:19:13 +0530",
        "id" : "d40c7cc0b87c46fff6d4993e6bd088461452db09",
        "msg" : "feat: Refactored feedback property names for clarity and consistency.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/build.gradle.kts"
        ],
        "commitId" : "6d249989f5de189a7a2a9efda5faa9581d947a09",
        "timestamp" : 1769754663000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update build.gradle.kts\u000a",
        "date" : "2026-01-30 12:01:03 +0530",
        "id" : "6d249989f5de189a7a2a9efda5faa9581d947a09",
        "msg" : "Update build.gradle.kts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
        ],
        "commitId" : "6114a11cce90d520c07570b8502128178db91c0d",
        "timestamp" : 1769754866000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update AppKoinModule.kt\u000a",
        "date" : "2026-01-30 12:04:26 +0530",
        "id" : "6114a11cce90d520c07570b8502128178db91c0d",
        "msg" : "Update AppKoinModule.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCaseImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt",
          "respect-lib-shared/build.gradle.kts",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/ZammadTicketResponse.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt",
          "respect-app-compose/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCaseImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt"
        ],
        "commitId" : "a3eef313e4a16ce1ae3718a622c9691e3c799ecf",
        "timestamp" : 1769766902000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "feat: Integrate Zammad for feedback submission and refactor configuration\u000a\u000aIntegrated the feedback submission feature with the Zammad ticketing system. When a user submits feedback, a ticket is now created in Zammad, and the resulting ticket ID is passed to the confirmation screen.\u000a\u000aKey changes include:\u000a- A new `CreateTicketUseCase` is introduced to handle the API call to Zammad.\u000a- The `ShareFeedbackViewModel` now uses this use case to create a ticket and navigates to a success screen with the new ticket ID.\u000a- Configuration properties for Zammad (URL, token) and contact details (phone, email) have been moved from the `respect-app-compose` module to the `respect-lib-shared` module. This centralizes feedback-related settings.\u000a- The `EmailLauncherUseCase` and `WhatsAppLauncherUseCase` were updated to use the newly centralized contact information.\u000a",
        "date" : "2026-01-30 15:25:02 +0530",
        "id" : "a3eef313e4a16ce1ae3718a622c9691e3c799ecf",
        "msg" : "feat: Integrate Zammad for feedback submission and refactor configuration",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/sharefeedback/model/FeedbackTicket.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/WhatsAppLauncherUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/FeedbackTicket.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/CreateTicketUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/EmailLauncherUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/feedback/ZammadTicketResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/feedback/GetFeedbackInfoUseCaseImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/FeedbackSubmittedViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt"
        ],
        "commitId" : "ebdf205e7743ca2e21c120d1984761739dd04ca5",
        "timestamp" : 1769771208000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "feat: Display Zammad ticket ID on feedback submission screen\u000a\u000aAdds the Zammad ticket ID to the \"Feedback Submitted\" screen, making it visible to the user for reference. This ID is displayed in a new `Text` element and tagged for testing purposes.\u000a",
        "date" : "2026-01-30 16:36:48 +0530",
        "id" : "ebdf205e7743ca2e21c120d1984761739dd04ca5",
        "msg" : "feat: Display Zammad ticket ID on feedback submission screen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/FeedbackSubmittedScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
        ],
        "commitId" : "a2cb2fbb73001a7b5f887356164076ff6e989a18",
        "timestamp" : 1769773017000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "removed feedback changes from 003\u000a",
        "date" : "2026-01-30 15:36:57 +0400",
        "id" : "a2cb2fbb73001a7b5f887356164076ff6e989a18",
        "msg" : "removed feedback changes from 003",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
      "fullName" : "Pooja Ravi"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
      "fullName" : "mandvi.verma"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
      "fullName" : "noreply"
    }
  ]
}