0
votes

I am running JIRA 6.1 and I'm trying to use the API to create a new project. Since JIRA 6.1's Rest API doesn't support creating a project I'm using the Soap API.

Note I'm doing this using the Atlassian .net SDK, but I imagine the solution is irrelevant to that.

I have managed to create the project no problem, but I am now trying to set the following schemes in the project

  • Issue Type
  • Workflow
  • Screens

As far as I can tell the 6.1 Soap API (and the 7 Rest API) doesn't actually allow you to modify these schemes, only allowing you to set the Permission, Security and Notification schemes - https://docs.atlassian.com/jira/REST/latest/#api/2/project-createProject

Is that the case or am I missing something?

If it is possible to set the scheme's I want, does anyone have any examples I could base my work off?

Thanks

3

3 Answers

0
votes

Got an answer from Atlassian support, and as I suspected this isn't possible.

No, you're correct, the SOAP and REST APIs do not have those functions.

You're going to need to write type-2 add-ons to provide the functions you need if you're going to do this remotely, but with the caveat that if you're willing to do that, you will probably find it a lot easier to simply write add-ons that do all the work instead of just providing the external hooks. (Let's put it this way - I was able to code post-functions to create an entire customised project for JIRA 4 in a couple of days. Versus a week to add a single SOAP call for feeding back some simple user data)

I won't mutter too much about using SOAP - I'm assuming you know it's dead, gone and mostly pointless to code for

Of course, there is the CLI plug-in which I think I'd be silly to ignore

JIRA Command Line Interface (CLI) support this for 6.1 through 7.0 including setting schemes that are not supported by SOAP or REST except for screens. See the createProject action for details of what is supported.

0
votes

Starting from Jira 7.0.0, we can use Create project REST API [POST /rest/api/2/project] which also allows setting following schemes while creating the project,

  1. issueSecurityScheme
  2. permissionScheme
  3. notificationScheme
  4. workflowSchemeId

Sample Request Payload:

{
    "key": "EX",
    "name": "Example",
    "projectTypeKey": "business",
    "projectTemplateKey": "com.atlassian.jira-core-project-templates:jira-core-project-management",
    "description": "Example Project description",
    "lead": "Charlie",
    "url": "http://atlassian.com",
    "assigneeType": "PROJECT_LEAD",
    "avatarId": 10200,
    "issueSecurityScheme": 10001,
    "permissionScheme": 10011,
    "notificationScheme": 10021,
    "workflowSchemeId": 10031,
    "categoryId": 10120
}

For issuetype and screen schemes, there is no such parameter available which can be set using the above create project rest api.

You can also try to use the following Rest endpoint to create jira project using shared configuration which will allow you to reuse all schemes which are present in the template project.

/rest/project-templates/1.0/createshared/{{projectid}}

More information on the Jira rest API can be found at https://docs.atlassian.com/software/jira/docs/api/REST/8.9.0/#api/2/project-createProject

0
votes

You can try the following curl request for creating jira project

    curl -D- \
    -u admin:sphere \
    -X POST \
    -H "X-Atlassian-Token: nocheck" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    "http://localhost:port/rest/project-templates/1.0/templates?projectTemplateWebItemKey=com.atlassian.jira-legacy-project-templates%3Ajira-blank-item&projectTemplateModuleKey=com.atlassian.jira-legacy-project-templates%3Ajira-blank-item&name=SECOND+Create+from+REST+API&key=CFRAPI&lead=admin&keyEdited=false"