Search code examples
projectgithub-api

GitHub API - how to move an issue to a project?


There are several ways to move a Github issue to a Project board through the GitHub user interface, but there doesn't seem to be any way to do this via the API (either v3 or v4). Is this missing functionality?


Solution

  • 2019: You can:

    That is:

    • The first one allows you to associate an issue to a project card,

    content_id: The issue or pull request id you want to associate with this card. You can use the List issues for a repository and List pull requests endpoints to find this id.
    Note: Depending on whether you use the issue id or pull request id, you will need to specify Issue or PullRequest as the content_type.

    • the second one allows you to move a card (and its associated issue)

    • As noted by Nils in the comments, use the ID of the issue, not the number (which I usually associate with the issue) as content_id. Otherwise, it will not work.

    Those two calls ought to be enough.


    The OP Ken Liu asked in the comments if there is any way to add an issue to a project without adding it to a project column.

    seth suggests:

    You can add an issue to the repo using code (GitHub API) as per creating an issue


    2023 (June): since the GitHub CLI gh v2.31.0, you now have a gh project item-add command:

    # add an item to monalisa's project "1"
    gh project item-add 1 --owner monalisa --url https://github.com/monalisa/myproject/issues/23
    

    Note that, while there is a project REST API v3, pkg/cmd/project/item-add/item_add.go uses GitHub API v4: GraphQL.