Skip to content

feat(evidence): Add JFrog Evidence task (jf evd create-evidence) - #649

Open
tiwarishrijan wants to merge 2 commits into
jfrog:devfrom
tiwarishrijan:feature/evd-task
Open

feat(evidence): Add JFrog Evidence task (jf evd create-evidence)#649
tiwarishrijan wants to merge 2 commits into
jfrog:devfrom
tiwarishrijan:feature/evd-task

Conversation

@tiwarishrijan

@tiwarishrijan tiwarishrijan commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Implements the JFrog Evidence Azure DevOps extension task, wrapping the JFrog CLI's jf evd create-evidence command. The task lets users attach signed, predicate-based evidence (SLSA/custom attestations) to a build, release bundle, package, application, or arbitrary repository path, with optional local/Artifactory attachments and DSSE signing (private key or pre-signed Sigstore bundle).

Changes

New task — tasks/JFrogEvidence/

  • evidence.ts — builds and executes the jf evd create-evidence CLI command:
    • Predicate options (--predicate, --predicate-type, --markdown, --integration sonar)
    • Signing options (--key, --key-alias, --sigstore-bundle)
    • Subject options via a subjectType picker: build, release bundle, package, application, or repository path (--build-name/--build-number, --release-bundle/--release-bundle-version, --package-name/--package-repo-name/--package-version, --application-key/--application-version, --subject-repo-path/--subject-sha256)
    • Attachment options via an attachmentSource picker: local file (--attach-local + --attach-artifactory-temp-path) or existing Artifactory path (--attach-artifactory-path)
    • Misc: --provider-id, --type, --project, --format
  • task.json — full input schema, grouped into Predicate / Signing / Subject / Attachments / Advanced UI sections with visibleRules so incompatible fields (e.g. predicate/key fields when a Sigstore bundle is supplied) auto-hide
  • package.json, icon.png, .gitignore — standard task scaffolding

Tests

  • tests/testUtils.ts — added evidence task path export
  • tests/resources/evidence/ — new fixtures and mock-task scripts:
    • upload.js / createOnPath.js — evidence attached to a repository-path subject
    • buildUpload.js / buildPublish.js / createOnBuild.js — evidence attached to a build subject, including a local-file attachment
  • tests/tests.ts — new Evidence Tests suite (gated by ADO_SKIP_TESTS=evidence)

Misc

  • package.json — added @types/semver dev dependency

CLI integration

Wraps jf evd create-evidence (see JFrog CLI Evidence docs).

Checklist

  • All tests passed. If this feature is not already covered by the tests, I added new tests.
  • This pull request is on the dev branch.
  • I used npm run format for formatting the code before submitting the pull request.

@tiwarishrijan
tiwarishrijan marked this pull request as ready for review August 18, 2026 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant