Updated on 2025-12-05 GMT+08:00

Creating a Non-Maven Repository

Function

This API is used to create a non-Maven repository.

Calling Method

For details, see Calling APIs.

URI

POST /cloudartifact/v5/artifact/

Request Parameters

Table 1 Request body parameters

Parameter

Mandatory

Type

Description

format

Yes

String

Definition

Package type.

Constraints

N/A.

Range

docker, npm, go, pypi, rpm, composer, debian, conan, nuget, docker2, cocoapods, ohpm, and generic.

Default value

None

type

Yes

String

Definition

Repository type.

Constraints

N/A.

Range

hosted: local repository

Default value

None

repository_name

Yes

String

Definition

Repository name.

Constraints

String length: 1–50 characters.

Range

N/A.

Default value

None

description

No

String

Definition

Repository description.

Constraints

Maximum length: 200 characters.

Range

N/A.

Default value

None

includes_pattern

Yes

String

Definition

Include Patterns.

Constraints

Maximum length: 512 characters.

Range

N/A.

Default value

None

project_id

No

String

Definition

Project ID, which can be obtained by calling an API or from the console. For details about how to obtain the project ID, see Obtaining a Project ID (CloudArtifact_api_0015.xml).

Constraints

The value contains 32 characters. Only letters and digits are supported.

Range

N/A.

Default value

None

share_right

No

String

Definition

Shared permissions.

Constraints

N/A.

Range

PROJECT

Default value

None

Response Parameters

Status code: 200

Table 2 Response body parameters

Parameter

Type

Description

status

String

Definition

Request status.

Range

success: The request is successful.

error: The request fails.

trace_id

String

Definition

Request ID, which uniquely identifies the current request.

Range

A string of digits and hyphens (-).

result

CreateArtifactoryResult object

Definition

Repository information.

Range

N/A.

Table 3 CreateArtifactoryResult

Parameter

Type

Description

artifactory

RepositoryDO object

Definition

Repository information.

Range

N/A.

Table 4 RepositoryDO

Parameter

Type

Description

status

String

Definition

Repository status.

Range

active: Normal.

delete: Deleted.

disabled: Invalid.

view: Viewer of self-hosted repos.

trash: Deprecated.

domainId

String

Definition

Tenant ID.

Range

N/A.

region

String

Definition

Area.

Range

N/A.

createdTime

String

Definition

Creation time, in yyyy-MM-dd HH:mm:ss format.

Range

N/A.

modifiedTime

String

Definition

Modification time, in yyyy-MM-dd HH:mm:ss format.

Range

N/A.

createdUserId

String

Definition

Creator ID.

Range

N/A.

createdUserName

String

Definition

Creator name.

Range

N/A.

modifiedUserId

String

Definition

Modifier ID.

Range

N/A.

modifiedUserName

String

Definition

Modifier name.

Range

N/A.

name

String

Definition

Repository ID.

Range

N/A.

disable

Boolean

Definition

Disabled or not.

Range

N/A.

format

String

Definition

Package type.

Range

maven, maven2, npm, go, pypi, rpm, composer, debian, conan, nuget, docker2, cocoapods, ohpm, generic, helm, conda, and huggingfaceml.

type

String

Definition

Repository type.

Range

hosted: local repository

remote: proxy repository

virtual: virtual repository

policy

String

Definition

Repository policies.

Range

release or snapshot

tabId

String

Definition

tab_id is used to identify a pair of Maven repositories (Release and Snapshot). A tab_id indicates a pair of Maven repositories.

Range

N/A.

repositoryName

String

Definition

Repository name.

Range

N/A.

displayName

String

Definition

Repository name displayed.

Range

N/A.

description

String

Definition

Repository description.

Range

N/A.

snapshot

String

Definition

Snapshot repository name. Either Release or Snapshot or both must be selected.

Range

N/A.

release

String

Definition

Release repository name. Either Release or Snapshot or both must be selected.

Range

N/A.

npm

String

Definition

npm.

Range

N/A.

snapshotStatus

String

Definition

Snapshot repository status.

Range

N/A.

releaseStatus

String

Definition

Release repository status.

Range

N/A.

projectId

String

Definition

Project ID.

Range

N/A.

includesPattern

String

Definition

Include Patterns.

Range

N/A.

repositoryIds

Array of strings

Definition

Repository ID list.

Range

N/A.

uri

String

Definition

URI.

Range

N/A.

deploymentPolicy

String

Definition

Deployment policies.

Range

N/A.

repositories

Array of strings

Definition

Repository list.

Range

N/A.

parentRepoName

String

Definition

Parent repository name.

Range

N/A.

userName

String

Definition

Username.

Range

N/A.

password

String

Definition

Password.

Range

N/A.

remoteUrl

String

Definition

Proxy repository address.

Range

N/A.

defaultDeployRepository

String

Definition

Default repository.

Range

N/A.

remoteType

String

Definition

Proxy repository type.

Range

public: public proxy repository

customize: custom proxy repository

proxy

String

Definition

Proxy.

Range

N/A.

allowAnonymous

Boolean

Definition

Anonymous download allowed or not.

Range

N/A.

autoCleanSnapshot

Boolean

Definition

Automatic snapshot version clearing enabled or not.

Range

N/A.

snapshotAliveDays

String

Definition

Validity period of a snapshot version, in days.

Range

N/A.

maxUniqueSnapshots

String

Definition

Max. number of snapshots.

Range

N/A.

shareRight

String

Definition

Shared permissions.

Range

PROJECT

nexuRepo

Boolean

Definition

Nexus repository or not.

Range

N/A.

url

String

Definition

Repository URL.

Range

N/A.

packageType

String

Definition

Package type.

Range

maven, maven2, npm, go, pypi, rpm, composer, debian, conan, nuget, docker2, cocoapods, ohpm, generic, helm, conda, and huggingfaceml.

Example Requests

This API is used to create a non-Maven repository.

https://artifact.example.myhuaweicloud.com/cloudartifact/v5/artifact/

{
  "repository_name" : "test-pypi",
  "type" : "hosted",
  "format" : "pypi",
  "description" : "",
  "includes_pattern" : "**/*",
  "share_right" : "PROJECT",
  "project_id" : "e2ee90487d6349dd944a5767225f6f55"
}

Example Responses

Status code: 200

OK

{
  "status" : "success",
  "trace_id" : "143003-1701176455154-4616",
  "result" : {
    "artifactory" : {
      "status" : null,
      "domainId" : "5a775fdcb14f4431b6c0015618140bc3",
      "region" : "xx-xxxxx-x",
      "createdTime" : null,
      "modifiedTime" : null,
      "createdUserId" : "e9253deb37654775bb3c411aca89153a",
      "createdUserName" : "devcloud_devcloud_y00226182_01",
      "modifiedUserId" : "e9253deb37654775bb3c411aca89153a",
      "modifiedUserName" : "devcloud_devcloud_y00226182_01",
      "name" : "xx-xxxxx-x_5a775fdcb14f4431b6c0015618140bc3_pypi_41",
      "disable" : false,
      "format" : "pypi",
      "type" : "hosted",
      "policy" : null,
      "tabId" : null,
      "repositoryName" : "test-pypi",
      "displayName" : null,
      "description" : "",
      "snapshot" : null,
      "release" : null,
      "npm" : null,
      "snapshotStatus" : null,
      "releaseStatus" : null,
      "projectId" : "e2ee90487d6349dd944a5767225f6f55",
      "includesPattern" : "**/*",
      "repositoryIds" : null,
      "uri" : null,
      "deploymentPolicy" : null,
      "repositories" : null,
      "parentRepoName" : null,
      "userName" : null,
      "password" : null,
      "remoteUrl" : null,
      "defaultDeployRepository" : null,
      "remoteType" : null,
      "proxy" : null,
      "allowAnonymous" : null,
      "autoCleanSnapshot" : null,
      "snapshotAliveDays" : null,
      "maxUniqueSnapshots" : null,
      "shareRight" : "PROJECT",
      "nexuRepo" : false,
      "url" : "https://devrepo.devcloud.xx-xxxxx-x.huawei.com/artgalaxy/api/pypi/xx-xxxxx-x_5a775fdcb14f4431b6c0015618140bc3_pypi_41/",
      "packageType" : "pypi"
    }
  }
}

Status Codes

Status Code

Description

200

OK

Error Codes

See Error Codes.