OpenHands icon indicating copy to clipboard operation
OpenHands copied to clipboard

"solve github issue" workflow

Open neubig opened this issue 10 months ago • 14 comments

What problem or use case are you trying to solve?

It would be nice if we could easily point OpenDevin at a github issue and have it resolve that issue.

Describe the UX of the solution you'd like

We could write

Please resolve this issue: https://github.com/OpenDevin/OpenDevin/pull/1065

OpenDevin would resolve the issue, and then optionally open a PR to resolve the issue.

Do you have thoughts on the technical implementation?

Currently this does not work in OpenDevin, partly due to limited web browsing capability. In addition, there is not an easy way to specify a github token to open a pull request.

Additional context

SWE-Agent has implemented this workflow, and it may serve as a good reference: https://github.com/princeton-nlp/SWE-agent?tab=readme-ov-file#-quickstart-solve-real-life-github-issues-

neubig avatar Apr 13 '24 01:04 neubig

I was waiting for it so it would be awesome. We might need to put AutoCodeRover and SWE-Agent inside.

PierrunoYT avatar Apr 13 '24 08:04 PierrunoYT

Hi @foragerr , I think you started working on this at some point, right? I was looking for the PR that you opened but wasn't able to find it.

neubig avatar Apr 14 '24 03:04 neubig

@neubig Instructions here: https://github.com/OpenDevin/OpenDevin/issues/198#issuecomment-2040890496 tl;dr : add a label dogfood-this to any issue in this repo, it will kick off an Actions workflow to run the Monologue agent and attempt to raise a PR.

PR here: https://github.com/OpenDevin/OpenDevin/pull/803

foragerr avatar Apr 14 '24 03:04 foragerr

I don't recall if @rbren got around to adding an openAI key into repo secrets.

foragerr avatar Apr 14 '24 03:04 foragerr

Ah, that's great. It'd also be nice if we could achieve the UX that I posted above though, just say through the normal UI "fix this issue" linked to a GitHub issue and have opendevin fix it.

neubig avatar Apr 14 '24 04:04 neubig

Do you know if web browsing (via playwright?) works now? Being able to access web content is necessary for the workflow you're describing.

foragerr avatar Apr 14 '24 04:04 foragerr

Thanks @foragerr, it probably is not, in which case it will need to be fixed. I actually suspect that we'll have to open/close several sub-issues to make this workflow work. Please feel free to open an issue and link it here! (or I can do it later)

neubig avatar Apr 14 '24 11:04 neubig

I'm looking into this.

foragerr avatar Apr 14 '24 18:04 foragerr

@foragerr FYI: https://github.com/OpenDevin/OpenDevin/actions/runs/8685542945/job/23815222805

Looks like we'll need to figure out the sandbox. I know in CircleCI there's a way to access a docker daemon, not sure about GitHub

rbren avatar Apr 15 '24 12:04 rbren

GiHub actions does docker, SSHBox is new since I last worked on this, there maybe some networking differences preventing the SSH connection.

I'll take a look.

foragerr avatar Apr 15 '24 12:04 foragerr

Splitting issue with existing workflow into a separate issue: https://github.com/OpenDevin/OpenDevin/issues/1150

foragerr avatar Apr 16 '24 02:04 foragerr

This seems to currently be blocked by our browser not working: https://github.com/OpenDevin/OpenDevin/issues/1276

The first step to resolving github issues is understanding them, and if OpenDevin cannot browse to issues, then it can't fix them.

neubig avatar Apr 21 '24 22:04 neubig

@neubig could we use the GitHub API? That might be easier (for the agent) than using browse

rbren avatar Apr 23 '24 21:04 rbren

Yeah, I think that is a better option

neubig avatar Apr 23 '24 22:04 neubig