Skip to main content

AzureDevOps

This Integration is part of the AzureDevOps Pack.#

Supported versions

Supported Cortex XSOAR versions: 6.0.0 and later.

Azure DevOps#

Manage Git repositories in Azure DevOps Services. Integration capabilities include retrieving, creating, and updating pull requests. Run pipelines and retrieve git information.

Configure AzureDevOps on Cortex XSOAR#

  1. Navigate to Settings > Integrations > Servers & Services.

  2. Search for AzureDevOps.

  3. Click Add instance to create and configure a new integration instance.

    ParameterDescriptionRequired
    Client IDApp Registration Client IDTrue
    OrganizationOrganizaion nameTrue
    Maximum incidents for one fetch.Default is 50. Maximum is 200.False
    Pull-request project nameThe name of the project which the pull requests belongs to. A project name can be obtained by running the 'azure-devops-project-list' command. This argument is mandatory for Fetch functionality.False
    Pull-request repository nameThe name of the repository pull request's target branch. A repository name can be obtained by running the 'azure-devops-repository-list' command. This argument is mandatory for Fetch functionality.False
    Incident typeFalse
    Fetch incidentsFalse
    First fetch timestamp (<number> <time unit>, e.g., 12 hours, 7 days)False
    Outgoing mirroringFalse
    Use system proxy settingsFalse
    Trust any certificate (not secure)False
    Authentication TypeType of authentication - could be Authorization Code Flow (recommended) or Device Code Flow.False
    Tenant ID (for user-auth mode)False
    Client Secret (for user-auth mode)False
    Application redirect URI (for user-auth mode)False
    Authorization codefor user-auth mode - received from the authorization step. see Detailed Instructions (?) sectionFalse
  4. Click Test to validate the URLs, token, and connection.

Commands#

You can execute these commands from the Cortex XSOAR CLI, as part of an automation, or in a playbook. After you successfully execute a command, a DBot message appears in the War Room with the command details.

azure-devops-auth-test#


Tests the connectivity to Azure.

Base Command#

azure-devops-auth-test

Input#

There are no input arguments for this command.

Context Output#

There is no context output for this command.

Command Example#

!azure-devops-auth-test

Human Readable Output#

Success!

azure-devops-generate-login-url#


Generate the login url used for Authorization code flow.

Base Command#

azure-devops-generate-login-url

Input#

There are no input arguments for this command.

Context Output#

There is no context output for this command.

Command Example#

azure-devops-generate-login-url

Human Readable Output#

Authorization instructions#

  1. Click on the login URL to sign in and grant Cortex XSOAR permissions for your Azure Service Management. You will be automatically redirected to a link with the following structure: REDIRECT_URI?code=AUTH_CODE&session_state=SESSION_STATE
  2. Copy the AUTH_CODE (without the “code=” prefix, and the session_state parameter) and paste it in your instance configuration under the Authorization code parameter.

azure-devops-auth-start#


Run this command to start the authorization process and follow the instructions in the command results.

Base Command#

azure-devops-auth-start

Input#

There are no input arguments for this command.

Context Output#

There is no context output for this command.

Command Example#

!azure-devops-auth-start

Human Readable Output#

Authorization instructions#

  1. To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code *XXXX** to authenticate.
  2. Run the !azure-devops-auth-complete command in the War Room.

azure-devops-auth-complete#


Run this command to complete the authorization process. Should be used after running the azure-devops-auth-start command.

Base Command#

azure-devops-auth-complete

Input#

There are no input arguments for this command.

Context Output#

There is no context output for this command.

Command Example#

!azure-devops-auth-complete

Human Readable Output#

Authorization completed successfully.

azure-devops-auth-reset#


Run this command if you need to rerun the authentication process for some reason.

Base Command#

azure-devops-auth-reset

Input#

There are no input arguments for this command.

Context Output#

There is no context output for this command.

Command Example#

!azure-devops-auth-reset

Human Readable Output#

Authorization was reset successfully. Run !azure-devops-auth-start to start the authentication process.

get-mapping-fields#


Get mapping fields from remote incident. Please note that this method will not update the current incident. It's here for debugging purposes.

Base Command#

get-mapping-fields

Input#

There are no input arguments for this command.

Context Output#

There is no context output for this command.

Command Example#

Human Readable Output#

azure-devops-pipeline-run#


Run a pipeline. A DevOps pipeline is a set of automated processes and tools that allows both developers and operations professionals to work cohesively to build and deploy code to a production environment.

Base Command#

azure-devops-pipeline-run

Input#

Argument NameDescriptionRequired
projectThe name of the project.Required
pipeline_idThe ID of the pipeline.Required
branch_nameThe name of the repository branch which runs the pipeline.Required
pollingUse Cortex XSOAR built-in polling to retrieve the result when it's ready. Possible values are: True, False. Default is False.Optional
intervalIndicates how long to wait between command execution (in seconds) when 'polling' argument is true. Minimum value is 10 seconds. Default is 30.Optional
timeoutIndicates the time in seconds until the polling sequence timeouts. Default is 60.Optional
run_idThe ID of the pipeline run to retrieve when polling argument is 'True'. Intended for use by the Polling process and does not need to be provided by the user.Optional

Context Output#

PathTypeDescription
AzureDevOps.PipelineRun.projectStringThe name of the project.
AzureDevOps.PipelineRun.pipeline.idNumberThe ID of the pipeline.
AzureDevOps.PipelineRun.pipeline.nameStringThe pipeline repository name.
AzureDevOps.PipelineRun.stateStringThe run state.
AzureDevOps.PipelineRun.createdDateDateThe run creation date, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2022 would be: "2022-01-01T00:00:00Z".
AzureDevOps.PipelineRun.run_idNumberThe ID of the run.
AzureDevOps.PipelineRun.nameStringThe name of the run.
AzureDevOps.PipelineRun.resultStringThe result of the pipeline running. If the run is in progress, the default value is 'unknown'.

Command Example#

!azure-devops-pipeline-run project="xsoar" pipeline_id="1" branch_name="main"

Context Example#

{
"AzureDevOps": {
"PipelineRun": {
"_links": {
"pipeline": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1?revision=1"
},
"pipeline.web": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_build/definition?definitionId=1"
},
"self": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1/runs/1154"
},
"web": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_build/results?buildId=1154"
}
},
"createdDate": "2021-11-30T08:57:03.110121+00:00",
"name": "20211130.1",
"pipeline": {
"folder": "\\",
"id": 1,
"name": "xsoar",
"revision": 1,
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1?revision=1"
},
"project": "xsoar",
"resources": {
"repositories": {
"self": {
"refName": "refs/heads/main",
"repository": {
"id": "XXXX",
"type": "azureReposGit"
},
"version": "2eca089fab76f1f32051d188653ea7d279b90a4b"
}
}
},
"result": "unknown",
"run_id": 1154,
"state": "inProgress",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1/runs/1154"
}
}
}

Human Readable Output#

Pipeline Run Information:#

Pipeline IdRun StateCreation DateRun IdResult
1inProgress2021-11-30T08:57:03.110121+00:001154unknown

azure-devops-user-add#


Add a user, assign the user a license and extensions, and make the user a member of a project group in an account.

Base Command#

azure-devops-user-add

Input#

Argument NameDescriptionRequired
user_emailThe email address of the user to add to the organization.Required
account_license_typeThe type of account license. More information can be found here: https://docs.microsoft.com/en-us/rest/api/azure/devops/memberentitlementmanagement/user-entitlements/add?view=azure-devops-rest-6.1#accountlicensetype. Possible values are: express, stakeholder, advanced, earlyAdopter, professional.Required
group_typeThe project group type. More information can be found here: https://docs.microsoft.com/en-us/rest/api/azure/devops/memberentitlementmanagement/user-entitlements/add?view=azure-devops-rest-6.1#grouptype. Possible values are: projectReader, projectContributor, projectAdministrator, projectStakeholder.Required
project_idThe ID of the project.Required

Context Output#

PathTypeDescription
AzureDevOps.User.idStringThe ID of the user.

Command Example#

!azure-devops-user-add user_email="user1@xsoar.com" account_license_type="express" group_type="projectContributor" project_id="xsoar-project"

Context Example#

{
"AzureDevOps": {
"User": {
"accessLevel": {
"accountLicenseType": "express",
"assignmentSource": "unknown",
"licenseDisplayName": "Basic",
"licensingSource": "account",
"msdnLicenseType": "none",
"status": "pending",
"statusMessage": ""
},
"dateCreated": "2021-11-29T09:05:26.9223894Z",
"extensions": [],
"groupAssignments": [],
"id": "XXXX",
"lastAccessedDate": "0001-01-01T00:00:00Z",
"projectEntitlements": [],
"user": {
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.NWYyZWMzNTctMjgzMS03M2I4LTk1NWYtMmRkZGM2OWVmMzg3"
},
"membershipState": {
"href": "https://vssps.dev.azure.com/xsoar-organization/_apis/Graph/MembershipStates/aad.NWYyZWMzNTctMjgzMS03M2I4LTk1NWYtMmRkZGM2OWVmMzg3"
},
"memberships": {
"href": "https://vssps.dev.azure.com/xsoar-organization/_apis/Graph/Memberships/aad.NWYyZWMzNTctMjgzMS03M2I4LTk1NWYtMmRkZGM2OWVmMzg3"
},
"self": {
"href": "https://vssps.dev.azure.com/xsoar-organization/_apis/Graph/Users/aad.NWYyZWMzNTctMjgzMS03M2I4LTk1NWYtMmRkZGM2OWVmMzg3"
},
"storageKey": {
"href": "https://vssps.dev.azure.com/xsoar-organization/_apis/Graph/StorageKeys/aad.NWYyZWMzNTctMjgzMS03M2I4LTk1NWYtMmRkZGM2OWVmMzg3"
}
},
"descriptor": "aad.NWYyZWMzNTctMjgzMS03M2I4LTk1NWYtMmRkZGM2OWVmMzg3",
"directoryAlias": "User 1",
"displayName": "XSOAR User 2",
"domain": "XXXX",
"mailAddress": "user1@xsoar.com",
"metaType": "member",
"origin": "aad",
"originId": "2c7514ff-41d0-4eb0-ac82-35b8671de094",
"principalName": "user1@xsoar.com",
"subjectKind": "user",
"url": "https://vssps.dev.azure.com/xsoar-organization/_apis/Graph/Users/aad.NWYyZWMzNTctMjgzMS03M2I4LTk1NWYtMmRkZGM2OWVmMzg3"
}
}
}
}

Human Readable Output#

User Information:#

IdAccount License TypeLast Accessed Date
XXXXexpress0001-01-01T00:00:00Z

azure-devops-user-remove#


Remove the user from all project memberships.

Base Command#

azure-devops-user-remove

Input#

Argument NameDescriptionRequired
user_idThe ID of the user to be removed from the organization. A user ID can be obtained by running the 'azure-devops-user-list' command.Required

Context Output#

There is no context output for this command.

Command Example#

!azure-devops-user-remove user_id="XXXX"

Human Readable Output#

User XXXX was successfully removed from the organization.

azure-devops-pull-request-create#


Create a new pull request.

Base Command#

azure-devops-pull-request-create

Input#

Argument NameDescriptionRequired
projectThe name or ID of the project.Required
repository_idThe repository ID of the pull request's target branch. A repository ID can be obtained by running the 'azure-devops-repository-list' command.Required
source_branchThe name of the source branch of the pull request.Required
target_branchThe name of the target branch of the pull request.Required
titleThe title of the pull request.Required
descriptionThe description of the pull request.Required
reviewers_idsComma-separated list of the pull request reviewers IDs. A reviewer ID can be obtained by running the 'azure-devops-user-list' command.Required

Context Output#

PathTypeDescription
AzureDevOps.PullRequest.repository.project.nameStringThe name of the project.
AzureDevOps.PullRequest.repository.idStringThe ID of the repository.
AzureDevOps.PullRequest.repository.nameStringThe name of the repository.
AzureDevOps.PullRequest.repository.urlStringThe URL of the repository.
AzureDevOps.PullRequest.repository.sizeNumberThe size of the repository.
AzureDevOps.PullRequest.pullRequestIdNumberThe ID of the pull request.
AzureDevOps.PullRequest.statusStringThe status of the pull request.
AzureDevOps.PullRequest.createdBy.displayNameStringThe display name of the pull request creator.
AzureDevOps.PullRequest.createdBy.idStringThe ID of the pull request creator.
AzureDevOps.PullRequest.createdBy.uniqueNameStringThe unique name of the pull request creator.
AzureDevOps.PullRequest.creationDateDateThe creation date of the pull request, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2022 would be: "2022-01-01T00:00:00Z".
AzureDevOps.PullRequest.titleStringThe title of the pull request
AzureDevOps.PullRequest.descriptionStringThe description of the pull request.
AzureDevOps.PullRequest.sourceRefNameStringThe source branch of the pull request.
AzureDevOps.PullRequest.targetRefNameStringThe target branch of the pull request.
AzureDevOps.PullRequest.mergeStatusStringThe current status of the pull request merge.
AzureDevOps.PullRequest.isDraftBooleanWhether the pull request is a draft / WIP.
AzureDevOps.PullRequest.lastMergeSourceCommit.commitIdStringThe ID of the commit at the head of the source branch at the time of the last pull request merge.
AzureDevOps.PullRequest.lastMergeSourceCommit.urlStringThe REST URL for this resource.
AzureDevOps.PullRequest.lastMergeTargetCommit.commitIdStringThe ID of the commit at the head of the target branch at the time of the last pull request merge.
AzureDevOps.PullRequest.lastMergeTargetCommit.urlStringThe REST URL for this resource.

Command Example#

!azure-devops-pull-request-create project="xsoar" repository_id="XXXX" source_branch="test-test" target_branch="main" title="Test xsoar" description="Demo pr" reviewers_ids="XXXX"

Context Example#

{
"AzureDevOps": {
"PullRequest": {
"_links": {
"createdBy": {
"href": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX"
},
"iterations": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/iterations"
},
"repository": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX"
},
"self": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70"
},
"sourceBranch": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/refs/heads/test-test"
},
"sourceCommit": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/b21e2330a6ae2f920b8f5ae9b74e069230b27087"
},
"statuses": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/statuses"
},
"targetBranch": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/refs/heads/main"
},
"targetCommit": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/2eca089fab76f1f32051d188653ea7d279b90a4b"
},
"workItems": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/workitems"
}
},
"artifactId": "vstfs:///Git/PullRequestId/xsoar-project%2fXXXX%2f70",
"codeReviewId": 70,
"createdBy": {
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"descriptor": "aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5",
"displayName": "XSOAR User 1",
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX"
},
"creationDate": "2021-11-30T08:56:55.531709+00:00",
"description": "Demo pr",
"isDraft": false,
"labels": [],
"lastMergeSourceCommit": {
"commitId": "b21e2330a6ae2f920b8f5ae9b74e069230b27087",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/b21e2330a6ae2f920b8f5ae9b74e069230b27087"
},
"lastMergeTargetCommit": {
"commitId": "2eca089fab76f1f32051d188653ea7d279b90a4b",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/2eca089fab76f1f32051d188653ea7d279b90a4b"
},
"mergeId": "a950a614-1a14-4412-90ad-e6f7417e26c6",
"mergeStatus": "queued",
"pullRequestId": 70,
"repository": {
"id": "XXXX",
"isDisabled": false,
"name": "xsoar",
"project": {
"id": "xsoar-project",
"lastUpdateTime": "2021-10-13T15:46:18.017Z",
"name": "xsoar",
"revision": 11,
"state": "wellFormed",
"url": "https://dev.azure.com/xsoar-organization/_apis/projects/xsoar-project",
"visibility": "private"
},
"remoteUrl": "https://xsoar-organization@dev.azure.com/xsoar-organization/xsoar/_git/xsoar",
"size": 12366,
"sshUrl": "git@ssh.dev.azure.com:v3/xsoar-organization/xsoar/xsoar",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX",
"webUrl": "https://dev.azure.com/xsoar-organization/xsoar/_git/xsoar"
},
"reviewers": [
{
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"displayName": "XSOAR User 1",
"hasDeclined": false,
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"isFlagged": false,
"reviewerUrl": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/reviewers/XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX",
"vote": 0
}
],
"sourceRefName": "refs/heads/test-test",
"status": "active",
"supportsIterations": true,
"targetRefName": "refs/heads/main",
"title": "Test xsoar",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70"
}
}
}

Human Readable Output#

Pull Request Information:#

TitleDescriptionCreated ByPull Request IdRepository NameRepository IdProject NameProject IdCreation Date
Test xsoarDemo prXSOAR User 170xsoarXXXXxsoarxsoar-project2021-11-30T08:56:55

azure-devops-pull-request-update#


Update a pull request. At least one of the following arguments must be provided: title, description, or status.

Base Command#

azure-devops-pull-request-update

Input#

Argument NameDescriptionRequired
projectThe name or ID of the project.Required
repository_idThe repository ID of the pull request's target branch. A repository ID can be obtained by running the 'azure-devops-repository-list' command.Required
pull_request_idThe ID of the pull request to update.Required
titleThe updated pull-request title.Optional
descriptionThe updated pull-request description.Optional
statusThe updated pull-request status. Possible values are: abandoned, completed, active.Optional

Context Output#

PathTypeDescription
AzureDevOps.PullRequest.repository.project.nameStringThe name of the project.
AzureDevOps.PullRequest.repository.idStringThe ID of the repository.
AzureDevOps.PullRequest.repository.nameStringThe name of the repository.
AzureDevOps.PullRequest.repository.urlStringThe URL of the repository.
AzureDevOps.PullRequest.repository.sizeNumberThe size of the repository.
AzureDevOps.PullRequest.pullRequestIdNumberThe ID of the pull request.
AzureDevOps.PullRequest.statusStringThe status of the pull request.
AzureDevOps.PullRequest.createdBy.displayNameStringThe display name of the pull request creator.
AzureDevOps.PullRequest.createdBy.idStringThe ID of the pull request creator.
AzureDevOps.PullRequest.createdBy.uniqueNameStringThe unique name of the pull request creator.
AzureDevOps.PullRequest.creationDateDateThe creation date of the pull request, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2022 would be: "2022-01-01T00:00:00Z".
AzureDevOps.PullRequest.titleStringThe title of the pull request
AzureDevOps.PullRequest.descriptionStringThe description of the pull request.
AzureDevOps.PullRequest.sourceRefNameStringThe source branch of the pull request.
AzureDevOps.PullRequest.targetRefNameStringThe target branch of the pull request.
AzureDevOps.PullRequest.mergeStatusStringThe current status of the pull request merge.
AzureDevOps.PullRequest.isDraftBooleanWhether the pull request is a draft / WIP.
AzureDevOps.PullRequest.lastMergeSourceCommit.commitIdStringThe ID of the commit at the head of the source branch at the time of the last pull request merge.
AzureDevOps.PullRequest.lastMergeSourceCommit.urlStringThe REST URL for this resource.
AzureDevOps.PullRequest.lastMergeTargetCommit.commitIdStringThe ID of the commit at the head of the target branch at the time of the last pull request merge.
AzureDevOps.PullRequest.lastMergeTargetCommit.urlStringThe REST URL for this resource.

Command Example#

!azure-devops-pull-request-update project="xsoar" repository_id="XXXX" pull_request_id="70" title="New title"

Context Example#

{
"AzureDevOps": {
"PullRequest": {
"_links": {
"createdBy": {
"href": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX"
},
"iterations": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/iterations"
},
"repository": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX"
},
"self": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70"
},
"sourceBranch": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/refs/heads/test-test"
},
"sourceCommit": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/b21e2330a6ae2f920b8f5ae9b74e069230b27087"
},
"statuses": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/statuses"
},
"targetBranch": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/refs/heads/main"
},
"targetCommit": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/2eca089fab76f1f32051d188653ea7d279b90a4b"
},
"workItems": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/workitems"
}
},
"artifactId": "vstfs:///Git/PullRequestId/xsoar-project%2fXXXX%2f70",
"codeReviewId": 70,
"createdBy": {
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"descriptor": "aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5",
"displayName": "XSOAR User 1",
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX"
},
"creationDate": "2021-11-30T08:56:55.531709+00:00",
"description": "Demo pr",
"isDraft": false,
"lastMergeCommit": {
"author": {
"date": "2021-11-30T08:56:55Z",
"email": "user2@xsoar.com",
"name": "XSOAR User 1"
},
"comment": "Merge pull request 70 from test-test into main",
"commitId": "333b2ec34ca6b330901af84a2483c87effb49c23",
"committer": {
"date": "2021-11-30T08:56:55Z",
"email": "user2@xsoar.com",
"name": "XSOAR User 1"
},
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/333b2ec34ca6b330901af84a2483c87effb49c23"
},
"lastMergeSourceCommit": {
"commitId": "b21e2330a6ae2f920b8f5ae9b74e069230b27087",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/b21e2330a6ae2f920b8f5ae9b74e069230b27087"
},
"lastMergeTargetCommit": {
"commitId": "2eca089fab76f1f32051d188653ea7d279b90a4b",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/2eca089fab76f1f32051d188653ea7d279b90a4b"
},
"mergeId": "a950a614-1a14-4412-90ad-e6f7417e26c6",
"mergeStatus": "succeeded",
"pullRequestId": 70,
"repository": {
"id": "XXXX",
"isDisabled": false,
"name": "xsoar",
"project": {
"id": "xsoar-project",
"lastUpdateTime": "2021-10-13T15:46:18.017Z",
"name": "xsoar",
"revision": 11,
"state": "wellFormed",
"url": "https://dev.azure.com/xsoar-organization/_apis/projects/xsoar-project",
"visibility": "private"
},
"remoteUrl": "https://xsoar-organization@dev.azure.com/xsoar-organization/xsoar/_git/xsoar",
"size": 12366,
"sshUrl": "git@ssh.dev.azure.com:v3/xsoar-organization/xsoar/xsoar",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX",
"webUrl": "https://dev.azure.com/xsoar-organization/xsoar/_git/xsoar"
},
"reviewers": [
{
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"displayName": "XSOAR User 1",
"hasDeclined": false,
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"isFlagged": false,
"reviewerUrl": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/reviewers/XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX",
"vote": 0
}
],
"sourceRefName": "refs/heads/test-test",
"status": "active",
"supportsIterations": true,
"targetRefName": "refs/heads/main",
"title": "New title",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70"
}
}
}

Human Readable Output#

Pull Request Information:#

TitleDescriptionCreated ByPull Request IdRepository NameRepository IdProject NameProject IdCreation Date
New titleDemo prXSOAR User 170xsoarXXXXxsoarxsoar-project2021-11-30T08:56:55

azure-devops-pull-request-list#


Retrieve pull requests in repository.

Base Command#

azure-devops-pull-request-list

Input#

Argument NameDescriptionRequired
projectThe name or ID of the project which the pull requests belongs to.Required
repositoryThe name of the repository pull request's target branch.Required
pageThe page number of the results to retrieve. Minimum value is 1. Default is 1.Optional
limitThe number of results to retrieve. Minimum value is 1. Default is 50.Optional

Context Output#

PathTypeDescription
AzureDevOps.PullRequest.repository.project.nameStringThe name of the project.
AzureDevOps.PullRequest.repository.idStringThe ID of the repository.
AzureDevOps.PullRequest.repository.nameStringThe name of the repository.
AzureDevOps.PullRequest.repository.urlStringThe URL of the repository.
AzureDevOps.PullRequest.pullRequestIdNumberThe ID of the pull request.
AzureDevOps.PullRequest.statusStringThe status of the pull request.
AzureDevOps.PullRequest.createdBy.displayNameStringThe display name of the pull request creator.
AzureDevOps.PullRequest.createdBy.idStringThe ID of the pull request creator.
AzureDevOps.PullRequest.createdBy.uniqueNameStringThe unique name of the pull request creator.
AzureDevOps.PullRequest.creationDateDateThe creation date of the pull request, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2022 would be: "2022-01-01T00:00:00Z".
AzureDevOps.PullRequest.titleStringThe title of the pull request
AzureDevOps.PullRequest.descriptionStringThe description of the pull request.
AzureDevOps.PullRequest.sourceRefNameStringThe source branch of the pull request.
AzureDevOps.PullRequest.targetRefNameStringThe target branch of the pull request.
AzureDevOps.PullRequest.mergeStatusStringThe current status of the pull request merge.
AzureDevOps.PullRequest.isDraftBooleanWhether the pull request is a draft / WIP.
AzureDevOps.PullRequest.lastMergeSourceCommit.commitIdStringThe ID of the commit at the head of the source branch at the time of the last pull request merge.
AzureDevOps.PullRequest.lastMergeSourceCommit.urlStringThe REST URL for this resource.
AzureDevOps.PullRequest.lastMergeTargetCommit.commitIdStringThe ID of the commit at the head of the target branch at the time of the last pull request merge.
AzureDevOps.PullRequest.lastMergeTargetCommit.urlStringThe REST URL for this resource.

Command Example#

!azure-devops-pull-request-list project="xsoar" repository="xsoar" page="1" limit="2"

Context Example#

{
"AzureDevOps": {
"PullRequest": [
{
"codeReviewId": 70,
"createdBy": {
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"descriptor": "aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5",
"displayName": "XSOAR User 1",
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX"
},
"creationDate": "2021-11-30T08:56:55.531709+00:00",
"description": "Demo pr",
"isDraft": false,
"lastMergeCommit": {
"commitId": "333b2ec34ca6b330901af84a2483c87effb49c23",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/333b2ec34ca6b330901af84a2483c87effb49c23"
},
"lastMergeSourceCommit": {
"commitId": "b21e2330a6ae2f920b8f5ae9b74e069230b27087",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/b21e2330a6ae2f920b8f5ae9b74e069230b27087"
},
"lastMergeTargetCommit": {
"commitId": "2eca089fab76f1f32051d188653ea7d279b90a4b",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/2eca089fab76f1f32051d188653ea7d279b90a4b"
},
"mergeId": "a950a614-1a14-4412-90ad-e6f7417e26c6",
"mergeStatus": "succeeded",
"pullRequestId": 70,
"repository": {
"id": "XXXX",
"name": "xsoar",
"project": {
"id": "xsoar-project",
"lastUpdateTime": "0001-01-01T00:00:00",
"name": "xsoar",
"state": "unchanged",
"visibility": "unchanged"
},
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX"
},
"reviewers": [
{
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"displayName": "XSOAR User 1",
"hasDeclined": false,
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"isFlagged": false,
"reviewerUrl": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/reviewers/XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX",
"vote": 0
}
],
"sourceRefName": "refs/heads/test-test",
"status": "active",
"supportsIterations": true,
"targetRefName": "refs/heads/main",
"title": "Test xsoar",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70"
},
{
"codeReviewId": 65,
"createdBy": {
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"descriptor": "aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5",
"displayName": "XSOAR User 1",
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX"
},
"creationDate": "2021-11-28T16:08:09.172985+00:00",
"description": "Demo pr",
"isDraft": false,
"lastMergeCommit": {
"commitId": "62d2b76a5479406cdfba377f041fed7bb621ccf7",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/62d2b76a5479406cdfba377f041fed7bb621ccf7"
},
"lastMergeSourceCommit": {
"commitId": "738ab51bc619423969314de9bb93373bfb6ae101",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/738ab51bc619423969314de9bb93373bfb6ae101"
},
"lastMergeTargetCommit": {
"commitId": "2eca089fab76f1f32051d188653ea7d279b90a4b",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/2eca089fab76f1f32051d188653ea7d279b90a4b"
},
"mergeId": "46bd552a-8a93-45bb-82ae-4c108020ca15",
"mergeStatus": "succeeded",
"pullRequestId": 65,
"repository": {
"id": "XXXX",
"name": "xsoar",
"project": {
"id": "xsoar-project",
"lastUpdateTime": "0001-01-01T00:00:00",
"name": "xsoar",
"state": "unchanged",
"visibility": "unchanged"
},
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX"
},
"reviewers": [
{
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"displayName": "XSOAR User 1",
"hasDeclined": false,
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"isFlagged": false,
"reviewerUrl": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/65/reviewers/XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX",
"vote": 0
}
],
"sourceRefName": "refs/heads/xsoar-test",
"status": "active",
"supportsIterations": true,
"targetRefName": "refs/heads/main",
"title": "Test xsoar",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/65"
}
]
}
}

Human Readable Output#

Pull Request List:#

Current page size: 2 Showing page 1 out others that may exist. |Title|Description|Created By|Pull Request Id|Repository Name|Repository Id|Project Name|Project Id|Creation Date| |---|---|---|---|---|---|---|---|---| | Test xsoar | Demo pr | XSOAR User 1 | 70 | xsoar | XXXX | xsoar | xsoar-project | 2021-11-30T08:56:55 | | Test xsoar | Demo pr | XSOAR User 1 | 65 | xsoar | XXXX | xsoar | xsoar-project | 2021-11-28T16:08:09 |

azure-devops-project-list#


Retrieve all projects in the organization that the authenticated user has access to.

Base Command#

azure-devops-project-list

Input#

Argument NameDescriptionRequired
pageThe page number of the results to retrieve. Minimum value is 1. Default is 1.Optional
limitThe number of results to retrieve. Minimum value is 1. Default is 50.Optional

Context Output#

PathTypeDescription
AzureDevOps.Project.nameStringThe name of the project.
AzureDevOps.Project.stateStringThe state of the project.
AzureDevOps.Project.revisionNumberThe revision number of the project.
AzureDevOps.Project.visibilityStringIndicates whom the project is visible to.
AzureDevOps.Project.lastUpdateTimeDateThe project last update time, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2022 would be: "2022-01-01T00:00:00Z".
AzureDevOps.Project.idStringThe ID of the Project.

Command Example#

!azure-devops-project-list page="1" limit="50"

Context Example#

{
"AzureDevOps": {
"Project": [
{
"id": "xsoar-project",
"lastUpdateTime": "2021-10-13T15:46:18.017000+00:00",
"name": "xsoar",
"revision": 11,
"state": "wellFormed",
"url": "https://dev.azure.com/xsoar-organization/_apis/projects/xsoar-project",
"visibility": "private"
}
]
}
}

Human Readable Output#

Project List:#

Current page size: 50 Showing page 1 out others that may exist. |Name|Id|State|Revision|Visibility|Last Update Time| |---|---|---|---|---|---| | xsoar | xsoar-project | wellFormed | 11 | private | 2021-10-13T15:46:18.017000+00:00 |

azure-devops-repository-list#


Retrieve git repositories in the organization project.

Base Command#

azure-devops-repository-list

Input#

Argument NameDescriptionRequired
projectThe name or ID of the project to which the repositories belong to.Required
limitThe number of results to retrieve. Minimum value is 1. Default is 50.Optional
pageThe page number of the results to retrieve. Minimum value is 1. Default is 1.Optional

Context Output#

PathTypeDescription
AzureDevOps.Project.nameStringThe name of the project.
AzureDevOps.Repository.idStringThe ID of the repository.
AzureDevOps.Repository.nameStringThe name of the repository.
AzureDevOps.Repository.webUrlStringThe web URL of the repository.
AzureDevOps.Repository.sizeNumberThe size of the repository (in bytes).

Command Example#

!azure-devops-repository-list project="xsoar" limit="1" page="1"

Context Example#

{
"AzureDevOps": {
"Repository": {
"id": "xsoar-repository",
"isDisabled": false,
"name": "test2803",
"project": {
"id": "xsoar-project",
"lastUpdateTime": "2021-10-13T15:46:18.017Z",
"name": "xsoar",
"revision": 11,
"state": "wellFormed",
"url": "https://dev.azure.com/xsoar-organization/_apis/projects/xsoar-project",
"visibility": "private"
},
"remoteUrl": "https://xsoar-organization@dev.azure.com/xsoar-organization/xsoar/_git/test2803",
"size": 0,
"sshUrl": "git@ssh.dev.azure.com:v3/xsoar-organization/xsoar/test2803",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/xsoar-repository",
"webUrl": "https://dev.azure.com/xsoar-organization/xsoar/_git/test2803"
}
}
}

Human Readable Output#

Repositories List:#

Current page size: 1 Showing page 1 out others that may exist. |Id|Name|Web Url|Size ( Bytes )| |---|---|---|---| | xsoar-repository | test2803 | https://dev.azure.com/xsoar-organization/xsoar/_git/test2803 | 0 |

azure-devops-user-list#


Query users that were added to organization projects.

Base Command#

azure-devops-user-list

Input#

Argument NameDescriptionRequired
queryUsers or organization query prefix. For example, if you want to retrieve information about the user 'Tom', you can enter the value of this argument as 'Tom'.Required
pageThe page number of the results to retrieve. Minimum value is 1. Default is 1.Optional
limitThe number of results to retrieve. Minimum value is 1. Default is 50.Optional

Context Output#

PathTypeDescription
AzureDevOps.User.entityTypeStringThe type of the entity.
AzureDevOps.User.localIdStringThe ID of the identity.
AzureDevOps.User.signInAddressStringThe email address of the user.

Command Example#

!azure-devops-user-list query="ofek"

Context Example#

{
"AzureDevOps": {
"User": [
{
"active": true,
"department": null,
"description": null,
"displayName": "XSOAR User 2",
"entityId": "vss.ds.v1.aad.user.2c7514ff41d04eb0ac8235b8671de094",
"entityType": "User",
"guest": false,
"isMru": false,
"jobTitle": null,
"localDirectory": "vsd",
"localId": "XXXX",
"mail": "user1@xsoar.com",
"mailNickname": "User 1",
"originDirectory": "aad",
"originId": "2c7514ff-41d0-4eb0-ac82-35b8671de094",
"physicalDeliveryOfficeName": null,
"samAccountName": "user1@xsoar.com",
"scopeName": "Palo Alto Networks",
"signInAddress": "user1@xsoar.com",
"subjectDescriptor": "aad.NWYyZWMzNTctMjgzMS03M2I4LTk1NWYtMmRkZGM2OWVmMzg3",
"surname": "User 1",
"telephoneNumber": null
}
]
}
}

Human Readable Output#

Users List:#

Current page size: 50 Showing page 1 out others that may exist. |Email|Entity Type|Id| |---|---|---| | user1@xsoar.com | User | XXXX | | user2@xsoar.com | User | XXXX |

azure-devops-pull-request-get#


Retrieve pull-request.

Base Command#

azure-devops-pull-request-get

Input#

Argument NameDescriptionRequired
projectThe name or ID of the project.Required
repository_idThe repository ID of the pull request's target branch. A repository ID can be obtained by running the 'azure-devops-repository-list' command.Required
pull_request_idThe ID of the pull request to retrieve.Required

Context Output#

PathTypeDescription
AzureDevOps.PullRequest.repository.project.nameStringThe name of the project.
AzureDevOps.PullRequest.repository.idStringThe ID of the repository.
AzureDevOps.PullRequest.repository.nameStringThe name of the repository.
AzureDevOps.PullRequest.repository.urlStringThe URL of the repository.
AzureDevOps.PullRequest.repository.sizeNumberThe size of the repository.
AzureDevOps.PullRequest.pullRequestIdNumberThe ID of the pull request.
AzureDevOps.PullRequest.statusStringThe status of the pull request.
AzureDevOps.PullRequest.createdBy.displayNameStringThe display name of the pull request creator.
AzureDevOps.PullRequest.createdBy.idStringThe ID of the pull request creator.
AzureDevOps.PullRequest.createdBy.uniqueNameStringThe unique name of the pull request creator.
AzureDevOps.PullRequest.creationDateDateThe creation date of the pull request, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2022 would be: "2022-01-01T00:00:00Z".
AzureDevOps.PullRequest.titleStringThe title of the pull request
AzureDevOps.PullRequest.descriptionStringThe description of the pull request.
AzureDevOps.PullRequest.sourceRefNameStringThe source branch of the pull request.
AzureDevOps.PullRequest.targetRefNameStringThe target branch of the pull request.
AzureDevOps.PullRequest.mergeStatusStringThe current status of the pull request merge.
AzureDevOps.PullRequest.isDraftBooleanWhether the pull request is a draft / WIP.
AzureDevOps.PullRequest.lastMergeSourceCommit.commitIdStringThe ID of the commit at the head of the source branch at the time of the last pull request merge.
AzureDevOps.PullRequest.lastMergeSourceCommit.urlStringThe REST URL for the merge source commit.
AzureDevOps.PullRequest.lastMergeTargetCommit.commitIdStringThe ID of the commit at the head of the target branch at the time of the last pull request merge.
AzureDevOps.PullRequest.lastMergeTargetCommit.urlStringThe REST URL for the merge target commit.

Command Example#

!azure-devops-pull-request-get project="xsoar" repository_id="XXXX" pull_request_id="70"

Context Example#

{
"AzureDevOps": {
"PullRequest": {
"_links": {
"createdBy": {
"href": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX"
},
"iterations": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/iterations"
},
"repository": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX"
},
"self": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70"
},
"sourceBranch": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/refs/heads/test-test"
},
"sourceCommit": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/b21e2330a6ae2f920b8f5ae9b74e069230b27087"
},
"statuses": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/statuses"
},
"targetBranch": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/refs/heads/main"
},
"targetCommit": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/2eca089fab76f1f32051d188653ea7d279b90a4b"
},
"workItems": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/workitems"
}
},
"artifactId": "vstfs:///Git/PullRequestId/xsoar-project%2fXXXX%2f70",
"codeReviewId": 70,
"createdBy": {
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"descriptor": "aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5",
"displayName": "XSOAR User 1",
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX"
},
"creationDate": "2021-11-30T08:56:55.531709+00:00",
"description": "Demo pr",
"isDraft": false,
"lastMergeCommit": {
"author": {
"date": "2021-11-30T08:56:55Z",
"email": "user2@xsoar.com",
"name": "XSOAR User 1"
},
"comment": "Merge pull request 70 from test-test into main",
"commitId": "333b2ec34ca6b330901af84a2483c87effb49c23",
"committer": {
"date": "2021-11-30T08:56:55Z",
"email": "user2@xsoar.com",
"name": "XSOAR User 1"
},
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/333b2ec34ca6b330901af84a2483c87effb49c23"
},
"lastMergeSourceCommit": {
"commitId": "b21e2330a6ae2f920b8f5ae9b74e069230b27087",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/b21e2330a6ae2f920b8f5ae9b74e069230b27087"
},
"lastMergeTargetCommit": {
"commitId": "2eca089fab76f1f32051d188653ea7d279b90a4b",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/commits/2eca089fab76f1f32051d188653ea7d279b90a4b"
},
"mergeId": "a950a614-1a14-4412-90ad-e6f7417e26c6",
"mergeStatus": "succeeded",
"pullRequestId": 70,
"repository": {
"id": "XXXX",
"isDisabled": false,
"name": "xsoar",
"project": {
"id": "xsoar-project",
"lastUpdateTime": "2021-10-13T15:46:18.017Z",
"name": "xsoar",
"revision": 11,
"state": "wellFormed",
"url": "https://dev.azure.com/xsoar-organization/_apis/projects/xsoar-project",
"visibility": "private"
},
"remoteUrl": "https://xsoar-organization@dev.azure.com/xsoar-organization/xsoar/_git/xsoar",
"size": 12366,
"sshUrl": "git@ssh.dev.azure.com:v3/xsoar-organization/xsoar/xsoar",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX",
"webUrl": "https://dev.azure.com/xsoar-organization/xsoar/_git/xsoar"
},
"reviewers": [
{
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"displayName": "XSOAR User 1",
"hasDeclined": false,
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"isFlagged": false,
"reviewerUrl": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70/reviewers/XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX",
"vote": 0
}
],
"sourceRefName": "refs/heads/test-test",
"status": "active",
"supportsIterations": true,
"targetRefName": "refs/heads/main",
"title": "Test xsoar",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/pullRequests/70"
}
}
}

Human Readable Output#

Pull Request Information:#

TitleDescriptionCreated ByPull Request IdRepository NameRepository IdProject NameProject IdCreation Date
Test xsoarDemo prXSOAR User 170xsoarXXXXxsoarxsoar-project2021-11-30T08:56:55

azure-devops-pipeline-run-get#


Retrieve information for a pipeline run.

Base Command#

azure-devops-pipeline-run-get

Input#

Argument NameDescriptionRequired
projectThe name of the project.Required
pipeline_idThe ID of the pipeline to retrieve.Required
run_idThe ID of the pipeline run to retrieve.Required
scheduledIndicates if the command was scheduled. Possible values are: True, False. Default is False.Optional
intervalIndicates how long to wait between command execution (in seconds) when 'polling' argument is true. Minimum value is 10 seconds. Default is 30.Optional
timeoutIndicates the time in seconds until the polling sequence timeouts. Default is 60.Optional

Context Output#

PathTypeDescription
AzureDevOps.PipelineRun.projectStringThe name of the project.
AzureDevOps.PipelineRun.pipeline.idNumberThe ID of the pipeline.
AzureDevOps.PipelineRun.pipeline.nameStringPipeline repository name.
AzureDevOps.PipelineRun.stateStringThe run state.
AzureDevOps.PipelineRun.createdDateDateThe run creation date, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2022 would be: "2022-01-01T00:00:00Z".
AzureDevOps.PipelineRun.run_idNumberThe ID of the run.
AzureDevOps.PipelineRun.nameStringThe name of the run.
AzureDevOps.PipelineRun.resultStringThe result of the pipeline running. If the run is in progress, the default value is 'unknown'.

Command Example#

!azure-devops-pipeline-run-get project="xsoar" pipeline_id="1" run_id="114"

Context Example#

{
"AzureDevOps": {
"PipelineRun": {
"_links": {
"pipeline": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1?revision=1"
},
"pipeline.web": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_build/definition?definitionId=1"
},
"self": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1/runs/114"
},
"web": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_build/results?buildId=114"
}
},
"createdDate": "2021-11-07T08:09:03.592213+00:00",
"finishedDate": "2021-11-07T08:09:28.3447367Z",
"name": "20211107.1",
"pipeline": {
"folder": "\\",
"id": 1,
"name": "xsoar",
"revision": 1,
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1?revision=1"
},
"project": "xsoar",
"resources": {
"repositories": {
"self": {
"refName": "refs/heads/main",
"repository": {
"id": "XXXX",
"type": "azureReposGit"
},
"version": "2eca089fab76f1f32051d188653ea7d279b90a4b"
}
}
},
"result": "failed",
"run_id": 114,
"state": "completed",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1/runs/114"
}
}
}

Human Readable Output#

Pipeline Run Information:#

Pipeline IdRun StateCreation DateRun IdResult
1completed2021-11-07T08:09:03.592213+00:00114failed

azure-devops-pipeline-run-list#


Retrieve pipeline runs list. The command retrieves up to the top 10000 runs for a particular pipeline.

Base Command#

azure-devops-pipeline-run-list

Input#

Argument NameDescriptionRequired
projectThe name of the organization project.Required
pageThe page number of the results to retrieve. Minimum value is 1. Default is 1.Optional
limitThe number of results to retrieve. Minimum value is 1. Default is 50.Optional
pipeline_idThe ID of the pipeline which the runs belongs to.Required

Context Output#

PathTypeDescription
AzureDevOps.PipelineRun.projectStringThe name of the project.
AzureDevOps.PipelineRun.pipeline.idNumberThe ID of the pipeline.
AzureDevOps.PipelineRun.pipeline.nameStringPipeline repository name
AzureDevOps.PipelineRun.stateStringThe run state.
AzureDevOps.PipelineRun.createdDateDateThe run creation date, using ISO 8601 format in UTC time. For example, midnight UTC on Jan 1, 2022 would be: "2022-01-01T00:00:00Z".
AzureDevOps.PipelineRun.run_idNumberThe ID of the run.
AzureDevOps.PipelineRun.nameStringThe name of the run.
AzureDevOps.PipelineRun.resultStringThe result of the pipeline running. If the run is in progress, the default value is 'unknown'.

Command Example#

!azure-devops-pipeline-run-list project="xsoar" page="1" limit="1" pipeline_id="1"

Context Example#

{
"AzureDevOps": {
"PipelineRun": {
"_links": {
"pipeline": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1?revision=1"
},
"pipeline.web": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_build/definition?definitionId=1"
},
"self": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1/runs/1154"
},
"web": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_build/results?buildId=1154"
}
},
"createdDate": "2021-11-30T08:57:03.110121+00:00",
"name": "20211130.1",
"pipeline": {
"folder": "\\",
"id": 1,
"name": "xsoar",
"revision": 1,
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1?revision=1"
},
"project": "xsoar",
"result": "unknown",
"run_id": 1154,
"state": "inProgress",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/1/runs/1154"
}
}
}

Human Readable Output#

Pipeline runs List:#

Current page size: 1 Showing page 1 out others that may exist. |Pipeline Id|Run State|Creation Date|Run Id|Result| |---|---|---|---|---| | 1 | inProgress | 2021-11-30T08:57:03.110121+00:00 | 1154 | unknown |

azure-devops-pipeline-list#


Retrieve project pipelines list.

Base Command#

azure-devops-pipeline-list

Input#

Argument NameDescriptionRequired
projectThe name of the organization project.Required
pageThe page number of the results to retrieve. Minimum value is 1. Default is 1.Optional
limitThe number of results to retrieve. Minimum value is 1. Default is 50.Optional

Context Output#

PathTypeDescription
AzureDevOps.Pipeline.projectStringThe name of the project.
AzureDevOps.Pipeline.idNumberThe ID of the pipeline.
AzureDevOps.Pipeline.revisionNumberPipeline revision number.
AzureDevOps.Pipeline.nameStringPipeline name.
AzureDevOps.Pipeline.folderStringPipeline folder.

Command Example#

!azure-devops-pipeline-list project="xsoar" page="1" limit="1"

Context Example#

{
"AzureDevOps": {
"Pipeline": {
"_links": {
"self": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/2?revision=1"
},
"web": {
"href": "https://dev.azure.com/xsoar-organization/xsoar-project/_build/definition?definitionId=2"
}
},
"folder": "\\",
"id": 2,
"name": "xsoar (1)",
"project": "xsoar",
"revision": 1,
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/pipelines/2?revision=1"
}
}
}

Human Readable Output#

Pipelines List:#

Current page size: 1 Showing page 1 out others that may exist. |Id|Name|Revision|Folder| |---|---|---|---| | 2 | xsoar (1) | 1 | \ |

azure-devops-branch-list#


Retrieve repository branches list.

Base Command#

azure-devops-branch-list

Input#

Argument NameDescriptionRequired
projectThe name of the organization project.Required
repositoryThe name of the project repository.Required
pageThe page number of the results to retrieve. Minimum value is 1. Default is 1.Optional
limitThe number of results to retrieve. Minimum value is 1. Default is 50.Optional

Context Output#

PathTypeDescription
AzureDevOps.Branch.projectStringThe name of the project.
AzureDevOps.Branch.repositoryStringThe name of the repository.
AzureDevOps.Branch.nameStringThe name of the branch.

Command Example#

!azure-devops-branch-list project="xsoar" repository="xsoar" page="1" limit="1"

Context Example#

{
"AzureDevOps": {
"Branch": {
"creator": {
"_links": {
"avatar": {
"href": "https://dev.azure.com/xsoar-organization/_apis/GraphProfile/MemberAvatars/aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5"
}
},
"descriptor": "aad.ZWFlMjk2ZGYtMzYwOS03YWY3LWFkNzMtYzNlYmRhZDM3ZmQ5",
"displayName": "XSOAR User 1",
"id": "XXXX",
"imageUrl": "https://dev.azure.com/xsoar-organization/_api/_common/identityImage?id=XXXX",
"uniqueName": "user2@xsoar.com",
"url": "https://vssps.visualstudio.com/XXXX/_apis/Identities/XXXX"
},
"name": "refs/heads/main",
"objectId": "2eca089fab76f1f32051d188653ea7d279b90a4b",
"project": "xsoar",
"repository": "xsoar",
"url": "https://dev.azure.com/xsoar-organization/xsoar-project/_apis/git/repositories/XXXX/refs?filter=heads%2Fmain"
}
}
}

Human Readable Output#

Branches List:#

Current page size: 1 Showing page 1 out others that may exist. |Name| |---| | refs/heads/main |

Incident Mirroring#

You can enable incident mirroring between Cortex XSOAR incidents and AzureDevOps corresponding events (available from Cortex XSOAR version 6.0.0). To set up the mirroring:

  1. Enable Fetching incidents in your instance configuration.

Newly fetched incidents will be mirrored in the chosen direction. However, this selection does not affect existing incidents. Important Note: To ensure the mirroring works as expected, mappers are required, both for incoming and outgoing, to map the expected fields in Cortex XSOAR and AzureDevOps.