Scm Activity REST API Interface or CLI
Get change-sets by issue key
GET http://localhost:8080/rest/scmactivity/1.0/changeset/activity/list
GET http://localhost:8080/rest/scmactivity/1.0/changeset/activity/tags/list
Query Parameters:
issueKey (String) - JIRA Issue Key e.g. DT-45
issueId (Number) - Jira Issue ID e.g. 10000
sort (String) - Default (desc) e.g. desc / asc
limit (Number) - Default (1000)
Response: [Status: 200]
$ curl -s -u "user:passwd" -XGET \
http://localhost:8080/rest/scmactivity/1.0/changeset/activity/list/?issueKey=DT-45
Get change-set activity by change type, issue key, and change id
GET http://localhost:8080/rest/scmactivity/1.0/changeset/activity
Query Parameters:
changeType (String) - SCM Change-set Type e.g. perforce
issueKey (String) - JIRA Issue Key e.g. DT-45
changeId (String) - SCM Change-set ID
Response: [Status: 200]
$ curl -s -u "user:passwd" -XGET \
http://localhost:8080/rest/scmactivity/1.0/changeset/activity/?changeType=perforce&issueKey=DT-45&changeId=100
Add Or Post New SCM Activity
POST http://localhost:8080/rest/scmactivity/1.0/changeset/activity
Required Schema Field(s):
issueKey
changeId
changeType
changeAuthor
changeDate
Response: [Status: 200]
$ curl -s -u user -XPOST -H "Content-Type: application/json" --data '{"issueKey":\
"DT-45","changeId":"100","changeType":"perforce","changeDate":"2016-05-01 00:00:00",\
"changeStatus":"submitted","changeAuthor":"john","changeLink":"http://perforceweb/c=100",\
"changeMessage":"Fixed bug for software ToolsX. Ref: DT-51","changeFiles":[{"fileName":\
"/depot/src/AppEntityManager.java","fileAction":"Modified","fileVersion":"23"}],"changeTag":\
"R1.0","changeTagLink":"#"}' http://localhost:8080/rest/scmactivity/1.0/changeset/activity
Enter host password for user 'user':
{"result":1,"message":"[Info] DT-51 > 100 activity row [1] is added."}
$
SCM Activity Schema:
{
"issueKey": {
"type": "string"
},
"changeId": {
"type": "string"
},
"changeType": { //Preferred format: ChangeType_Repo/Instance Name e.g. p4_engsw
"type": "string"
},
"changeAuthor": {
"type": "string"
},
"changeDate": { //UTC date time with format %Y-%m-%d %H:%M:%S
"type": "string"
},
"changeBranch": {
"type": "string"
},
"changeTag": {
"type": "string"
},
"changeTagLink": {
"type": "string"
},
"changeStatus": {
"type": "string"
},
"changeLink": {
"type": "string"
},
"changeMessage": {
"type": "string"
},
"changeFiles": {
"type": "List"
},
"changeUpdate": {
"type": "boolean"
},
"notifyEmail": {
"type": "boolean"
},
"notifyAs": {
"type": "string"
}
}
SCM Change Files Schema:
{
"fileName" : {
"type": "String"
},
"fileAction" : {
"type": "String"
},
"fileVersion" : { //Optional
"type": "String"
},
"fileLink" : {
"type": "String"
}
}
Post External Job Link
POST http://localhost:8080/rest/scmactivity/1.0/changeset/joblink
Required Schema Field(s):
issueKey
changeId
changeType
jobName
jobStatus
jobLink
Response: [Status: 200]
$ curl -s -u "user:passwd" -XPOST -H "Content-Type: application/json" --data '{"issueKey":\
"SD-1","changeId":"100","changeType":"perforce","jobName":"test-build#140","jobStatus":"SUCCESS",\
"jobLink":"http://jenkins/job/test-build/140"}' \
http://localhost:8080/rest/scmactivity/1.0/changeset/joblink
{"result":1,"message":"[Info] SD-1 > 100 > test-build#140 joblink is added."}
$
Schema:
{
"issueKey": {
"type": "string"
},
"changeId": {
"type": "string"
},
"changeType": {
"type": "string"
},
"jobName": { //Unique
"type": "string"
},
"jobStatus": {
"type": "string"
},
"jobLink": {
"type": "string"
},
"jobUpdate": {
"type": "boolean"
},
"notifyEmail": {
"type": "boolean"
},
"notifyAs": {
"type": "string"
}
}
Update SCM Activity Message
POST http://localhost:8080/rest/scmactivity/1.0/changeset/activity/message
Required Schema Field(s):
issueKey
changeId
changeType
changeMessage
Response: [Status: 200]
$ curl -s -u "user:passwd" -XPOST -H "Content-Type: application/json" --data '{"issueKey":\
"SD-1","changeId":"100","changeType":"perforce","changeMessage":\
"Fixed bug for software X. jira:SD-1"}' \
http://localhost:8080/rest/scmactivity/1.0/changeset/activity/message
{"result":1,"message":"[Info] SD-1 > 100 activity message row [1] is updated."}
$
Schema:
{
"issueKey": {
"type": "string"
},
"changeId": {
"type": "string"
},
"changeType": {
"type": "string"
},
"changeMessage": {
"type": "string"
}
}
Update SCM Activity Affected/Change Files
POST http://localhost:8080/rest/scmactivity/1.0/changeset/activity/files
Required Schema Field(s):
issueKey
changeId
changeType
changeFiles
Response: [Status: 200]
$ curl -s -u "user:passwd" -XPOST -H "Content-Type: application/json" --data '{"issueKey":\
"DT-45","changeId":"100","changeType":"perforce","changeFiles":[{"fileName":\
"/depot/src/AppEntityManager.java","fileAction":"Modified","fileVersion":"23"},{"fileName":\
"/depot/src/Test.java","fileAction":"Added","fileVersion":"1"}]}' \
http://localhost:8080/rest/scmactivity/1.0/changeset/activity/files
{"result":1,"message":"[Info] DT-45 > 100 activity change files row [1] is updated."}
$
Schema:
{
"issueKey": {
"type": "string"
},
"changeId": {
"type": "string"
},
"changeType": {
"type": "string"
},
"changeFiles": {
"type": "List"
}
}
Change Files List Item:
{
"fileName" : {
"type": "String"
},
"fileAction" : {
"type": "String"
},
"fileVersion" : { //Optional
"type": "String"
},
"fileLink" : {
"type": "String"
}
}
Delete SCM Activity by Change Type, issue key and Change Id
DELETE http://localhost:8080/rest/scmactivity/1.0/changeset/remove/activity
Query Parameters:
changeType (String) - SCM Change-set Type e.g. perforce
issueKey (String) - JIRA Issue Key e.g. DT-45
changeId (String) - SCM Change-set ID
Response: [Status: 204]
$ curl -u superadmin -XDELETE "http://localhost:8080/rest/scmactivity/1.0/changeset/remove/activity/?\
issueKey=ST-1&changeType=Github/scmenthusiast/test&changeId=6df95ec2e446f1797b0e2f9820d3db662bd39182"
$
Delete SCM Activity Affected File by change type, issue key, change id and file id
DELETE http://localhost:8080/rest/scmactivity/1.0/changeset/remove/affected/file
Query Parameters:
changeType (String) - SCM Change-set Type e.g. perforce
issueKey (String) - JIRA Issue Key e.g. DT-45
changeId (String) - SCM Change-set ID
fileId (Number) - File ID e.g. 18
Response: [Status: 204]
$ curl -u superadmin -XDELETE "http://localhost:8080/rest/scmactivity/1.0/changeset/remove/affected/file/?\
issueKey=ST-1&changeType=Github/scmenthusiast/test&changeId=6df95ec2e446f1797be2f9820d3db662bd39182&fileId=18"
{"id":1,"message":"[Info] Deleted SCM File > ST-1 > File ID > 18"}
$
Delete job link by change type, issue key, change id and job id
DELETE http://localhost:8080/rest/scmactivity/1.0/changeset/remove/joblink
Query Parameters:
changeType (String) - SCM Change-set Type e.g. perforce
issueKey (String) - JIRA Issue Key e.g. DT-45
changeId (String) - SCM Change-set ID
jobId (Number) - Job ID e.g. 18
Response: [Status: 204]