Skip to content

Add comprehensive Devin file operations workflow demonstration#24

Open
devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1762363367-demonstrate-file-operations
Open

Add comprehensive Devin file operations workflow demonstration#24
devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
devin/1762363367-demonstrate-file-operations

Conversation

@devin-ai-integration

Copy link
Copy Markdown

Add comprehensive Devin file operations workflow demonstration

Summary

This PR adds a new GitHub Actions workflow (devin-file-operations.yml) that demonstrates the complete file operations capabilities of the Devin API GitHub Action. The workflow showcases how to:

  1. Create a Devin session for automated code analysis
  2. Upload context files to provide Devin with project-specific information (upload-files)
  3. Send additional instructions via messages (send-message)
  4. Download analysis deliverables from Devin sessions (download-attachment-files - newly implemented)
  5. Update session tags for organization (update-tags)
  6. Save downloaded files as workflow artifacts

The workflow is triggered manually (workflow_dispatch) and provides four analysis types: security-audit, code-quality-review, architecture-analysis, and performance-analysis. It uploads three context files (project structure, security checklist, analysis instructions) to guide Devin's analysis.

Key Points:

  • This is a demonstration/documentation workflow, not production-ready code
  • References the feature branch @devin/1762363168-devin-api-download-attachments from DEVIN-GITHUB-ACTIONS PR #4
  • Uses placeholder UUIDs (REPLACE_WITH_ACTUAL_UUID) in download steps - clearly documented in the workflow output
  • Complements existing workflows (devin-code-review.yml, devin-test-fix.yml) by showcasing file operations

Review & Testing Checklist for Human

  • Verify YAML syntax - Ensure the workflow file is valid YAML and follows GitHub Actions best practices
  • Review branch reference - The workflow references @devin/1762363168-devin-api-download-attachments. Decide if this should be merged now or wait for PR Optimize HikariCP connection pooling across all microservices #4 to merge, then update to @main
  • Test workflow manually - Trigger the workflow with an actual DEVIN_API_KEY secret to verify it creates a session and uploads files correctly. Note: Download steps will fail with placeholder UUIDs (expected behavior)
  • Verify demonstration accuracy - Review that the workflow correctly demonstrates the intended file operations and serves its documentation purpose
  • Check file paths - Confirm /tmp/devin-context is appropriate for GitHub's ubuntu-latest runners

Test Plan

  1. Ensure DEVIN_API_KEY secret is configured in the repository
  2. Manually trigger the workflow via Actions tab with any analysis type
  3. Verify the workflow successfully:
    • Creates a Devin session (check session URL in output)
    • Uploads the three context files
    • Displays clear documentation about placeholder UUIDs
  4. (Optional) For full end-to-end testing: Wait for a Devin session to complete and upload files, then update the UUIDs and re-run to verify download functionality

Notes

  • This PR depends on DEVIN-GITHUB-ACTIONS PR #4 which implements the download-attachment-files endpoint
  • The placeholder UUIDs are intentional - they demonstrate the API structure while making it clear that real UUIDs are needed
  • Once PR Optimize HikariCP connection pooling across all microservices #4 merges, consider updating the branch reference to @main or a semantic version tag
  • The workflow includes detailed comments and output messages to serve as inline documentation

Link to Devin run: https://app.devin.ai/sessions/de834578e708491d9e12a84dffc5d1c0
Requested by: Sam Fertig (@samfert-codeium)

This workflow demonstrates the complete Devin API file operations
including the newly implemented download-attachment-files endpoint.

Features demonstrated:
- Create Devin session for code analysis
- Upload context files to session (upload-files)
- Send additional instructions (send-message)
- Download analysis deliverables (download-attachment-files)
- Update session tags (update-tags)
- Save downloaded files as workflow artifacts

The workflow provides a practical example of using Devin for
automated code analysis with file uploads and downloads, showcasing
all file-related API operations in a real-world scenario.

Related PR: samfert/DEVIN-GITHUB-ACTIONS#4
Requested by: Sam Fertig (@samfert-codeium)
Devin session: https://app.devin.ai/sessions/de834578e708491d9e12a84dffc5d1c0

Co-Authored-By: Sam Fertig <sam.fertig@codeium.com>
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

The existing workflows were using an older branch of the devin-action
(@devin/1762304734-devin-action-implementation) which had a JSON encoding
bug when handling multi-line prompts. This was causing the devin-review
CI check to fail with 'JSON decode error: Invalid control character'.

Updated both workflows to use the newer branch
(@devin/1762363168-devin-api-download-attachments) which includes:
- Proper JSON encoding for multi-line prompts
- The new download-attachment-files endpoint
- All 19 Devin API operations

This fixes the CI failure in PR #24.

Co-Authored-By: Sam Fertig <sam.fertig@codeium.com>
@github-actions

github-actions Bot commented Nov 5, 2025

Copy link
Copy Markdown

🤖 Devin Code Review

Devin is reviewing this pull request for:

  • Code quality and best practices
  • Security vulnerabilities
  • Spring Boot and microservices patterns
  • Test coverage

Session URL: https://app.devin.ai/sessions/a336da3493e44db9967383a02e8971a8
Session ID: devin-a336da3493e44db9967383a02e8971a8

Devin will analyze the changes and provide feedback. You can monitor the progress at the session URL above.


This review was automatically triggered by the GitHub Actions workflow.

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.

0 participants