Skip to main content

Fetch Artifact Source Details Using GraphQL APIs

This topic describes how to fetch Artifact Source details using GraphQL APIs. The Artifact Source defines where the Artifact Collection step will look for the built artifact during the Build Workflow. The Artifact Source for the Service lists the file(s) that you want to be copied to the target host(s).

Before You Begin

Step: Fetch Artifact Source from a Service

Use this sample query to get the Artifact Source and Artifact History from a Harness Service. Provide a Service ID to fetch the details.

The Artifact History pulls artifact build and version metadata from the Artifact Source.

Request
query{  
service(serviceId: "UsEvUFxdRSegoaSFxIx2mA"){
artifactSources{
id
name
artifacts(limit:10, offset:0){
nodes {
id
buildNo
}
}
}
}
}
Response
{  
"data": {
"service": {
"artifactSources": [
{
"id": "a7UvFSviR92l4iwlektDrA",
"name": "generic-local_todolist-",
"artifacts": {
"nodes": [
{
"id": "KyettoTRQ06CdHZ3XrXY5w",
"buildNo": "todolist-1.7.war"
},
{
"id": "ztLQZMCqS0ef5k0f6BxkuA",
"buildNo": "todolist-1.6.war"
}
]
}
}
]
}
}
}

Step: Fetch Artifact Source ID from an Artifact

Use this sample query to get the Artifact Source ID from an Artifact.

Request
{  
artifacts(filters:[
{
artifact: {
operator: EQUALS,
values: ["g6dahNXYTwCNxnk90as1fA"]
}
}
], limit:10, offset:0){
nodes {
id
artifactSource {
id
}
buildNo
}
}
}
Response
{  
"data": {
"artifacts": {
"nodes": [
{
"id": "g6dahNXYTwCNxnk90as1fA",
"artifactSource": {
"id": "bIXY2b0kQFWnTVYLxB4FQg"
},
"buildNo": "1.19"
}
]
}
}
}

Step: Fetch the Service ID

 Use this sample query to get the id and the name of a Service.

Request
{  
services(
filters: [
{ application: { operator: EQUALS, values: ["-XZGAqR6QIeBRXz-VuwIzA"] } }
]
limit: 1000
) {
pageInfo {
total
}
nodes {
id
name
}
}
}
Response
{  
"data": {
"services": {
"pageInfo": {
"total": 1
},
"nodes": [
{
"id": "_s-PY38LQlansoS73vHzUA",
"name": "To-Do List K8s"
}
]
}
}
}