When creating a personal access token credential, there is no way to set the credential ID, unlike most other credential types.
The advantage to being able to do this is that the credential ID can be used in pipelines and JobDSL code in a consistent way across multiple servers. I want to be able to assume in a Job DSL specification that a personal access token must exist with a given ID. As it's currently set up, I have to add the credential to Jenkins to get its randomly assigned ID, and then commit that to my various pipeline scripts.
I know there are workarounds - e.g. putting the credential ID into an environment variable - but this is out of step with other credential types.