Forge Staging Review and Testing for Anton
# Forge App Staging Test Report
## Installation
Install via the `forge install` command was straightforward ✅
```shell
❯ forge install -e staging
? Select an Atlassian app or platform tool: Jira
? Enter the site URL: antons-gitlab-sandbox.atlassian.net
Your app will be installed with the following scopes:
- read:connect-jira
- write:connect-jira
- delete:connect-jira
Your app will exchange data with the following urls:
- gitlab.com
? Do you want to continue? Yes
✔ Install in Jira complete!
```
> **Note:** During uninstall testing, another developer's forge app (Ben King's) was visible in the app list. This is presumably a staging environment behaviour.
```shell
❯ forge uninstall -e staging
? Select where to uninstall the app:
┌─────────────┬─────────────────────────────────────┬───────────────┐
│ Environment │ Site │ Atlassian app │
├─────────────┼─────────────────────────────────────┼───────────────┤
│ ❯ staging │ antons-gitlab-sandbox.atlassian.net │ Jira │
├─────────────┼─────────────────────────────────────┼───────────────┤
│ ◯ staging │ bking-gitlab.atlassian.net │ Jira │
└─────────────┴─────────────────────────────────────┴───────────────┘
```
Installing the app replaced the Connect app of the same app ID as expected ✅
## Setup
Once installed, the app was connected to `gitlab.com` without issue.
## Feature Testing
### gitlab.com (SaaS)
| Feature | Status |
|---|---|
| Login to the app | ✅ |
| Add group link | ✅ |
| Remove group link | ✅ |
| Search for group | ✅ |
| Initial backfill (100 branches + latest commit, 100 merge requests) | ✅ |
| Create branch and synced to Jira | ✅ |
| Create commit and synced to Jira | ✅ |
| Create deployment and synced to Jira | ✅ |
| Create merge request and synced to Jira | ✅ |
| Create pipeline and synced to Jira | ✅ |
| Create feature request and synced to Jira | ✅ |
| Create branch via development panel | ✅ |
### gitlab.asmith.nz (Self-Managed)
| Feature | Status |
|---|---|
| Login to the app | ✅ |
| Add group link | ✅ |
| Remove group link | ✅ |
| Search for group | ✅ |
| Initial backfill (100 branches + latest commit, 100 merge requests) | ✅ |
| Create branch and synced to Jira | ✅ |
| Create commit and synced to Jira | ✅ |
| Create deployment and synced to Jira | ✅ |
| Create merge request and synced to Jira | ✅ |
| Create pipeline and synced to Jira | ✅ |
| Create feature request and synced to Jira | ✅ |
## Recommendations
- **App name should include the domain:** Some customers have both the Marketplace app and a manually installed app in the same Jira instance. Without the domain in the app name, these are indistinguishable (eg. in the "Create branch" development panel dropdown). The Connect app [already handles this](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/175353) by appending the hostname for manually installed apps — the Forge app should do the same.
## Notes & Assumptions
1. **Data inheritance:** The app key is `gitlab-jira-connect-gitlab.com`. I assume the Forge app will automatically inherit any development data already synced by the Connect app since they share the same app ID. **This is high priority to confirm** — given how limited our backfill is, data not being preserved would be a significant problem for customers.
2. **Visible forge apps during uninstall:** Ben King's site (`bking-gitlab.atlassian.net`) is visible in the uninstall list, likely because we share the same app key on staging. I assume this won't affect customers but just making a note of that here.
3. **Migration transparency:** Based on the behaviour observed during testing (the Forge app replacing the Connect app of the same app ID), I assume the migration will be transparent to existing users once deployed to production.
4. **Manual installs:** Our test doesn't cover manual installs. I assume the [TESTING.md](https://gitlab.com/gitlab-org/gitlab-jira-forge/-/raw/main/TESTING.md?ref_type=heads) guide would replace the existing [manual installation docs](https://docs.gitlab.com/administration/settings/jira_cloud_app/#set-up-your-instance-for-manual-installation) for this flow but users would need to specify their GitLab self-managed URL somehow. We will need to update the docs accordingly. It's unclear how a user would generate a manifest for a manual install — I assume this hasn't been built yet, but this is a crucial install method that needs to be addressed before the end of March.
6. **Chrome bug:** The existing bug in Chrome that prevents signing into self-managed instances in the Connect app is still present in the Forge app. I'm not sure if this is a "me" issue or something more widespread, but just noting it here.
{width=900 height=569}
issue