Are you in the loop? Keep up with the latest by making sure you're subscribed to Community Announcements. Just click Watch and select Articles.

Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root


1 badge earned


Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!


Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.


Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!


How do you setup PATCH as a Sink in Azure Data Factory to modify Jira Align data

Hello all,

I'm trying to feed some data back into JA via REST API PATCH command after I have extracted via GET, and modified.
I can use PATCH command in JA using Swagger and Curl and the records will update.

However, if I setup as SINK in copy Data activity in Azure Data Factory, it always produces the following error:

Failure happened on 'Sink' side. ErrorCode=RestCallFailedWithClientError,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Rest call failed with client error, status code 400 BadRequest, please check your activity settings.

Request URL:

Response: Cannot update risk with id 103. Value cannot be null. (Parameter 'path'),Source=Microsoft.DataTransfer.ClientLibrary,'

I have tried to make it as bare bones as possible, trying to update a simple field but I get the same error everytime. It doesn't matter which I am trying to update (Risk or Story) or the fields. 

JSON (See Below) clearly shows where values are coming from in Source and a test of the query in source does show values returned in each cell. 

Any advice would help as this is stumping me.

"name": "TEST_PATCH Raw JA",
"properties": {
"activities": [
"name": "Copy data1",
"type": "Copy",
"dependsOn": [],
"policy": {
"timeout": "0.12:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
"userProperties": [],
"typeProperties": {
"source": {
"type": "AzureSqlSource",
"sqlReaderQuery": "Select [RiskID], [IRR New], [RRR New] From [ATSK].[RiskJiraAlign] Where [RiskID] =103",
"queryTimeout": "02:00:00",
"partitionOption": "None"
"sink": {
"type": "RestSink",
"httpRequestTimeout": "00:03:40",
"requestInterval": 10,
"requestMethod": "PATCH",
"writeBatchSize": 10000,
"httpCompressionType": "none"
"enableStaging": false,
"translator": {
"type": "TabularTranslator",
"mappings": [
"source": {
"name": "RiskID",
"type": "Int32"
"sink": {
"path": "$['id']"
"source": {
"name": "IRR New",
"type": "String"
"sink": {
"path": "$['description']"
"inputs": [
"referenceName": "ResourceSQLJiraAlignEI",
"type": "DatasetReference",
"parameters": {
"DynamicSchema": "ATSK",
"DynamicTable": "RiskJiraAlign"
"outputs": [
"referenceName": "TESTRestPatchRawJA",
"type": "DatasetReference"
"annotations": [],
"lastPublishTime": "2022-10-30T03:45:13Z"
"type": "Microsoft.DataFactory/factories/pipelines"



1 answer

0 votes
Allan Maxwell
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
Nov 06, 2022

Are you able to capture the exact HTTP PATCH request?  Seems like the problem lies in what you are passing to the Jira Align API.  Are you passing JSON in the request body?

Hello Allan,
There doesn't seem to be a request body.
Unlike Postman, swagger, etc Azure Data Factory Copy Data is it's own thing. It maps values from one dataset to another. 

I assume, once you have given it the Sink field details and the souce values, it creates the request body eg 



"op": "replace",

"path": "/customFields/5/customfield_90014/0/value",

"value": "D-Low"




But I can't see it anywhere. 

Suggest an answer

Log in or Sign up to answer
AUG Leaders

Atlassian Community Events