Labels

JFrog Catalog

ft:sourceType
Paligo

Get a label with its assigned packages and package versions

{
  customCatalogLabel {
    getLabel(name: "my_label") {
      name
      description


      publicPackagesConnection(first:5) {
        edges {
          node {
            name
            type
          }
        }
      }
    
      publicPackageVersionsConnection(first:5) {
        edges {
          node {
            publicPackage {
              name
              type
            }
            version
          }
        }
      }
    }
  }
}

Get multiple labels with their assigned packages and package versions

{
  customCatalogLabel {
    searchLabels(first:10 where:{nameContainsFold:"my"} orderBy:{field:NAME, direction:ASC}) {
      edges {
        node{
          name
          description


          publicPackagesConnection(first:4) {
            edges {
              node {
                name
                type
              }
            }
          }


          publicPackageVersionsConnection(first:4) {
            edges {
              node {
                publicPackage {
                  name
                  type
                }
                version
              }
            }
          }
        }
      }
    }
  }
}

Get a package with its labels

{
  publicPackage {
    getPackage(name: "my_package" type: "npm") {
      name
      type


      customCatalogLabelsConnection(first:4) {
        edges {
          node {
            name
          }
        }
      }
    }
  }
}

Get a package version with its labels and its package with its labels

{
  publicPackageVersion {
    getVersion(name: "my_package" type: "npm" version: "1.0.0") {
      publicPackage {
        name
        type
        
        customCatalogLabelsConnection(first:4) {
          edges {
            node {
              name
            }
          }
        }
      }
      version


      customCatalogLabelsConnection(first:4) {
        edges {
          node {
            name
          }
        }
      }
    }
  }
}

Create a label

mutation {
   customCatalogLabel {
       createCustomCatalogLabel(label: {name: "my_label", description: "some description"}) {
           name
           description
       }
   }
}

Create multiple labels

mutation {
   customCatalogLabel{
       createCustomCatalogLabels(labels: [{name: "my_label1", description: "description1"}, {name: "my_label2", description: "description2"}]) {
           name
           description
       }
   }
}

Assign a label to a package

mutation {
    customCatalogLabel {
      assignCustomCatalogLabelsToPublicPackage(
        publicPackageLabels: {
          publicPackage: {name:"my_package", type:"npm"}
          labelNames:["my_label"]
        }
      )
   }
}

Assign a label to a package version

mutation {
  customCatalogLabel {
    assignCustomCatalogLabelsToPublicPackageVersion(
      publicPackageVersionLabels: {
        publicPackageVersion: {publicPackage: {name: "my_package", type: "npm"}, version: "1.0.0"}
        labelNames: ["my_label1"]
      }
    )
  }
}

Assign a label to multiple package versions

mutation {
  customCatalogLabel {
    assignCustomCatalogLabelToPublicPackageVersions(
      publicPackageVersionsLabel: {
        publicPackageVersions: [
          {publicPackage: {name: "my_package", type: "npm"}, version: "1.0.0"},
          {publicPackage: {name: "my_package", type: "npm"}, version: "1.0.0"}
        ],
        labelName: "my_label1"
      }
    )
  }
}

Remove labels from a package

mutation {
  customCatalogLabel {
    removeCustomCatalogLabelsFromPublicPackage(
      publicPackageLabels:{
        labelNames:["my_label", "my_label2"]
        publicPackage:{name:"my_package", type:"npm"}})
   }
}

Remove labels from a package version

mutation {
  customCatalogLabel {
    removeCustomCatalogLabelsFromPublicPackageVersion(
      publicPackageVersionLabels: {
        labelNames:["my_label1", "my_label2"]
        publicPackageVersion: {
          publicPackage: {name:"my_package", type:"npm"}
          version:"package_version"
        }
      }
    )
  }
}

Remove a label from multiple package versions

mutation {
  customCatalogLabel {
    removeCustomCatalogLabelFromPublicPackageVersions(
      publicPackageVersionsLabel: {
        labelName:"my_label1" 
        publicPackageVersions:[
          {publicPackage:{name:"my_package", type:"npm"} version: "1.0.0"} 
          {publicPackage:{name:"my_package", type:"npm"} version: "1.0.1"}
        ]
      }
    ) 
  }
}

Update a label

mutation {
  customCatalogLabel {
    updateCustomCatalogLabel(
  	label: {name: "my_label", updatedName: "my_label_new", updatedDescription: "updated description"}
    ) {
  	name
  	description
    }
  }
}

Delete a label

mutation {
  customCatalogLabel {
    deleteCustomCatalogLabel(label:{name:"my_label"})
   }
}

Delete multiple labels

mutation {
  customCatalogLabel {
    deleteCustomCatalogLabels(labels:[{name:"x1"}, {name:"x2"}])
  }
}

GraphQL API Error Messages

Error Message

Description

Creating more than 500 labels is not supported

Returned from CreateCustomCatalogLabels if given too many labels to create

Assigning more than 1 label is not supported

Returned from AssignCustomCatalogLabelsToPublicPackage and AssignCustomCatalogLabelsToPublicPackageVersion if given too many labels to assign

Some of the labels already exist

Returned from CreateCustomCatalogLabels and CreateCustomCatalogLabel if given labels that already exist.

Deleting more than 500 labels is not supported

Returned from DeleteCustomCatalogLabels if given too many labels to delete

Removing more than 500 labels assignments in a single operation is not supported

Returned from RemoveCustomCatalogLabelsFromPublicPackage and RemoveCustomCatalogLabelsFromPublicPackageVersion if given too many labels to remove their assignment and from RemoveCustomCatalogLabelFromPublicPackageVersions if given too many versions to remove their assignment

Assigning a label to more than 500 package versions in a single operation is not supported

Returned from AssignCustomCatalogLabelToPublicPackageVersions if given too many versions for label assignment

A label name cannot be empty

Returned from CreateCustomCatalogLabel,and CreateCustomCatalogLabels if given empty name for new label, and UpdateCustomCatalogLabel if given label to rename and the new name is empty.

Labels must be specified for the assignment

Returned from AssignCustomCatalogLabelsToPublicPackage and AssignCustomCatalogLabelsToPublicPackageVersion if list of labels to assign is empty

A requested package version already has a label assigned. More than one label per package version is not supported yet

Returned from AssignCustomCatalogLabelsToPublicPackageVersion if the version already has a label, from AssignCustomCatalogLabelToPublicPackageVersions if one of the given versions already has a label

A requested package already has a label assigned. More than one label per package is not supported yet

Returned from AssignCustomCatalogLabelsToPublicPackageVersion if the package is already assigned a label, from AssignCustomCatalogLabelsToPublicPackageVersion if the version’s package has a label, and RemoveCustomCatalogLabelFromPublicPackageVersions if any of the versions’ packages already has a label

Label name is too long {label_name}, must have fewer than 1000 characters

Returned from CreateCustomCatalogLabels and UpdateCustomCatalogLabel if given a label that’s too long

Label description is too long {label_description}, must have fewer than 10000 characters

  • {label_description} will be the requested label description

  • Returned from CreateCustomCatalogLabels and UpdateCustomCatalogLabel if given a description that’s too long

Label {label_name} does not exist

  • {label_name} will be the requested label name

  • Returned from UpdateCustomCatalogLabel, if given a label to update that, doesn’t exist

Label with name {label_name} already exists

  • {label_name} will be the requested label name

  • Returned from UpdateCustomCatalogLabel if given a label to rename and the new name already exists as another label

The following labels were not found:[ {label_names}]. All labels must exist when assigned

  • {label_names} will be replaced with comma separated list of label names

  • Returned from AssignCustomCatalogLabelsToPublicPackage, AssignCustomCatalogLabelsToPublicPackageVersion, and AssignCustomCatalogLabelToPublicPackageVersions if labels given for assignments are missing