feat(#6334): add openshell provider and profile for Jira - #6335
Conversation
Add credential delivery tier 2 integration for Jira Cloud so agents running inside the sandbox can reach the Jira REST API. Provider (providers/jira.yaml): declares the jira provider with the fullsend-jira profile type and the _NOOP_JIRA credential placeholder (OpenShell #1978 workaround), matching the pattern used by all existing providers. Profile (profiles/fullsend-jira.yaml): scopes egress to *.atlassian.net:443 with read-write access and enforcement, and allows curl and node binaries. The wildcard host covers all Jira Cloud instances; self-hosted instances would need a custom profile per ADR 0075 local-path support. Category is data (external data source, not source control or inference), matching gitleaks and package-registries. The open questions from the issue (composite credential injection for Basic auth, variable endpoint host) are addressed pragmatically: the provider uses the standard single-placeholder pattern, and the profile uses a wildcard host. Composite credential transformation (joining email + token and base64-encoding) would require upstream OpenShell support; until then, users can provide a pre-encoded token. Note: pre-commit could not run (network restrictions in sandbox). yamllint and other hook checks deferred to CI. Closes #6334
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
🤖 Finished Review · ✅ Success · Started 6:18 PM UTC · Completed 6:31 PM UTC Commit: |
ReviewFindingsMedium
Low
Previous runReviewFindingsMedium
Low
Previous run (2)ReviewFindingsMedium
Low
Labels: PR adds sandbox-level OpenShell provider and egress profile for Jira Cloud |
|
/fs-fix address unresolved findings |
|
🤖 Finished Fix · ✅ Success · Started 8:33 PM UTC · Completed 8:40 PM UTC Commit: |
- Rename profile from fullsend-jira to fullsend-atlassian-cloud to reflect the wildcard host scope, and add inline comment documenting the accepted risk (per reviewer and maintainer agreement) - Add credential format documentation to providers/jira.yaml explaining the pre-encoded base64 token workaround - Document sandbox credential provider and network profile in the Jira integration guide Addresses review feedback on #6335
🔧 Fix agent — iteration 1 (human-triggered)Addressed 4 of 4 review findings. Renamed profile to fullsend-atlassian-cloud per maintainer instruction, documented accepted wildcard risk, added credential format documentation, and added sandbox plumbing docs to the Jira integration guide. Curl binary inclusion accepted as-is per maintainer. Fixed (4):
Disagreed (1):
Tests: passedNext steps:
|
|
🤖 Review · ❌ Terminated · Started 8:42 PM UTC · Ended 8:59 PM UTC Commit: |
Site previewPreview: https://2b4fa46b-site.fullsend-ai.workers.dev Commit: |
|
🤖 Finished Review · ✅ Success · Started 8:42 PM UTC · Completed 8:59 PM UTC Commit: |
|
/fs-fix address remaining open findings |
|
🤖 Finished Fix · ✅ Success · Started 7:40 PM UTC · Completed 7:47 PM UTC Commit: |
- Rename provider from jira to atlassian-cloud to match profile id naming convention (provider name = profile suffix after fullsend-) - Normalize provider comment to single-line workaround reference, matching the pattern used by all other providers - Move credential format documentation to the user guide - Fix documentation accuracy: profiles/ and providers/ are layered content provided at runtime, not installed to .fullsend Addresses review feedback on #6335
🔧 Fix agent — iteration 2 (human-triggered)Addressed 3 open review findings: fixed documentation accuracy (layered content, not installed), renamed provider to atlassian-cloud to match profile naming convention per human instruction, and normalized comment format. Disagreed with 2 duplicate findings already resolved in iteration 1. Fixed (3):
Disagreed (2):
Tests: passed Decision points
Next steps:
|
|
🤖 Finished Review · ✅ Success · Started 7:49 PM UTC · Completed 8:05 PM UTC Commit: |
|
🤖 Finished Retro · ❌ Failure · Started 8:28 PM UTC · Completed 8:28 PM UTC Commit: |
Summary
Add openshell credential provider and profile for Jira Cloud, enabling agents running inside the sandbox to reach the Jira REST API via credential delivery tier 2 (ADR 0025).
Related Issue
Closes #6334
Changes
providers/jira.yaml— declares thejiraprovider withfullsend-jiraprofile type and the_NOOP_JIRAcredential placeholder (OpenShell Review agent should withhold approval when dependency bot PR violates project's own dependency config #1978 workaround), following the existing provider patternprofiles/fullsend-jira.yaml— scopes egress to*.atlassian.net:443with read-write access and enforcement, allowscurlandnodebinaries, categorized asdataDesign decisions
*.atlassian.net): Jira Cloud instances are per-customer, so the profile uses a wildcard. Self-hosted instances would need a custom profile via ADR 0075 local-path support.data— Jira is an external data source, matching the pattern ofgitleaksandpackage-registries.curlandnode— agents may use either to make HTTP requests to the Jira API from within the sandbox.email:token). The provider uses the standard single-placeholder pattern; composite transformation would need upstream OpenShell support. Users can provide a pre-encoded token as a workaround.Testing
go test ./internal/scaffold/...passes (includesTestAllScaffoldYAMLDocumentStartMarkerwhich validates the---document start marker)go vet ./internal/scaffold/...passesCloses #6334
Post-script verification
agent/6334-add-jira-provider-profile)9ecbd9b395b0e00a10f2a959b7e83503ff718bd1..HEAD)