Skip to content

Update JobID for RetryJob mutation in GraphQL

Laura Montemayor requested to merge fix-global-id into master

What does this MR do and why?

A few milestones ago the ability to retry a bridge/trigger job through the UI was implemented. This MR updates the mutation to retry a pipeline so that the JobID can be a Ci::Processable, which is the parent of Ci::Bridge and Ci::Build.

How to set up and validate locally

In a project with a trigger job/bridge, run the following mutation in GraphQL:

mutation {
  jobRetry(input: {id: "gid://gitlab/Ci::Bridge/971"}) {
    job {
      id
      status
    }
    errors
  }
}

Previously, the following error would occur: "message": "gid://gitlab/Ci::Bridge/971" does not represent an instance of Ci::Build" , since the JobID referenced in Mutations::Ci::Job::Base would be referring to Ci::Build.

Now if the mutation is run, the retry succeeds as expected - PENDING status is expected:

{
  "data": {
    "jobRetry": {
      "job": {
        "id": "gid://gitlab/Ci::Bridge/1010",
        "status": "PENDING"
      },
      "errors": []
    }
  }
}

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Laura Montemayor

Merge request reports