Automate creation of branch + pull-request I have a repository (call it repo-X) of shell.nix files that define development environments for a number of separate projects (call them project-A, project-B).

When one of the projects releases a new version, I run a suite of automated tests in repo-X for the relevant shell.nix file, and if all goes well, I increment the version number in that file to match the new version of the project it supports.

I'd like to automate this process. I'm using Jenkins and GitHub to build PRs, but I'm not sure how I'd use CI to author a feature branch and create a corresponding PR.

I'm having a hard time even finding references/ideas, but maybe I'm searching for the wrong terms. What tooling should I look into for this?
You want a RCS/VCS that handles the version incrementally for you. I'm not sure how this relates to CI as the idea is to Continuously Integrate instead of spawning more branches. I'm not sure what you're using for your PR's, so I'll use Atlassian Bitbucket as an example. In the response to pushing up a new branch you get back the url for creating a PR which has an API which you can call to create your PR.
Git commands will do the branching for you: 

# Get the latest description, usually based on tags : https://git-scm.com/book/en/v2/Git-Basics-Tagging
$branchName = git describe
# Checkout the new branch 
git checkout -b $branchName
# Push up the branch to origin
git push --set-upstream origin feature/$branchName


It's best to have a firm grasp of git when dealing with VCS. 
* https://try.github.io/ 
* https://git-scm.com/book/en/v2/Getting-Started-Git-Basics