and though bugs are the bane of my existence, rest assured the wretched thing will get the best of care here

Repository submodules API (FREE)

Introduced in GitLab 11.5

Update existing submodule reference in repository

In some workflows, especially automated ones, it can be useful to update a submodule's reference to keep up to date other projects that use it. This endpoint allows you to update a Git submodule reference in a specific branch.

PUT /projects/:id/repository/submodules/:submodule
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project owned by the authenticated user
submodule string yes URL-encoded full path to the submodule. For example, lib%2Fclass%2Erb
branch string yes Name of the branch to commit into
commit_sha string yes Full commit SHA to update the submodule to
commit_message string no Commit message. If no message is provided, a default one will be set
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/5/repository/submodules/lib%2Fmodules%2Fexample" \
--data "branch=master&commit_sha=3ddec28ea23acc5caa5d8331a6ecb2a65fc03e88&commit_message=Update submodule reference"

Example response:

{
  "id": "ed899a2f4b50b4370feeea94676502b42383c746",
  "short_id": "ed899a2f4b5",
  "title": "Updated submodule example_submodule with oid 3ddec28ea23acc5caa5d8331a6ecb2a65fc03e88",
  "author_name": "Dmitriy Zaporozhets",
  "author_email": "dzaporozhets@sphereconsultinginc.com",
  "committer_name": "Dmitriy Zaporozhets",
  "committer_email": "dzaporozhets@sphereconsultinginc.com",
  "created_at": "2018-09-20T09:26:24.000-07:00",
  "message": "Updated submodule example_submodule with oid 3ddec28ea23acc5caa5d8331a6ecb2a65fc03e88",
  "parent_ids": [
    "ae1d9fb46aa2b07ee9836d49862ec4e2c46fbbba"
  ],
  "committed_date": "2018-09-20T09:26:24.000-07:00",
  "authored_date": "2018-09-20T09:26:24.000-07:00",
  "status": null
}